¿Reparar el GRUB 1?


Si te instalas de cero la nueva versión de Ubuntu 9.10, verás que la configuración del GRUB no se realiza ya a través del menu.lst. Esto es porque han migrado a la nueva versión del GRUB (GRUB2).

Esta entrada va dedicada para aquellos que siguen utilizando la versión 1 del GRUB. Bien porque hayan actualizado su Ubuntu desde una versión anterior y hayan conservado la versión del GRUB, bien porque no les guste la nueva versión. O porque utilizáis una distribución de linux que sigue utilizando GRUB 1.


Si haciendo cosas raras con vuestro ordenador se os ocurre instalar
más de un SO, entre ellos un Ubuntu, por ejemplo, puede que tarde o temprano acabéis perdiendo el arranque de alguna de las particiones. Pero no pasa nada, que no cunda el pánico!!! Vuestro amigo el GRUB os puede ayudar.


Vamos a suponer que tenemos un disco duro (hda) con 4 particiones primarias (sda1, sda2, sda3, sda4) que es el máximo número de particiones primarias que podemos tener en un disco. Esto es para simplificar un poco el tema.
En sda1 tenemos Ubuntu, en sda2 swap en sda3 Windows, en sda4 datos en FAT 32
Hemos instalado un nuevo SO y se ha cargado el gestor de arranque que teníamos inicialmente en nuestro Ubuntu.

Afortunadamente disponemos del CD de Ubuntu (anterior a Karmic Koala, 9.10, para que tenga el GRUB1) y podemos arrancarlo en
modo live. También podemos entrar en modo live con un pendrive. O puede que tengamos una partición con otro Linux que podemos arrancar. Cualquiera de los tres casos es equivalente, ya que lo único que queremos es reparar el GRUB en una partición perdida.

Una vez que hemos conseguido arrancar un linux (live o partición) en nuestro ordenador tenemos que hacer lo siguiente:

Primero
montamos la partición en la que se encuentra nuestro ubuntu, por ejemplo yo he elegido para montarlo la carpeta /media/ubuntu
@>mount /dev/sda1 /media/ubuntu

Después le decimos al
GRUB que se instale en la carpeta boot del ubuntu
@>grub-install --root-directory=/media/ubuntu/boot /dev/hda

Con esto ya tenemos el gestor de arranque cargado en nuestra partición de ubuntu.
Puede que tengamos que
modificar el fichero /boot/grub/menu.lst Ya que la instrucción anterior no genera una nuevo. Seguramente tendrás uno de la instalación inicial y quizá algunas copias.


Aquí van algunos notas de como
agregar entradas al fichero menu.lst

Utilidades para añadir manualmente nuevas entradas al fichero /boot/grub/menu.lst
df -h --> Para ver el espacio disponible en la partición actual
fdisk -l --> Para ver la tabla de particiones de los discos
ls -l /dev/disk/by-uuid -->Para ver los UUID asignados a cada partición.

Por ejemplo yo tengo una distribución de Linux (Backtrack 4) en la partición extendida /dev/sda6. Esto sería la forma más sencilla de crear una entrada del grub

title Backtrack 4
root (hd0,5)
kernel /boot/vmlinuz-2.6.29.4 rw root=/dev/sda6
initrd /boot/initrd.img-2.6.29.4

title --> puedes poner lo que quieras es lo que mostrará el GRUB cuando arranque
root --> indica en qué partición está el SO. hd0 (el primer disco duro); 5 la sexta partición
kernel --> ruta al fichero del kernel que se ha de cargar
initrd --> si existe un fichero initrd pues se pone en esta línea (creo que tiene que ver con la carga de módulos)


Si en lugar de poner las rutas a las particiones (/dev/sdaX) queremos utilizar UUID. Entoces arrancamos la partición en la que está instalado el GRUB y ahí ejecutamos el siguiente comando que nos muestra los UUID asignados a cada partición:
@> ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root 10 2009-11-10 20:16 10f3ea77-9c79-4a86-ab3c-3b33a3d90bcb -> ../../sda1
lrwxrwxrwx 1 root root 10 2009-11-10 20:16 253E3CA067DE1273 -> ../../sda3
lrwxrwxrwx 1 root root 10 2009-11-10 20:16 8EC1-2066 -> ../../sda5
lrwxrwxrwx 1 root root 10 2009-11-10 20:16 986670b7-03bb-4c62-9012-76a614ff26ff -> ../../sda6
lrwxrwxrwx 1 root root 10 2009-11-10 20:16 ea4a082a-302e-4743-bea6-edb9947f57ab -> ../../sda2

Aquí edito la misma entrada que antes para Backtrack4 en el /dev/sda6 (Esto sería el tipo de entrada que veríais si se generase automáticamente con el GRUB)

title backtrack4 8.10, kernel 2.6.29.4
uuid 986670b7-03bb-4c62-9012-76a614ff26ff
kernel /boot/vmlinuz-2.6.29.4 root=UUID=986670b7-03bb-4c62-9012-76a614ff26ff ro quiet splash
initrd /boot/initrd.img-2.6.29.4
quiet

quiet --> se puede omitir, creo que lo que hace es mostrar la pantalla de carga de ubuntu en lugar de la salida dmesg.

0 comentarios:

Publicar un comentario