Objetivo:
Comprender y resolver situaciones de fallo o sobrescritura del gestor de arranque en entornos de doble arranque (dual boot), aprendiendo a restaurar el acceso tanto a sistemas Linux como a entornos Windows tras una pérdida de visibilidad o corrupción del menú de GRUB.
Escenario:
- Herramientas: Live USB de rescate, terminal Linux, comandos
efibootmgr,update-grub,grub-install, y herramientas de reparación nativas de Windows (si procede). - Conceptos analizados: Arquitectura NVRAM de placas base UEFI, partición EFI compartida, orden de arranque del firmware y detección multi-sistema mediante scripts de GRUB (os-prober).
- Proceso clave: Simulación de la desaparición del menú de arranque tras la actualización o reinstalación de un sistema operativo secundario, arranque mediante Live USB, reconfiguración del reconocimiento de sistemas y restauración del orden en la NVRAM.
Escenario Real: Pérdida del menú de arranque tras actualizar Windows
Un equipo informático comparte espacio en disco mediante un entorno dual boot entre Linux y Windows. Tras una actualización importante del sistema operativo privativo, el equipo arranca directamente en Windows omitiendo por completo el menú de selección de GRUB. Como administrador, debes restaurar el control del gestor de arranque sin perder el acceso a ninguno de los dos sistemas operativos.
NOTA: Para realizar esta práctica de forma segura, asegúrate de comprender si tu equipo utiliza el esquema moderno UEFI con una partición EFI compartida o el sistema clásico MBR.
Instrucciones:
Fase 1: Arranque externo (Live USB) y análisis del firmware UEFI:
- Arrancar el equipo utilizando un medio de rescate externo (Live USB).
- Abrir una terminal y comprobar el estado actual de las entradas de arranque registradas en la placa base ejecutando:
sudo efibootmgr -v - Identificar el orden de arranque configurado (BootOrder) y localizar el identificador numérico asignado a GRUB y a Windows Boot Manager.
Fase 2: Montaje del entorno y activación de os-prober:
- Montar la partición raíz de tu instalación Linux y la partición EFI compartida siguiendo los pasos habituales de un entorno de rescate (mediante
chrootsi fuera necesario). - Verificar que el paquete encargado de detectar otros sistemas operativos está instalado y activo en el sistema Linux.
- Asegurarse de que el fichero de configuración global de GRUB (
/etc/default/grub) permite la detección automática de otros sistemas operativos añadiendo o descomentando la línea:GRUB_DISABLE_OS_PROBER=false
Fase 3: Reinstalación del gestor y actualización de entradas:
- Actualizar la lista de sistemas operativos detectados y regenerar el fichero de configuración de GRUB ejecutando:
sudo update-grub(o el comando equivalente según la distribución, comogrub2-mkconfig). - Observar en la salida por pantalla cómo el script detecta la presencia de la partición de Windows Boot Manager.
- Si la NVRAM ha perdido el registro de GRUB, reinstalar el cargador en la partición EFI:
sudo grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=ubuntu --recheck(ajustando el nombre del identificador según corresponda).
Fase 4: Reordenación de prioridades en la NVRAM:
- Una vez restauradas las entradas, utilizar
efibootmgrpara modificar el orden de arranque y garantizar que GRUB vuelva a ser la primera opción prioritaria para la placa base. - Modificar el orden indicando los códigos hexadecimales correspondientes (por ejemplo):
sudo efibootmgr -o 0001,0000 - Salir del entorno de rescate, desmontar los volúmenes y reiniciar el equipo de forma segura:
sudo reboot
Verificación:
- Comprobar que al reiniciar el equipo sin el Live USB aparece de nuevo el menú gráfico de GRUB mostrando tanto las opciones de Linux como la entrada de Windows.
- Verificar que se puede arrancar con éxito en ambos sistemas operativos de forma alterna sin errores de carga.
Posibles errores y resolución de problemas:
Si tras ejecutar el comando sudo update-grub el sistema muestra un mensaje indicando que os-prober will not be executed to detect other bootable partitions, significa que la distribución ha desactivado esta función por defecto por motivos de seguridad.
Solución: Edita el fichero de configuración global
/etc/default/grubcon un editor de textos, añade explícitamente la líneaGRUB_DISABLE_OS_PROBER=falseal final del fichero, guarda los cambios y vuelve a ejecutar la actualización del gestor.
Alternativa directa: Consulta rápida de arranque con efibootmgr
Si únicamente necesitas comprobar el orden actual en el que la placa base intenta arrancar los sistemas operativos instalados en la memoria NVRAM sin necesidad de modificar ficheros ni entrar en entornos de rescate complejos, puedes ejecutar la consulta directa:
sudo efibootmgr
Preguntas de reflexión:
- ¿Por qué las actualizaciones mayores de sistemas operativos privativos como Windows suelen sobrescribir o desplazar el gestor GRUB en configuraciones de doble arranque?
- ¿Qué función específica cumple la herramienta
os-proberdurante el proceso de actualización del fichero de configuración de GRUB? - ¿Por qué es fundamental la existencia de una partición EFI compartida y estandarizada en sistemas modernos UEFI para permitir la convivencia de múltiples sistemas operativos?
- ¿Qué implicaciones tiene modificar de forma incorrecta el orden de arranque (BootOrder) mediante el comando
efibootmgren la placa base del equipo?
Haz clic aquí para ver las soluciones y explicaciones
1. ¿Por qué las actualizaciones mayores de sistemas operativos privativos como Windows suelen sobrescribir o desplazar el gestor GRUB en configuraciones de doble arranque?
Porque durante sus procesos de mantenimiento o actualización profunda, los instaladores de Windows asumen por diseño que son el único sistema operativo del equipo. Restablecen de manera automática su propio gestor (Windows Boot Manager) como la opción predeterminada en la NVRAM de la placa base para garantizar un inicio directo y seguro según sus propias directrices comerciales.
2. ¿Qué función específica cumple la herramienta os-prober durante el proceso de actualización del fichero de configuración de GRUB?
Es una utilidad que escanea las particiones de almacenamiento del equipo en busca de firmas, núcleos y cargadores de arranque pertenecientes a otros sistemas operativos (como Windows u otras distribuciones de Linux), permitiendo a los scripts de GRUB integrarlos automáticamente en el menú principal de selección durante el arranque.
3. ¿Por qué es fundamental la existencia de una partición EFI compartida y estandarizada en sistemas modernos UEFI para permitir la convivencia de múltiples sistemas operativos?
Porque actúa como un repositorio de ficheros de arranque accesible de forma neutral por el firmware de la placa base. En lugar de competir por sectores físicos de disco como ocurría en el sistema MBR tradicional, los diferentes sistemas operativos (Linux y Windows) pueden alojar sus respectivos directorios y binarios de arranque (.efi) dentro de esa misma partición FAT32 sin solaparse ni corromperse mutuamente.
4. ¿Qué implicaciones tiene modificar de forma incorrecta el orden de arranque (BootOrder) mediante el comando efibootmgr en la placa base del equipo?
Si se asignan identificadores inexistentes o se descoloca la prioridad de los cargadores, el firmware de la placa base podría no encontrar ningún sistema operativo válido al encender el equipo, mostrando un error crítico de tipo "No bootable device found" y obligando a utilizar un medio de rescate externo para corregir los valores en la NVRAM.