martes, 18 de noviembre de 2008

Iniciar Linux desde Grub en modo consola

Qué pasa si se borra o se daña menu.lst ?
Pasa que cuando inicias, arranca grub en modo consola: Minimal bash-like line editing
Grub espera que le des intrucciones para arrancar.
En esa consola pueden escribirse varios comandos, entre los cuales los mas importantes son:
help : lista todos los comandos
tecla TAB: tambien lista todos los comandos
configfile: este comando puede salvarte si es que hay una copia de resguardo de menu.lst
Por ejemplo:
configfile /boot/grub/menu.lst.bak

Ese comando arranca el sistema por el solo hecho de presionar la tecla enter luego de escribirlo

Pero qué pasa si no hay copia de resguardo?:
Los siguientes comandos son los que arrancan el sistema en ese caso:

1 root (hd0,0)
2 kernel /boot/vmlinuz* root=/dev/sda1
3 initrd /boot/initrd*
4 boot

Los numeré para comentarlos:
Desde el 1 hasta el 3 me los copie de la configuracion del menu.lst.
El problema es, en el caso mas general, encontrar el archivo /boot/vmlinuz*, ya que los nombres, si bien son genericos, dependen de la version del kernel, etc. Lo bueno es que la tecla "autocompletar", o sea tab, esta disponible y nos ayuda a escribir los nombres de archivo.
En la linea 2 el parametro root=/dev/sda1 es fundamental. Aqui el autocompletar no me sirvio pues, por algun motivo que no sé, hasta ese momento grub no es capaz de encontrar los dispositivos de discos. Será que le falta iniciar algun servicio. Sin embargo, generalmente es sda1, sda2, sdb1, etc. Sda1 es la particion 1 del disco a, sdb2 es la particion 2 del disco b, etc.
Si el parametro root no está en sda1 tambien hay que modificar el comando root (linea 1).

La tercera linea, no la ejecuté en las primeras pruebas y no tengo, por ahora la menor idea de qué hace (bueno sí, una idea sí). El hecho es que si no la cargo recibo insultos de un tal kernel panic.
La ultima linea arranca el sistema con los parametros que habiamos indicado antes.

Despues que arrancó pueden ejecutarse herramientas de reparacion, reconstruccion, regeneracion.
Para regenerar boot.lst:
update-grub

No hay comentarios: