Delirios de un Informático

Delirando sobre informática, fotografía, programación, móviles y mucho más desde 2003

Restaurar sistema de arranque dual Linux-Windows

votar
Archivado en Linux con fecha 31/Ene/2005 - 12 comentarios
Ver en Bitacoras.com - Etiquetado con: , , ,

El tener un arranque dual Linux-Windows es muy cómodo pero si por cualquier problema (generalmente provocado por tener que reinstalar Windows) el arranque deja de funcionar puede ser engorroso recuperarlo y hasta peligroso de no hacerse bien.
Necesitaremos el CD de Windows (a sea Windows 2000, 2003 o XP) y cualquier distribución live como Knoppix o Ubuntu. También hay que tener en cuenta que las particións debían estar definidas antes de la instalación de Windows, ya que si no se restaurará la tabla de particiones de cuando se instaló perdiendo el resto.
Arrancaremos con el CD de Windows y pulsaremos R para acceder a la consola de recuperación. Allí aparecerá una lista con las versiones de Windows instaladas. De haber más de una mejor es elegir la última instalada. Una vez en la consola ejecutaremos por este orden:

fixmbr
fixboot
bootcfg /rebuild

Esto restaurará el Master Boot Record original e instalará y configurará el gestor de arranque de Windows que, como no podía ser de otra manera, pasará de la instalación de Linux.
Ahora hay que arrancar con el CD de la distribución live (yo explico para Knoppix) y ejecutar en una consola:

sudo mkdir /mnt/temp
sudo mount /dev/hdaX /mnt/temp
sudo chroot /mnt/temp
sudo grub-install /dev/hda
sudo umount /mnt/temp

Con estos comandos lo que se hace es montar la partición de Linux en un directorio temporal y luego cambiar de partición con chroot para así poder ejecutar cualquier comando de la instalación del disco duro y finalmente reinstalar Grub. Evidentemente habrá que sustituir /dev/hdaX por la partición en la que se encuentra la instalación de Linux.
Finalmente, para evitar futuros problemas, haremos una copia de seguridad del MBR:

dd if=/dev/hda of=hda.mbr bs=512 count=1

Guardaremos el archivo hda.mbr en un lugar seguro para luego poderlo restaurar con este comando:

dd if=hda.mbr of=/dev/hda bs=512 count=1

Delirios de un Informático :: Gestionado con WordPress :: Alojado en Bitacoras.com :: Licenciado bajo Creative Commons