Grub Recuperando_reinstalando_instalando "a lo bestia"

Imagen de walbel
0 puntos

Hola buenas
Esto que sigue a continuación no pretende ser un tutorial apenas una simple ayuda de como reparar el grub a "lo bestia".
Tengo en mi disco duro tres particiones, la primera con W7, la segunda con ubuntu 9.10 y la tercera con el 9.04. Los problemas comenzaron cuando actualice al 9.10 desde la segunda partición. No se cual es la causa, pero en cada actualización me modifica la lista del menú del grub apareciendo diferentes kernel a los que tengo instalados con los consecuentes problemas de arranque, es decir, si no es el kernel correcto difícilmente pueda arrancar el s.o. y produciendo el consecuente cuelgue del ordenador. Normalmente tiempo atrás lo solucionaba con reinstalar el s.o., perdiendo la mayoría de programas instalados y de archivos personales. pero esta vez dije NO! no me puedo resignar a perder todo o casi todo por ignorancia.
Así que comencé a googlear... y probé todo lo sugerido, instale el grub2 en la tercera partición, (mismo resultado, ponía kernel inexistentes) intente editar el archivo de arranque "sudo gedit /boot/grub/grub.cfg" no me resulto, probé innumerables comandos en el terminal... reinstale el grub1 desde un live cd , mismo resultado. error, error error.

Después de casi 14 horas pegado al ordenador y de innumerables pruebas descubrí que la solución era mas simple de lo que suponía. allá vamos.

Primer paso:
Reinstalar o instalar grub1 (me decidí por grub1 porque me resulto mas sencillo de entender)

Arrancamos el ordenador con un live cd. o memoria usb, (utilice ubuntu 9.04 por tener el grub1 por defecto y utilice una memoria-usb por resultarme mas confiable).
Después de arrancar s.o. vamos a "Aplicaciones_Accesorios_terminal"
ejecutamos en el terminal

* sudo grub (Para entrar en modo grub.)

* find /boot/grub/stage1 (Esto buscará la partición de arranque. Nos dará un resultado el cual tenemos que copiar para el siguiente comando.)
-Tened en cuenta que si tenéis varios s.o. en un mismo disco con varias particiones, el comando anterior nos devolverá algo parecido a esto:

hd0,1
hd0,4

donde en mi caso, hd0,1 es ubuntu 9.10 (otrora mi primer amor el kubuntu 7.04)
y hd0,4 ubuntu 9.04.

* root (hd0,0) (Reemplaza hd0,0 por el valor obtenido en el comando anterior.)

que significa que elegiremos el s.o. que arrancara por defecto en el menú del grub. si quisiera arrancar con el ubuntu 9.04 pondría en el terminal
* root (hd0,4)
pero como quiero arrancar con el 9.10 pondré en el terminal

* root (hd0,1)

* setup (hd0) (Esto instalará el grub.)

* quit (Para salir.)

Ya tenemos instalado con este primer paso el nuevo grub1.
Quizás muchos con este primer paso ya tengan solucionado su problema de grub pero en mi caso he tenido que dedicar muchas horas para llegar a una solución ya que como he dicho antes me aparecen kernel inexistentes en el menú de arranque, ejemplo cuando solo tenia en la partición (hd0,1) el kernel 2.6.31.14 y el kernel 2.6.28.16, me aparecía en el menú, "ubuntu 9.04 2.6.28.11" quizás algún entendido pueda explicar porque razón aparece un kernel inexistente para arrancar.
Bueno, ahora comienza la parte un poquitin mas compleja. Sin apagar o reiniciar el ordenador seguimos en la "live-session-user".

Segundo paso: editar "menu.lst"

Después de instalar el grub1 montamos la partición donde fue instalado el grub mediante el navegador de archivos nautilus de la siguiente manera:
"Lugares_Soporte de ..." depende del tamaño de la partición el nombre, es decir, si la partición en la que tienes el s.o. instalado es de 40gb el nombre de la partición sera, "Soporte de 40,0 Gib".
Montada la partición y estando absolutamente seguros que es la partición buscada nos dirigimos a la carpeta "boot" dentro de "Soporte de 40,0 Gib" (media/disk/boot) allí podremos ver los kernel instalados, le damos al botón derecho del ratón y ponemos "Organizar los elementos_ Por tipo" entonces nos quedara la carpeta ordenada de manera que veremos los kernel instalados y no nos confundiremos con los archivos. En mi caso como tengo dos kernel veré lo siguiente:
una carpeta *** grub ***
dos archivos *** "x-gzip" initrd.img-2.6.28-16-generic
initrd.img-2.6.31-14-generic

