viernes, 11 de febrero de 2011

Reinstalar GRUB tras reinstalar Windows

Es muy normal que en tu equipo tengas instalado Linux y Windows y es muy normal que Windows se degrade y tengas que reinstalarlo mientras que Linux sigue funcionando correctamente. La reinstalación de Windows no respeta el MBR (Master Boot Record) existente, por lo que tendrás que regenerar el cargador de arranque para poder cargar Linux y Windows. Si no lo haces solo podrás arrancar Windows.

Deberás montar la partición en la que esté instalado Linux. Recuerda que las unidades de tu PC están en /dev y los discos duros serán hda, hdb, hdc o hdd (1º, 2º, 3º y 4º dispositivo IDE) o sda, sdb, sdc,... (1º, 2º, 3º,...etc dispositivo SATA). Cada disco tendrán x paticiones y se nombrarán con números. Así /dev/hda1 será la primera partición del primer disco IDE.


Usando una distribución Live grub2

Consiste en usar una distribución en modo LiveCD para instalar nuevamente el GRUB. Usaremos el LiveCD de Ubuntu 9.10 o superior (debe ser la versión Live o Desktop), aunque puede ser cualquier otra distribución que use GRUB2 como gestor de arranque y no LILO ni Grub 1.

Lo primero que debemos hacer es arrancar el live-cd y abrir una terminal. Despues escribimos los siguiente para ver las particiones de los distintos discos duros:

$ sudo fdisk -l

Después vemos cual es la partición donde tenemos Ubuntu y la montamos en /mnt (en la mayoría de los casos esta partición será sda1, el ejemplo lo haré con esa partición pero mira cual es tu partición con el comando fdisk):

$ sudo mount /dev/sda1 /mnt

Ahora, monta el resto de los dispositivos:

$ sudo mount --bind /dev /mnt/dev
$ sudo mount --bind /proc /mnt/proc

Y ejecuta el comando chroot de forma que accedemos como root al sistema de archivos de nuestro antiguo Ubuntu:

$ sudo chroot /mnt

Por último cargamos el Grub en el MBR ejecutando el siguiente comando:

# grub-install --recheck /dev/sda

(sda lo debemos substituir por el disco duro que utilizamos para arrancar los sistemas operativos, casi siempre es sda. Ojo!! no poner el número de partición, solo sda).

Reinicia y si todo fue bien ya estará GRUB cargado.

En mi caso, aquí comparto la terminal de la PC a la que tuve que recuperarle el GRUB.

ubuntu@ubuntu:~$
ubuntu@ubuntu:~$ sudo fdisk -l

Disco /dev/sda: 320.1 GB, 320072933376 bytes
255 cabezas, 63 sectores/pista, 38913 cilindros
Unidades = cilindros de 16065 * 512 = 8225280 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador de disco: 0x36a736a7

Dispositivo Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 * 1 13054 104856223+ 7 HPFS/NTFS
/dev/sda2 13055 15704 21279297 83 Linux
La partición 2 no termina en un límite de cilindro.
/dev/sda3 15704 16068 2928641 5 Extendida
La partición 3 no termina en un límite de cilindro.
/dev/sda4 16069 38913 183502462+ 7 HPFS/NTFS
/dev/sda5 15704 16068 2928640 82 Linux swap / Solaris
ubuntu@ubuntu:~$ sudo mount /dev/sda2 /mnt
ubuntu@ubuntu:~$ sudo mount --bind /dev /mnt/dev
ubuntu@ubuntu:~$ sudo mount --bind /proc /mnt/proc
ubuntu@ubuntu:~$ sudo chroot /mnt
root@ubuntu:/# grub-install --recheck /dev/sda
Installation finished. No error reported.
root@ubuntu:/#



Fuente: http://www.guia-ubuntu.org