En el caso de que el cargador de
arranque GRUB sufra alguna contingencia, bien que desaparezca
al instalar o reinstalar un sistema operativo distinto a
GNU/Linux (por ejemplo Windows), bien porque debemos restaurar
un sistema completo desde las copias de seguridad, bien por
cualquier otra causa, estos son los pasos que debemos seguir
para recuperarlo.
Debemos utilizar una distribución LiveCD para instalar nuevamente GRUB en el sistema que lo ha perdido. Arrancamos el LiveCD, abrimos una terminal y tecleamos lo siguiente para visualizar las particiones de los distintos discos duros:
# fdisk -l
A la vista de las particiones de los discos, debemos averiguar cual/es es/son la/s partición/es donde reside el sistema GNU/Linux a recuperar, la/s montamos en /mnt (o en cualquier directorio que creemos al efecto). /mnt suele estar vacío y está destinado a operaciones de montaje de dispositivos. Teniendo en cuenta que en la mayoría de los casos el sistema objetivo residirá en una única partición y muy probablemente sea la sda1, teclearemos:
# mount /dev/sda1 /mnt
En caso de que el árbol de directorios del sistema objetivo esté distribuido en más de una partición hay que montarlas todas a partir de la partición que contiene la raíz (/). Supongamos que el segmento /boot está ubicado en sda2, teclearemos:
# mount /dev/sda2 /mnt/boot
Si estamos restaurando GRUB2 en un
sistema que arranca en modo UEFI hay que crear un nuevo sistema
de ficheros vfat 32 en la partición "EFI Filesystem" y
montarla posteriormente en el directorio /mnt/boot/efi. Suponiendo
que dicha partición es /dev/sda5 teclearemos:
A continuación, montamos los directorios del
sistema LiveCD que contemplan las particularidades de la máquina
donde estamos realizando la operación y que debemos trasladar, en modo enlazado (--bind), al
sistema objetivo:
Abandonamos del árbol de directorios del sistema LiveCD y convertimos en nuevo al árbol de directorios al tinglado que cuelga de /mnt
# chroot /mnt /bin/bash
Por último, ejecutamos el instalador de GRUB2 con el siguiente comando:
# grub-install --recheck --target "mirar manpage para averiguar el valor" /dev/sda
(sda se debe sustituir por el disco duro que se utilice para arrancar, casi siempre es sda. Ojo!! no poner el número de partición, sólo sda)
Reconstruimos el fichero de configuración de GRUB. En este proceso se detectarán TODOS los sistemas operativos instalados en TODOS los discos y se generará un menú de arranque correcto y completo:
# grub-mkconfig -o /boot/grub/grub.cfg
Reiniciamos el sistema y
cruzamos los dedos para que funcione..