Todo sobre GRUB2: ¿Cómo configurar y personalizar el arranque de Linux de forma satisfactoria?
GRUB2: Todo para configurar y personalizar el arranque de Linux
Para gran parte de la comunidad usuaria del Linuxverso, la primera interfaz visible tras encender cualquier ordenador con Linux es el menú del gestor de arranque GNU GRUB (GNU GRand Unified Bootloader), hoy mejor conocido como «GRUB2». Además, en la inmensa mayoría de las distribuciones basadas en Linux, esta pantalla suele presentarse con una estética espartana y minimalista, es decir, un fondo negro o de cualquier color, tipografías estándar monocromáticas (casi siempre blancas), líneas de arranques del sistema operativo, y en el mejor de los casos, un discreto logotipo corporativo de la distribución.
No obstante, una de las mayores fortalezas del software libre y el ecosistema de código abierto radica en la libertad absoluta de personalización. Punto que aquí, en Ubunlog, hemos demostrado en muchas oportunidades con fabulosas y oportunas publicaciones sobre personalizar Linux. Además, en cuanto a unicamente personalizar (modificar) la apariencia de GRUB (o GRUB2) también hemos explicado varias formas y herramientas. Por lo cual, muchos que nos leen, seguramente en el tiempo han logrado ya no solo añadir un toque estético distintivo en su Distro GNU/Linux desde el primer segundo de encendido, sino también aprendido a profundidad o a detalle cómo interactúa el cargador de arranque con el firmware de la placa base (BIOS/UEFI) y el subsistema gráfico antes de inicializar el Kernel Linux.
Dark Matter y DedSec: 2 Temas para el GRUB Linux de Vandal
Pero, antes de iniciar esta nueva y útil publicación sobre este interesante tema relacionado con «personalizar GRUB2 en Linux», les recomendamos explorar nuestra anterior publicación relacionada con este mismo objetivo, al finalizar de leer esta:
Dark Matter GRUB Theme es una colección de temas GRUB oscuros y pulidos para una variedad de Distribuciones GNU/Linux.

