HowTo: Recuperar GRUB de ArchLinux luego de actualizar/instalar Windows 10
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:
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
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:
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.
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…
Cuando reiniciemos de nuevo, los cambios ya estarán aplicados. Y esto es todo.
Visto en el blog de Jeremy Morgan.
Muy buen tutorial, muchas gracias por el aporte.
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.