22 December 2022

Recuperar GRUB 2 después de instalar Windows con Live CD/USB - 2022

Recuperar GRUB 2 después de instalar Windows

Juanro
Juanro @Juanro49

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.

Categories

TUTORIALES