HowTo: Recuperar GRUB de ArchLinux luego de actualizar/instalar Windows 10

Escrito por systeminside en y tuvo 2 comentarios
Grub

La ventaja de instalar o actualizar a Windows 10 desde una versión ya activada previamente, es que sin dudas que no te costará un centavo; la desventaja es, que si tenemos otro Sistema Operativo instalado, especialmente GNU/Linux, perderemos el GRUB.

GRUB, GRand Unified Bootloader por sus siglas en Inglés, es lo que nos permite escoger por cual sistema operativo queremos iniciar sesión, y normalmente se instala en el MRB (Master Boot Record). Lo que sucede al instalar Windows o actualizarlo, es que “sobrescribe” el componente de GRUB que está alojado en el sector 0 del disco duro.

Pero bueno, dejando la cháchara a un lado, veamos como recuperar nuestro GRUB usando un LiveCD de ArchLinux.

Preparando el iso de Archlinux

Lo primero, naturalmente, es descargar un LiveCD de ArchLinux para realizar el resto de los pasos. Podemos bajarlo del siguiente enlace:

Descargar LiveCD ArchLinux

Posteriormente lo quemamos en un CD-ROM o lo que es mejor, lo ponemos en una memoria USB. Para saber cual es nuestro dispositivo usb usamos el comando:

$ sudo fdisk -l

Lo que nos devuelve algo como esto:

Disco /dev/sda: 22.4 GiB, 24015495168 bytes, 46905264 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x168cfb1a

Disposit.  Inicio Comienzo    Final Sectores Tamaño Id Tipo
/dev/sda1  *          2048 46903295 46901248  22.4G 83 Linux

Disco /dev/sdb: 931.5 GiB, 1000204886016 bytes, 1953525168 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 4096 bytes
Tamaño de E/S (mínimo/óptimo): 4096 bytes / 4096 bytes
Tipo de etiqueta de disco: gpt
Identificador del disco: 12D6F7B9-F353-4EB9-867B-EBDE18419AAE

Disposit.    Comienzo      Final   Sectores Tamaño Tipo
/dev/sdb1        2048 1943554047 1943552000 926.8G Datos básicos de Microsoft
/dev/sdb2  1943554048 1953525134    9971087   4.8G Sistema de ficheros de Linux

Disco /dev/sdc: 29.4 GiB, 31591497728 bytes, 61702144 sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x8482e857

Disposit.  Inicio Comienzo    Final Sectores Tamaño Id Tipo
/dev/sdc1             2048 61702143 61700096  29.4G  7 HPFS/NTFS/exFAT

En mi caso, mi memoria USB es el disco /dev/sdc, por lo tanto ejecuto el comando:

$ sudo dd if=archlinux-2015.08.01-dual.iso of=/dev/sdc bs=4M && sync

Importante: No debemos montar la memoria para ejecutar el comando anterior, y siempre debemos sdc, no sdc1 ni nada por el estilo

Recuperando el GRUB

Una vez que terminemos de quemar el CD o pasar el ISO para la memoria, reiniciamos el ordenador y arrancamos usando el método que hayamos escogido.

Cuando levante el ISO de ArchLinux lo que primero que debemos hacer es ver cuales son nuestras particiones, para ello ejecutamos el comando:

# cfdisk

lo que nos mostrará algo como esto:

Particiones cfdisk

En la imagen de ejemplo, Linux está instalado en la partición /dev/sda4, por lo que procedemos a realizar el siguiente procedimiento.

Primero montamos la partición en el directorio /mnt:

mount -t ext4 /dev/sda4 /mnt

Luego hacemos un chroot en /mnt:

arch-chroot /mnt

y por último volvemos a instalar GRUB (como es lógico debemos tener acceso a Internet o a algún repositorio de Archlinux):

grub-install /dev/sda

Salimos del chroot y reiniciamos:

exit && reboot

Es posible que cuando iniciemos, GRUB nos muestre como opción de Windows la versión 8.

Grub ArchLinux

Eso no importa, en realidad cargará Windows 10, de todos modos si queremos modificar esto, solo debemos acceder a Linux y ejecutar lo siguiente:

Primero hacemos un backup del fichero que vamos a modificar:

$ sudo cp /boot/grub/grub.cfg /boot/grub/grub.cfg.8.1

Luego lo editamos:

sudo nano /boot/grub/grub.cfg

buscamos la línea donde dice Windows 8 y lo cambiamos por Windows 10…

Editando Grub

Cuando reiniciemos de nuevo, los cambios ya estarán aplicados. Y esto es todo.

Visto en el blog de Jeremy Morgan.

systeminside

systeminside

Blogger, Melómano, Administrador de Sistemas, Diseñador Web.

¿Ideas? ¿Comentarios?

  1. Muy buen tutorial, muchas gracias por el aporte.

    Responder
  2. eliotime3000 9 meses atrás

    Yo que tú ejecuto primero el os-prober con sudo y luego, ejecuto el siguiente comando:

    sudo grub-mkconfig -o /boot/grub/grub.cfg

    De esa forma, el OS Prober actualiza correctamente la versión de Windows que usas, y a la hora de generar el listado de SO’s disponibles, lo haga correctamente.

    De esa forma es que logré que me detectara la partición con Windows 10 correctamente, aunque este tip también sirve para actualizar la versión de GRUB.

    Responder

¿...?