Objetivo:
Modificar la configuración del gestor de arranque GRUB en GNU/Linux para personalizar el tiempo de espera del menú (timeout), alterar el orden de inicio de los sistemas operativos detectados y añadir una imagen de fondo personalizada, aplicando los cambios correctamente en el sistema mediante la actualización del cargador.
Escenario:
- Una máquina virtual o equipo físico con una distribución Linux instalada (ej. Ubuntu, Debian, Linux Mint) que utilice GRUB 2 como gestor de arranque.
- Privilegios de superusuario (usuario
rooto acceso mediantesudo). - Una imagen gráfica en formato PNG o TGA (opcional, para personalizar el fondo del menú).
Instrucciones:
Fase 1: Acceso y copia de seguridad del archivo de configuración
- Abre una terminal en tu entorno Linux.
- Antes de realizar cualquier modificación, es obligatorio crear una copia de seguridad del archivo de configuración original para evitar dejar el sistema sin arranque en caso de error tipográfico. Ejecuta el siguiente comando en la terminal:
sudo cp /etc/default/grub /etc/default/grub.bak
- Abre el archivo de configuración utilizando un editor de texto plano con privilegios de administrador (por ejemplo,
nano):sudo nano /etc/default/grub
Fase 2: Modificación del tiempo de espera (Timeout) y orden de arranque
- Busca dentro del archivo la directiva
GRUB_TIMEOUT=. Modifica el número de segundos que el menú permanecerá visible antes de arrancar el sistema por defecto. Por ejemplo, para fijarlo en 10 segundos:GRUB_TIMEOUT=10
Nota: Si configuras el valor en0, el menú se omitirá por completo (a menos que mantengas pulsada la tecla Shift o Esc al arrancar); si usas-1, el menú esperará indefinidamente hasta que el usuario elija una opción de forma manual. - Para modificar el sistema operativo que arranca por defecto, busca la directiva
GRUB_DEFAULT=. Puedes asignarle un número (empezando a contar desde0para la primera opción del menú) o la palabra clavesavedsi deseas que GRUB recuerde siempre la última opción seleccionada por el usuario:GRUB_DEFAULT=0
Fase 3: Personalización estética (Añadir una imagen de fondo)
- Copia tu imagen elegida (formato
.pngpreferiblemente) a la ruta donde se almacenan los recursos gráficos del sistema, por ejemplo, mediante el comando:sudo cp /ruta/de/tu/imagen.png /boot/grub/
- Vuelve a abrir el archivo
/etc/default/gruben el editor nano y añade o descomenta la directiva que apunta a la ruta absoluta de la imagen de fondo:GRUB_BACKGROUND="/boot/grub/imagen.png"
- Guarda los cambios en el editor pulsando las teclas
Ctrl + Oy luegoEnter. Sal del editor presionandoCtrl + X.
Fase 4: Aplicación y actualización de los cambios en el sistema
- Los cambios realizados en el archivo de texto
/etc/default/grubno tienen efecto directo hasta que se genera el script de configuración definitivo del sistema. Para aplicar los cambios, ejecuta el comando de actualización correspondiente a tu distribución:- En distribuciones basadas en Debian / Ubuntu / Mint:
sudo update-grub
- En distribuciones basadas en RHEL / Fedora / CentOS:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- En distribuciones basadas en Debian / Ubuntu / Mint:
- Comprueba en la salida por pantalla de la terminal que el proceso detecta correctamente los sistemas operativos instalados y aplica la nueva configuración sin arrojar errores.
Verificación:
- Reinicia el equipo virtual o físico mediante el comando
sudo reboot. - Comprueba visualmente que el menú de GRUB muestra el nuevo tiempo de espera configurado antes de iniciar el sistema por defecto.
- Verifica si se ha aplicado correctamente la imagen de fondo personalizada y si el orden de los sistemas operativos en el listado coincide con tus preferencias.
Preguntas de reflexión:
- ¿Por qué es una medida de seguridad indispensable crear una copia de seguridad (
grub.bak) antes de editar el archivo de configuración del gestor de arranque? - ¿Qué implicaciones de usabilidad y accesibilidad tiene configurar un tiempo de espera (
GRUB_TIMEOUT) demasiado corto en un equipo con arranque dual (Dual Boot)? - ¿Cómo actúa el comando
update-grubpor debajo del sistema operativo para transformar los parámetros de configuración estática en los scripts ejecutables de la partición de arranque?
Haz clic aquí para ver las soluciones y explicaciones
1. ¿Por qué es indispensable crear una copia de seguridad antes de editar el GRUB?
El gestor de arranque es el componente crítico encargado de cargar el núcleo del sistema operativo en la memoria RAM durante el encendido. Un error tipográfico, una ruta mal escrita o una sintaxis incorrecta en el archivo de configuración de GRUB puede dejar el equipo en un estado de fallo de arranque total (kernel panic o pantalla en negro de GRUB Rescue). Disponer de una copia de seguridad permite restaurar el archivo original desde un medio de rescate o Live USB de forma rápida.
2. ¿Qué implicaciones tiene configurar un timeout demasiado corto en Dual Boot?
En un entorno con múltiples sistemas operativos (por ejemplo, Windows y Linux en el mismo disco), el menú de GRUB es la única vía interactiva para que el usuario elija con qué sistema desea iniciar. Si el tiempo de espera se reduce en exceso (por ejemplo, a 1 o 2 segundos), el usuario no dispondrá del margen físico suficiente para leer las opciones y pulsar las teclas de dirección, impidiendo la selección manual y arrancando siempre por defecto el sistema operativo principal.
3. ¿Cómo actúa el comando update-grub en el sistema?
El comando update-grub actúa como un script automatizado que lee los parámetros de configuración globales definidos en el archivo de texto /etc/default/grub y recopila los scripts independientes ubicados en el directorio /etc/grub.d/. Con toda esta información, compila y genera un archivo de configuración final estructurado y optimizado (usualmente guardado en /boot/grub/grub.cfg), que es el archivo binario/de texto real que el firmware UEFI o la BIOS lee directamente durante la secuencia de arranque inicial del equipo.