Leo una interesante entrada "Cómo recuperar Grub 2 sin utilizar un live cd" para cuando tenga un problema de este tipo, que no es raro.
Resumo y copio:
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.
Escribe 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 tienes 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, reiniciar:
>boot
Una vez dentro del sistema, es recomendable reinstalar GRUB para evitar este error en la próxima carga:
>grub-install /dev/sdb
Saludos