un archivo *** memtest86+.bin
dos archivos *** vmlinuz-2.6.28-16-generic
vmlinuz-2.6.31-14-generic

(estos cinco primeros son los que mas nos interesa)

dos archivos *** abi-2.6.28-16-generic ** abi-2.6.31-14-generic
dos archivos *** config-2.6.28-16-generic ** config-2.6.31-14-generic
dos archivos *** System.map-2.6.28-16-generic **System.map-2.6.31-14-generic
dos archivos *** vmcoreinfo-2.6.28-16-generic **vmcoreinfo-2.6.31-14-generic
*********
Ya sabiendo los kernel que tenemos instalados continuamos navegando en la carpeta "boot" hacia la carpeta "grub" donde buscaremos el archivo "menu.list" haremos doble click en el y se nos abrirá el editor de texto que miraremos con mucha calma y sin asustarnos :)
En la linea 133 . comenzaremos a corroborar si el arranque es con el kernel deseado.

title Ubuntu 9.10, kernel 2.6.31-14-generic
uuid b8d304d1-8d83-4267-b69e-c7cb7417fa00
kernel /boot/vmlinuz-2.6.31-14-generic root=UUID=b8d304d1-8d83-4267-b69e-c7cb7417fa00 ro quiet splash
initrd /boot/initrd.img-2.6.31-14-generic
quiet

(En este caso ya ha sido corregido por tanto esta correcto.
pero cuando me decidí a tocarlo por primera vez ponía como ya he comentado ubuntu 9.04 kernel 2.6.27.11-generic)(???)

continuamos bajando hacia la linea 139.
title Ubuntu 9.10, kernel 2.6.31-14-generic (recovery mode)
uuid b8d304d1-8d83-4267-b69e-c7cb7417fa00
kernel /boot/vmlinuz-2.6.31-14-generic root=UUID=b8d304d1-8d83-4267-b69e-c7cb7417fa00 ro single
initrd /boot/initrd.img-2.6.31-14-generic

y en la linea 144
title Ubuntu 9.04, kernel 2.6.28-16-generic
uuid b8d304d1-8d83-4267-b69e-c7cb7417fa00
kernel /boot/vmlinuz-2.6.28-16-generic root=UUID=b8d304d1-8d83-4267-b69e-c7cb7417fa00 ro quiet splash
initrd /boot/initrd.img-2.6.28-16-generic
quiet

(Segunda opción de arranque en el menu del grub)
y así sucesivamente hasta el final observando que todo se corresponda con los kernel instalados en nuestro s.o.
De estar todo correcto, cerramos todas las ventanas y reiniciamos el ordenador que arrancara con el nuevo grub y sin problemas.

De no estar correctos los kernel simplemente tendremos que modificarlos
con muchísimo cuidado de no cambiar nada mas que la numeración de los kernel
para ello hacemos los siguiente:
navegamos de la misma manera que hasta ahora con nautilus pero lo ejecutamos en una terminal con el siguiente comando : sudo nautilus
se nos abrirá el navegador de archivos con privilegios de root . vuelvo a reiterar que tened mucho cuidado de modificar solo lo que necesitamos modificar pues un error puede romper irremediablemente el s.o.
hacemos lo mismo que antes vamos a la partición (media/disk/boot) abrimos la carpeta boot y hacemos doble click en el "menu.lst" se nos abrirá el editor de texto pero esta vez se puede modificar el contenido.
Si tenéis dudas podéis hacer una copia de respaldo del menu.lst
a la manera tradicional :

$ sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.backup

Luego, para restaurar la copia de seguridad, hacemos lo siguiente:

$ sudo cp /boot/grub/menu.lst.backup /boot/grub/menu.lst

o a la manera "a lo bestia":
pinchamos el archivo con el puntero del ratón, botón derecho, copiar, y pegar en una carpeta que sepamos que no lo vamos a perder, luego lo renombramos, ejemplo, "menu.lst backup" para recuperarlo, hacemos doble click en el archivo (siempre con privilegios de root) seleccionar, copiar y pegar en el archivo abierto de menu.lst.

continuamos...

Vamos a la linea 133 y allí comenzamos a modificar solo la numeración del kernel que corresponde a nuestro kernel deseado.
Terminada la operación cerramos el editor nos preguntara si queremos guardar los cambios los guardamos. cerramos todo. Apagamos el ordenador o reiniciamos y aleluya!!! menu del grub perfecto! bueno si, un poquitin feúcho pero se puede modificar el aspecto siguiendo algún tutorial de como poner imágenes etc. etc. etc.

http://www.guia-ubuntu.org/index.php?title=GRUB

Espero que este lo suficientemente claro y espero que le sirva a alguien mi experiencia.

UN SALUDO