21 julio 2016

Guardar y Restaurar el MBR con DD

En ocasiones el MBR (Master Boot Record) del disco rigido puede corromperse, lo cual puede provocar que la computadora deje de arrancar, o que sea necesario reformatear el disco rigido, con lo cual puede perderse información importante. Afortunadamente, hay una manera fácil de tomar precauciones para solucionar tal eventualidad con el comando dd.

Guardar
Como la información del MBR se encuentra en los primeros 512 bytes del disco, asumiendo que por ejemplo este sea reconocido como /dev/sda, podremos guardar la información del MBR en un archivo con el siguiente comando:

[root@gostir ~]# dd if=/dev/sda of=/home/usuario/SalvaMBR.bin bs=512 count=1

Restaurar
Para restaurar posteriormente la información de la salva en el MBR, ejecutamos nuevamente el comando dd, pero invirtiendo los parámetros de entrada y salida:

[root@gostir ~]# dd if=/home/usuario/SalvaMBR.bin of=/dev/sda bs=512 count=1

(En este caso no es imprescindible especificar el tamaño del bloque ni la cantidad de ellos porque se escribiría toda la información, asi que estos dos últimos parámetros podrían eliminarse)

Otros usos
De los 512 bytes que ocupa el MBR, la información sobre el sector de arranque se encuentra en el área de código, que está en los primeros 446 bytes, por lo que este truco también puede utilizarse por ejemplo para restaurar solamente un sector de arranque dañado por una reinstalación de Windows que sobreescribe el GRUB. Para esto solo tendríamos que ejecutar este comando:

[root@gostir ~]# dd if=/home/usuario/SalvaMBR.bin of=/dev/sda bs=446 count=1

Si por algún motivo necesitamos limpiar completamente el MBR, también podemos hacerlo con un comando como este:

[root@gostir ~]# dd if=/dev/zero of=/dev/sda bs=446 count=1

Naturalmente, en este caso, si el MBR contenía el gestor de arranque de un sistema operativo, probablemente será necesario reinstalarlo.

Nota
Evidentemente, es preferible almacenar la información del MBR en otro dispositivo diferente al propio disco del cual estamos haciendo una salva, como por ejemplo una memoria flash, de lo contrario podríamos quedarnos sin poder acceder al archivo de salva, incluso desde un LiveCD.

Basado en: http://gutl.jovenclub.cu/wiki/doku.php?id=tutoriales:dd_mbr