martes, 2 de marzo de 2010

Restaurar GRUB después de reinstalar Windows

Llegó la hora de reinstalar Windows 7. Sabiendo lo que le iba a pasar al GRUB busqué en google cómo restaurarlo antes de empezar a formatear la partición con Windows 7. Esa búsqueda me llevó a Ubuntu.es, la wiki de Ubuntu, y varios blogs que trataban este mismo tema.

Aunque yo lo hice en Windows 7 el procedimiento aquí descripto también es válido para otras versiones de Windows.

Mi escenario

Windows en partición 1 (primaria)

Ubuntu en partición 2 (primaria)

boot en partición de Ubuntu

Este debería ser el escenario más común.

Arrancamos con el CD/DVD de Windows y formateamos la partición de Windows para luego hacer una instalación limpia. Esto inevitablemente reescribirá la MBR. Cuando terminamos de instalar Windows, reiniciamos pero esta vez arrancando con el Live CD de Ubuntu.

Una vez cargado el escritorio del Live CD de Ubuntu, vamos a Aplicaciones->Accesorios->Terminal. Y en la terminal tecleamos los siguientes comandos:

sudo -i
mount /dev/sda2 /mnt
grub-install --root-directory=/mnt/ /dev/sda

Con eso debería bastar. Ahora, si cuando intentamos arrancar el PC sin ningún CD booteable, y en vez de mostrarnos el menú de GRUB nos muestra la consola de GRUB, entonces volvemos a colocar el Live CD de Ubuntu y reiniciamos el PC.

Una vez cargado el escritorio del Live CD de Ubuntu, vamos a Aplicaciones->Accesorios->Terminal. Y en la terminal tecleamos los siguientes comandos.

sudo -i
mount /dev/sda2 /mnt
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt update-grub
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc
exit

Reiniciamos el equipo. Extraemos el lice CD, y ahora sí deberíamos ver el menú de arranque de GRUB, que nos permite elegir entre Windows y Ubuntu.

Si al arrancar el PC sólo vez la entrada de Windows 7 en el menú de arranque de GRUB y no aparece Ubuntu quiere decir que tu escenario no era el mismo que el mio. Probablemente tengas el directorio boot en otra partición que no es la misma que la de Ubuntu.

Para solucionar esto primero debes hallar dónde tienes el directorio boot. Arranca denuevo con el Live CD de Ubuntu y ve a Lugares->Equipo navega por las particiones y ubica dónde tienes el directorio boot. Si lo tienes en más de un lado el correcto es el que tiene más archivos en su interior. Para este ejemplo vamos a asumir que la boot está en la partición de Windows, sda1 en este caso. Lanzamos la terminal y tecleamos los siguientes comandos.

sudo -i
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot
grub-install --root-directory=/mnt/ /dev/sda

Y como ya dije antes, si al arrancar el pc normalmente aparece la consola de GRUB en lugar del menú de arranque entonces volvemos a arrancar con el Live CD de Ubuntu y en la terminal tecleamos:

sudo -i
mount /dev/sda2 /mnt
mount /dev/sda1 /mnt/boot
mount --bind /proc /mnt/proc
mount --bind /dev /mnt/dev
mount --bind /sys /mnt/sys
chroot /mnt update-grub
umount /mnt/sys
umount /mnt/dev
umount /mnt/proc
exit

Existe otra forma de volver a disponer de GRUB después de reinstalar Windows. Es usar GRUB para DOS. Pero este método no lo trataré en esta ocasión.

Referencias

http://www.guia-ubuntu.org/index.php?title=Recuperar_GRUB

http://www.ubuntugeek.com/how-to-restore-grub-boot-loader-after-installing-windows.html

0 comentarios:

Publicar un comentario