Cómo recuperar Grub 2 sin utilizar un live cd
A veces, GRUB 2, el gestor de arranque que viene por defecto con muchas distribuciones Linux, deja de funcionar. Gran parte de las veces deja de funcionar porque por alguna razón intenta arrancar desde un dispositivo erróneo o que no existe, debido a una mala configuración del programa. Aquí presentamos un breve tuto para solucionar este problema sin necesidad de utilizar un livecd para realizar el rescate. |
En esos casos nos deja en un prompt de la consola de rescate de GRUB.
grub rescue
Puede parecer un poco complicado pero es sencillo y te puede salvar más de una vez. Primero accedé a la lista de particiones disponibles:
ls
Este comando mostrara las particiones disponibles, asi:
(hd0) (hd0,1) (hd1) (hd1,1) (hd1,5) (hd2) (hd2,1) (hd3) (hd3,1)
Ahora hay que descubrir qué partición contiene la carpeta /boot/grub, con todos los datos necesarios para arrancar. Para ello, bastara con ir haciendo un "ls" para cada una de las particiones, así:
ls (hd1,1)/
... lo mismo cabe para el resto de las particiones.
¡No te olvides de la barra / al final!
Una vez descubierta la partición en la que se encuentra la carpeta boot, añadimos el prefijo correspondiente para que GRUB sepa dónde se encuentra:
set prefix=(hd1,1)/boot/grub
No olvides cambiar (hd1,1) por la partición adecuada en tu caso.
Finalmente, ingresá el siguiente comando:
insmod (hd1,1)/boot/grub/linux.mod
Configurá la partición root:
set root=(hd1,1)
Cargá la imagen del kernel Linux:
linux /boot/vmlinuz-2.6.32-23-generic root=/dev/sdb1
Si no sabés qué versión del kernel tenés instalado, podés ejecutar el comando "ls" en el directorio boot para descubrirlo.
La nomenclatura del punto de montaje sdb1, viene dada por el nombre de la partición: (hd1,1) es sdb1, del mismo modo que (hd0,2) sería: sda2.
Ahora falta cargar el kernel:
initrd /initrd.img
Y, finalmente, podés reiniciar:
boot
Una vez dentro del sistema, es recomendable reinstalar GRUB para evitar este error en la próxima carga:
grub-install /dev/sdb
Fuente: Quimateur