[Howto] Recuperar el GRUB tras cagarla…

santang-rambo-tux-2036

Buenas,

el otro día estaba instalando una imagen de Debian en una compact-flash para el mini-pc que me compré hace tiempo (algún día hablaré de ello), y cuando iba a instalar el Grub la cagué, pa que voy a decir otra cosa, e instalé la configuración del del mini-PC en el MBR de mi portátil.

Resumiendo, cuando arrancaba el portátil, en vez de leer su , cargaba el de la compact-flash (CF en adelante, que se hace muy largo). Con esto, intentaba cargar el sistema instalado en la CF con los casques adecuados y la imposibilidad de arrancar el portátil para arreglarlo.

Afortunadamente, el propio menú de ofrece una especie de consola, con un pack limitado pero suficiente de comandos, que me permitieron solucionar el problema. También se podría haber arreglado con un live-cd, pero esta solución me parece óptima por que no siempre tendremos a mano un CD o USB con las herramientas adecuadas ^^.

Nota: las imágenes que posteo no son mías, no dispongos las del proceso ya que bastante tenía con arreglarlo. Estan son cortesía de google :) .

Al arrancar, como suele pasar, lo primero que vemos es el menú de :

grub-single-user-mode-select-kernel-763178

Si leemos bien lo que nos pone, sale algo así como que podemos pulsar “e” para editar el comando seleccionado, o “c” para abrir la consola. Pulsemos “c”:

grub

En ese momento veremos la consola de . Esta consola dispone de unos cuantos comandos, de los cuáles podemos ver una referencia aquí.

Muy bien, recapitulemos un poco. Antes de empezar a introducir comandos a lo loco, veamos cómo lo tenía, y cómo necesito que esté la configuración.

para arrancar necesita varias cosas, a saber (seguramente más, pero estas son las más importantes):

  • Partición/Disco desde el que arrancar.
  • Localización del núcleo del Sistema Operativo (en , fichero vmlinuz o zImage, por seguir los estándares).
  • Localización del disco RAM inicial, o también conocido como fichero initrd.

Luego le puedes indicar el fichero de menú, si quieres poner una imagen de arranque, vamos mariconeo de pantalla…

En el momento del desastre, yo había configurado (por error, claro 8-) ) el disco de arranque en la CF en lugar del disco duro primario (es decir, la CF stá en hd(1,0) y el HD está en hd(0,0), que es como yo lo quiero), y la localización del resto de elementos había cambiado. Bueno, en realidad el nombre y localización de disco, ya que la ruta coincide con /.

Para arreglarlo tuve que introducir estos comandos, que pusieron los parámetros como yo quería, y ahora el portátil rula como siempre:

root (hd0,0)
kernel /boot/vmlinuz root=/dev/sda1
initrd /boot/initrd
install /boot/grub/stage1 hd(0,0) /boot/grub/stage2 /boot/grub/menu.lst
boot

Básicamente:

  • root (hd0,0): indica que el disco raíz debe ser hd(0,0). Es la localización del disco que quiero usar. Dónde teno l disco de arranque del portátil.
  • kernel //vmlinuz root=/dev/sda1: dónde está el fichero del kernel. Cambia vmlinuz por el nombre real, puede estar seguido del número de versión del kernel.
  • initrd //initrd: localización del fichero iitrd.
  • install ///stage1 hd(0,0) ///stage2 ///menu.lst: instala y almacena en el MBR la información antes esecificada, de forma que cada vez que se arranque se utilice esta. Si no se realiza el install, esta configuración se usará solo esta vez.
  • : inicia el equipo con la configuración indicada.

Si no sabes la localización de un fichero, puedes usar el comando “find”.

Y ya está. Recuerda consultar la referencia de comandos de la consola de , indica anteriormente, así como adaptar los nombres de tus ficheros a los que tengas en tu equipo. Para saberlo, usa el comando anteriormente citado, find.

Un saludo

Related posts

Leido 101 veces
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)

Leave a comment

Your comment

Spam Protection by WP-SpamFree