0. El problema: Tienes un ordenador con varios sistemas operativos instalados y se ha roto GRUB
Tenemos un ordenador con dos sietmas operativos instalados: Windows y Linux. El boot está configurado para arrancar primero en Linuz de forma que te salga el GRUB y de esa forma poder elegir qué sistema operativo deseas. Pero cuando entras en Linuz te aparece una pantalla negra con una simple terminal:
grub >
Este es un fallo común cuando el gestor de arranque pierde la ruta de configuración tras una actualización o una mala configuración de particiones. En este post veremos cómo arreglarlo en solo 4 comandos, y cómo aplicar una solución para que no te vuelva a ocurrir.
1. Encontrar la partición Linux
Lo primero que debemos hacer es listar las particiones disponibles para localizar dónde está tu Linux:
ls
Te aparecerán las particiones: (hd0,gpt1), (hd0,gpt2), etc.
Ve probando una a una hasta que encontrar el archivo de configuración correcto:
ls (hd0,gpt2)/boot/grub/
Te aparecerá algo así como:
themes/ Unicode.pf2 x86_64-efi/ locale/ fonts/ grubenv grub.cfg
Lo que significa que (hd0,gp2) es una partición que contiene una instalación de Linux (con sus archivos de GRUB, directorios de fuentes y configuraciones).
2. Cargamos el sistema para que aparezca grub
Ahora para poder cargar ese sistema y que aparezca tu menú correctamente, necesitamos indicarle a la consola de GRUB que cargue los módulos del sistema de archivos y lance el archivo de configuración (grub.cfg) que acabamoss de localizar.
Ejecutamos los siguientes comandos uno por uno en esa misma pantalla de comandos grub>:
- Establecemos la partición raíz y el prefijo apuntando a esa partición:
set root=(hd0,gpt2)
set prefix=(hd0,gpt2)/boot/grub
- Cargamos el módulo normal de GRUB:
insmod normal
- Inicia el modo normal para forzar la aparición del menú gráfico:
normal
Al ejecutar normal, aparecerá el menú gráfico GRUB con tus opciones de sistemas operativos (Linux y Windows), y podrás entrar Linux como siempre.
Pero con esto no nos aseguramos que no te vuelva a pasar lo mismo la próxima vez que arranques el ordenador, ahora debemos actualizar el grub para asegurarnos de que no vuelva a ocurrir.
3. Reparar grub desde Linux
Una vez que ya hemos podido entrar en Linux tras ejecutar los pasos anteriores, debemos abrir una terminal y ejecutar los siguientes comandos:
sudo update-grub
Y si el problema persistiera tras el próximo reinicio, instala de nuevo el gestor de arranque en tu disco principal:
sudo grub-install /dev/nvme0n1
sudo update-grub
Nota: Asegúrate que /dev/nvme0n1 es tu disco principal, y si no sustitúyelo por el correcto, recuerda que puedes listar los discos con el comando lsblk.
