En ocasiones cuando formateas una partición donde tenias Linux o instalas Windows despues de Linux, el menú grub deja de funcionar. Con esta entrada solucionaremos este problema sin necesidad de usar un LiveCD para recuperarlo.
En esos problemas nos deja en un prompt de la consola de rescate de GRUB:
grub rescue
Para poder solucionar el problema, primero accedemos a la lista de particiones disponibles:
ls
El comando anterior nos mostrará las particiones que hay disponibles:
(hd0) (hd0,1) (hd1) (hd1,1) (hd1,5) (hd2) (hd2,1) (hd3) (hd3,1)
Ahora tan solo hay que averiguar en qué partición se encuentra la carpeta
/boot/grub, con todos los datos necesarios para arrancar. Solo hay que ir haciendo "ls" para cada partición:
ls (hd1,1)/
IMPORTANTE: No hay que olvidarse de la barra / del final!!
Cuando descubramos donde se encuentra la carpeta boot, añadimos el prefijo correspondiente para que GRUB sepa dónde esta:
set prefix=(hd1,1)/boot/grub
IMPORTANTE: No olvides cambiar (hd1,1) por la partición adecuada en tu caso.
Después escribimos el siguiente comando:
insmod (hd1,1)/boot/grub/linux.mod
Configuramos la partición root:
set root=(hd1,1)
Cargamos la imagen del kernel de linux:
linux /boot/vmlinuz-2.6.32-23-generic root=/dev/sdb1
Si no sabemos que versión del kernel tenemos tenemos instalado, podemos ejecutar el comando "ls" en el directorio boot para averiguarlo. 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 solamente falta cargar el kernel:
initrd /initrd.img
Reiniciamos:
boot
Y ya dentro del sistema es recomendable que reinstalemos GRUB para evitar este error en la próxima carga:
grub-install /dev/sdb
visto en usemoslinux