Me he encontrado muchas veces en la situación de tener que arreglar un disco en un ordenador que no arranca usando una livecd para reinstalar grub, o también preparando discos arrancables para otras máquinas que por un motivo u otro no podían arrancar por sí solas.
Lo primero es localizar en el disco duro que queremos hacer arrancable /boot y montar la partición que lo contenga en, por ejemplo, /mnt/hdb1.
Si vamos a hacer una instalación limpia de grub porque nuestro sistema es nuevo, porque lo hemos perdido o simplemente porque nos mudamos de lilo a grub:
# grub-install /dev/hdb –root-directory=/mnt/hdb1
El primer parámetro de grub-install es el dispositivo en donde se instalará el MBR (Master Boot Record). El segundo parámetro es el directorio en el que se instalarán los archivos de grub.
Por defecto creará una carpeta llamada boot y se instalará dentro como grub. Si la partición montada no será la raiz de nuestro SO o si en nuestro linux queremos que ‘/boot’ sea una partición independiente de raiz deberíamos de mover el contenido de /boot (grub) a la raiz de la partición:
# mv /mnt/hdb1/boot/grub /mnt/hdb1
# rm /mnt/hdb1/boot
Si ya teniamos grub instalado (por ej, si existe la carpeta /boot/grub) no hace falta que hagamos lo anteriormente descrito.
En cambio si ya teníamos grub instalado en /boot recuperaremos nuestro preciado mbr desde la consola de grub:
grub> root (hd1,0)
grub> setup (hd1)
grub> quit
El comando ‘root’ le dice a grub en donde se encuentra la carpeta que contiene los archivos de grub que anteriormente instalamos. En este caso, estaban en hdb1 (disco esclavo del primer IDE, primera partición) por lo que el equivalente en el formato que grub utiliza sería (hd1,0) donde el previo a la coma es el disco duro físico y lo que va despues de la coma es la partición. Conviene recordar que en linux las particiones comienzan por 1 siendo 1 la primera y en el formato que grub utiliza las particiones comienzan por 0 siendo 0 la primera.
El comando ’setup’ le dice a grub que instale el MBR en el disco (hd1) que viene siendo ‘hdb’ basandose en los archivos que encontrará en la raiz que le especificamos en el primer comando (device.map).
El comando ‘quit’ simplemente sale de la consola de grub.
Con esto ya tendremos instalado grub, solo queda que cada uno se edite el menu.lst a su gusto.
Nota: Para recuperar un disco que no arrancaba porque había perdido el mbr bastará con seguir solamente el paso de la consola de grub.