03 7 / 2010

A veces, grub deja de funcionar: intenta arrancar desde un dispositivo que no existe o que no está configurado para ello.

En esos casos nos deja en un prompt de la consola de rescate de grub.

grub rescue>

Cada vez tengo más claro que la persona que hizo esta consola, es un jodido sádico hijodeputa: no le dió la gana de poner un comando de ayuda para saber la lista de comandos disponibles.

Venga, vamos a hacer que esto arranque:

Necesitamos ver la lista de particiones que tenemos disponibles

ls

Este comando nos mostrará todas las particiones que ha podido encontrar.

En mi caso: 

(hd0) (hd0,1) (hd1) (hd1,1) (hd1,5) (hd2) (hd2,1) (hd3) (hd3,1)

Ahora debemos saber cual de esas particiones contiene la carpeta /boot/grub, con todos los datos necesarios para arrancar, para ello, bastará con ir haciendo un “ls” para cada una de las particiones, tal que:

ls (hd1,1)/

* Ojo con la barra del final, dió por culo cosa mala, oiga

Una vez encontremos la partición correcta el “ls” nos devolverá un listado caracterísitico de carpetas, entre ellas la necesitada boot

Ahora hemos de añadir el prefijo:

set prefix=(hd1,1)/boot/grub

* Obviamente cambia el hd1,1 por hdX,Y según toque en tu caso, la carpeta grub no tiene porque estár debajo de boot.

Vale, ahora vamos a ampliar un poco los comandos que disponemos en la consola:

insmod (hd1,1)/boot/grub/linux.mod

Ahora sólo quedará:

Setear como root la partición

set root=(hd1,1)

Cargamos la imagen de linux

linux /boot/vmlinuz-2.6.32-23-generic root=/dev/sdb1

* Si no estamos seguros de que imagen cargar lo podemos comprobar con un “ls” del directorio boot

** 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,finally, podemos arrancar

boot

Una vez dentro del sistema, podremos reinstalar grub para evitar este error en la próxima carga

grub-install /dev/sdb

  1. mosj94 reblogged this from threep
  2. j054n reblogged this from threep and added:
    ls ls (hd0,msdos6)/ set root=(hd0,msdos6) ls / set prefix=(hd0,msdos6)/boot/grub insmod normal normal After reboot to...
  3. pocketnocoin reblogged this from threep
  4. faithfull-dreamer reblogged this from threep
  5. marramiau89 reblogged this from threep
  6. oscariot reblogged this from threep
  7. biremaz reblogged this from threep
  8. threep posted this