GRUB2: Todo para configurar y personalizar el arranque de Linux
Sobre GRUB2: Lo esencial para entender que es
Según el sitio web oficial de este desarrollo del Linuxverso, el mismo es descrito textualmente de la siguiente forma:
GNU GRUB es un cargador de arranque con capacidad de arranque múltiple (*multiboot*). Deriva de GRUB (GRand Unified Bootloader), y estuvo diseñado e implementado originalmente por Erich Stefan Boleyn. Por ende, se entiende que un cargador de arranque es el primer programa que se ejecuta al iniciar un equipo. Y que se encarga de cargar y transferir el control al Kernel del sistema operativo (como Hurd o Linux). Ya luego, este a su vez, inicializa el resto del sistema operativo (por ejemplo, GNU). Por ultimo, vale destacar que GRUB2 ha sustituido a lo que anteriormente se conocía como GRUB (es decir, la versión 0.9x), que a su vez ha pasado a denominarse GRUB Legacy. Aunque se siguen realizando mejoras en GRUB, las versiones publicadas actualmente son perfectamente funcionales para un uso normal.
Mientras que, en el siguiente enlace de la misma web añaden y complementa con lo siguiente:
Una de las características más destacadas de GRUB es su flexibilidad: reconoce sistemas de archivos y formatos de ejecución de núcleos, lo que permite cargar cualquier sistema operativo según se desee, sin necesidad de conocer la ubicación física del núcleo en el disco. Así, es posible cargar el núcleo simplemente especificando su nombre de archivo, así como la unidad y la partición donde se encuentra almacenado. Al iniciar el sistema con GRUB, puede utilizar una interfaz de línea de comandos o una interfaz de menú. En la interfaz de línea de comandos, usted escribe manualmente la especificación de la unidad y el nombre del archivo del núcleo (*kernel*). En la interfaz de menú, simplemente selecciona el sistema operativo mediante las teclas de flecha. El menú se basa en un archivo de configuración que usted prepara previamente. Mientras se encuentra en el menú, puedes cambiar al modo de línea de comandos y viceversa; incluso puede editar las entradas del menú antes de utilizarlas.
Principales métodos, opciones y parámetros a conocer y dominar GRUB2 en Linux
Mecanismos de instalación (Automático versus Manual)
Aunque la mayoría de los repositorios de paquetes de Temas de GRUB2 ofrecen instaladores automatizados mediante Bash para detectar resoluciones y copiar los archivos hacia «/boot/grub/themes/» (o «/boot/grub2/themes/»), no hay que olvidar que en nuestros entornos GNU/Linux siempre es mejor y una buena práctica, el auditar el código de cualquier script antes de ejecutarlo con privilegios de superusuario (sudo). Por ende, la alternativa manual suele ser más recomendable por más segura y directa, debido a que nos obliga a descargar el repositorio, descomprimir la carpeta del tema dentro de /boot/grub/themes/ y configurar manualmente la ruta correspondiente dentro del archivo maestro «/etc/default/grub».
Configuración del archivo maestro «/etc/default/grub»:
Para activar un nuevo tema visual, es necesario declarar como mínimo 3 directivas específicas en el archivo de configuración central:
- GRUB_THEME=»/boot/grub/themes/<directorio-tema>/theme.txt«: Indica la ruta absoluta al archivo de configuración del tema.
- GRUB_GFXMODE=»auto»: Especifica la resolución gráfica compatible con la pantalla y la tarjeta de video durante la fase temprana de arranque.
- GRUB_TIMEOUT=5: Establece un tiempo de espera suficiente para visualizar la interfaz antes de que arranque la entrada por defecto.
Regeneración del cargador de arranque según la distribución
Luego de la instalación de los archivos del Tema GRUB y los cambios de configuración en el archivo maestro del sistema GRUB, solo nos faltaría recompilar dichas modificaciones en el archivo maestro de GRUB, y reiniciar el sistema operativo para su prueba y validación. Por ultimo, es importante resaltar que el comando requerido para realizar exitosamente este paso, varía según la familia de la distribución. Tal como se muestra a continuación:
- Debian, Ubuntu, Canaima GNU/Linux y derivadas: sudo update-grub
- Fedora, RHEL, AlmaLinux y CentOS: sudo grub2-mkconfig -o /boot/grub2/grub.cfg
- Arch Linux y derivadas: sudo grub-mkconfig -o /boot/grub/grub.cfg
Exploración más detallada de los parámetros y opciones importantes dentro de GRUB2
Control del menú y selección de arranque
- GRUB_DEFAULT: Define qué entrada del menú arrancará automáticamente. Puede ser un índice numérico (0 para la primera opción), el título exacto de la entrada entre comillas, o saved. Al usar saved, el cargador recordará la última opción seleccionada (requiere habilitar GRUB_SAVEDEFAULT=true).
- GRUB_TIMEOUT: Especifica el tiempo en segundos que se muestra el menú de selección antes de arrancar la opción por defecto. Si se establece en cero (0), arranca de inmediato sin mostrar el menú; si se fija en -1, espera indefinidamente hasta que el usuario pulse una tecla.
- GRUB_TIMEOUT_STYLE: Determina el comportamiento visual del contador. Y para ello se pueden configurar de las siguientes 2 maneras:
- menu: Muestra la lista de sistemas y la cuenta regresiva normal.
- hidden: Mantiene la pantalla oculta durante el conteo (útil para un arranque limpio), mostrando el menú solo si el usuario mantiene presionada la tecla Shift o Esc.
Parámetros enviados al Kernel Linux
- GRUB_CMDLINE_LINUX_DEFAULT: Define los parámetros que se pasan al Kernel únicamente en el modo de arranque estándar (no en modo recuperación). Los valores más comunes son «quiet» (para ocultar la mayoría de los mensajes de inicialización del Kernel) y «splash» (para habilita la pantalla gráfica de carga como Plymouth).
- GRUB_CMDLINE_LINUX: Define los parámetros que se pasan al kernel en todos los modos de arranque, incluidos los de rescate/recuperación. Se emplea para directivas críticas a nivel de hardware o almacenamiento (por ejemplo, opciones de ACPI, controladores específicos o parámetros de cgroups).
Pantalla, gráficos y comportamiento del sistema
- GRUB_GFXMODE: Establece la resolución y profundidad de color del menú de GRUB (por ejemplo, 1920x1080x32 o 1024×768). Si no es compatible con la tarjeta gráfica en modo VESA/GOP, GRUB recurre a auto.
- GRUB_GFXPAYLOAD_LINUX: Controla si la resolución configurada en GRUB se transfiere al framebuffer de la consola del Kernel (keep) o si el Kernel debe restablecerla a modo texto predeterminado (text).
- GRUB_DISABLE_OS_PROBER: Controla si el script os-prober debe ejecutarse para detectar otros sistemas operativos instalados en el disco (como Windows u otras distribuciones). Por seguridad viene desactivado (true) en muchas distribuciones modernas; establecerlo en false permite listar automáticamente otros sistemas en el menú.
- GRUB_TERMINAL: Define los dispositivos de entrada/salida para el menú. Puede configurarse como «console» (modo texto estándar), «gfxterm» (terminal gráfica compatible con fuentes y fondos) o «serial» (útil para administrar servidores headless vía puerto serie).
Útiles sitios webs para conocer y explorar temas de GRUB2
Aprender sobre GRUB2
Descargar Temas para GRUB2 en Linux
- GNOME GRUB Theme
- KDE GRUB Theme
- XFCE GRUB Theme
- GitHub Topic GRUB Theme
- Community GitHub GRUB themes
Grub Customizer es un paquete de software y una herramienta técnica que se puede utilizar en las principales Distribuciones GNU/Linux con el fin de facilitar la tarea personalizar diferentes aspectos del menú de arranque de GRUB, como por ejemplo, el orden en que aparecen las entradas en la lista, cuánto tiempo esperar GRUB antes de inicializar el sistema operativo mediante la opción predeterminado, cambiar el fondo del menú, entre otras cosas.

Resumen
En resumen, si eres de los usuarios de GNU/Linux que busca optimizar y embellecer al máximo el inicio de tu ordenador esperamos que esta pequeña y útil publicación sobre personalizar «GBRU2 sobre Linux» te aclare cualquier duda y te permita implementar exitosamente cualquier tema de terceros o propio. Y si ya conoces y utilizas algún proyecto de tema para GRUB2, te invitamos a mencionarlo vía comentarios para el beneficio y utilidad de todos nuestros fieles lectores del Linuxverso.
Por último, recuerda compartir con otros esta útil publicación si te ha gustado o servido y visitar el inicio de nuestro «sitio web» en español u otros idiomas (agregando al final de la URL dos letras; por ejemplo: ar, de, en, fr, ja, pt y ru, entre muchas otras) para que estés al tanto de nuestras últimas publicaciones.
