A muchos nos ha pasado que al reinstalar Windows en un sistema que utiliza dual-boot, perdemos el acceso a los demás sistemas operativos ya que no tendremos acceso al GRUB. Pues no temas, ya que en este artículo explicaremos cómo recuperar GRUB 2 utilizando un Live CD/DVD de cualquier distribución basada en Debian.
Para empezar, deberemos reiniciar el sistema e iniciar desde el Live CD/USB (es necesario configurar la BIOS del sistema para que permita iniciar desde un medio óptico o el USB). En los ejemplos se usa Linux Mint.
Una vez iniciado el Live CD/USB, tenemos que abrir un terminal y cambiar a superusuario (root):
mint@mint ~ $ sudo su
Luego vamos a obtener información de las particiones que tenemos mediante el comando:
mint mint # fdisk -l
Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders, total 976773168 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disk identifier: 0x000bbc48
Device Boot Start End Blocks Id System
/dev/sda1 2048 3999743 1998848 83 Linux
/dev/sda2 4001790 532000767 263999489 5 Extended
Partition 2 does not start on physical sector boundary.
/dev/sda3 * 532000768 532205567 102400 7 HPFS/NTFS/exFAT
/dev/sda4 532205568 615886847 41840640 7 HPFS/NTFS/exFAT
/dev/sda5 4001792 63999999 29999104 83 Linux
/dev/sda6 64002048 124000255 29999104 83 Linux
/dev/sda7 124002304 131999743 3998720 82 Linux swap / Solaris
/dev/sda8 132001792 532000767 199999488 83 Linux
Ahora tendremos que determinar que particiones corresponden con nuestro sistema Linux (son las que indican «Linux» en la columna «System»). En este ejemplo /dev/sda1 corresponde con /boot, /dev/sda5 corresponde con / y /dev/sda6 con /home.
Montamos el sistema de archivos raíz (/)(en nuestro caso /dev/sda5) en el directorio /mnt:
mint mint # mount /dev/sda5 /mnt/
mint mint # ls /mnt/
bin dev initrd.img lib64 mnt root selinux tmp vmlinuz
boot etc initrd.img.old lost+found opt run srv usr
data home lib media proc sbin sys var
Montamos /boot (en aquellos casos en los que se encuentre en una partición separada, de lo contrario saltar este paso):
mint mint # mount /dev/sda1 /mnt/boot/
mint mint # ls /mnt/boot/
abi-3.8.0-19-generic memtest86+.bin
config-3.8.0-19-generic memtest86+_multiboot.bin
grub System.map-3.8.0-19-generic
initrd.img-3.8.0-19-generic vmlinuz-3.8.0-19-generic
lost+found
Montamos los sistemas de archivos /dev y /proc:
mint mint # mount --bind /dev /mnt/dev/
mint mint # mount --bind /proc /mnt/proc/
Cambiamos el directorio raíz actual a /mnt para reinstalar GRUB como si estuviéramos ejecutando nuestro sistema Linux instalado en el disco duro:
mint mint # chroot /mnt
Ahora instalamos GRUB en el sistema:
mint / # grub-install --recheck /dev/sda
Installation finished. No error reported.
Salimos de chroot y reiniciamos el sistema:
mint / # exit
Finalmente, al reiniciar el sistema, iniciamos nuestro sistema Linux y actualizamos el GRUB para que detecte el sistema Windows instalado:
$ sudo update-grub2
En el siguiente reinicio tendremos la opción de iniciar Linux o Windows.