Método alternativo para la restauración de GRUB con una distro LiveCD.

Existen varios métodos para la restauración de GRUB en un disco duro, los más comunes documentados en doc.ubuntu.org son: con el disco de recuperación SuperGrub; con una LiveCD montando la particion sincronizada con /dev/ e instalar; y por último con la consola de grub, que resulta un poco engorrosa. Existe un cuarto método que es el que solemos usar en distro, que a mi juicio es el más fácil. Arrancamos una live y...
# En primer lugar comprobamos cuántos discos tenemos y cuál de todos ellos se corresponde con nuestra raíz.
~$ ls -l /dev/hd* 
ls: no se puede acceder a /dev/hd*: No existe el fichero ó directorio 
# Esta salida nos indica que no tenemos ningún disco duro IDE en nuestro ordenador.
~$ ls -l /dev/sd*
brw-rw---- 1 root disk 8, 0 2008-09-13 22:49 /dev/sda
brw-rw---- 1 root disk 8, 1 2008-09-13 22:49 /dev/sda1
brw-rw---- 1 root disk 8, 2 2008-09-13 22:49 /dev/sda2
brw-rw---- 1 root disk 8, 16 2008-09-13 22:49 /dev/sdb
brw-rw---- 1 root disk 8, 17 2008-09-13 22:48 /dev/sdb1
 
# Vamos a suponer que la partición que se corresponde con  nuestra raíz es sda1. Montamos la partición en /mnt
~$ sudo mount /dev/sda1 /mnt
 
# Comprobamos que no nos hemos equivocado viendo el contenido
~$ ls /mnt
bin    dev   initrd.img      lost+found  opt   sbin  tmp  vmlinuz
boot   etc   initrd.img.old  media       proc  srv   usr  vmlinuz.old
cdrom  home  lib             mnt         root  sys   var
 
# Instalamos GRUB
~$ sudo grub-install --root-directory=/mnt --no-floppy --recheck /dev/sda
 
 
Probing devices to guess BIOS drives. This may take a long time.
Installation finished. No error reported.
This is the contents of the device map //boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.
 
(fd0) /dev/fd0
(hd0) /dev/sda
 
# El parámetro --no-floppy se le pasa si no tenemos disquetera, aunque si se omite no pasa nada. Los importantes son --root-directory donde le indicamos dónde se encuentra el directorio boot en el que queremos instalar y --recheck que comprueba los mapeos de los discos.
# Cuando reiniciemos grub debería funcionar con total normalidad.
# Es importante NO poner una partición en concreto (/dev/sda1), sino el dispositivo (/dev/sda) puesto que si ponemos una partición y tenemos un windows en sda1, machacará el sector de arranque y no se podrá iniciar ese sistema.
Lenguaje: 
bash
Tags: