Si estás ejecutando Linux, hay una buena probabilidad de que tu distro de elección utilice Grub como el gestor de arranque por defecto. Grub ha servido bien durante muchos años, pero está empezando a mostrar su edad. Como ocurre con todo el software, no pasa mucho tiempo antes de que lo último y lo mejor se convierta en algo viejo y vetusto. Las características se han ido acumulando en Grub sin que se haya pensado mucho en renovar el programa principal. Con el tiempo, esto condujo a un mosaico desordenado que nadie quería mantener. En este punto, nació Grub2. Se trata de una reescritura completa desde el principio con una estructura completamente rediseñada. Este nuevo Grub nos da poderosas características como declaraciones condicionales (if/then, etc), actualizaciones inteligentes, y algunos gráficos muy mejorados.

Cómo obtener Grub2

Actualmente, si quieres usar Grub2, tu mejor opción es ejecutar Ubuntu 9.10 (Karmic Koala). Si sólo quieres jugar y ver lo que puede hacer sin arriesgar tu sistema, te sugiero que lo ejecutes dentro de una máquina virtual como se describe aquí, pero por supuesto con Ubuntu 9.10.

menu.lst/grub.cfg

Si has jugado con el Grub original (ahora llamado Grub legacy), sin duda sabes todo sobre menu. lst. Ese era el archivo donde Grub legacy almacenaba casi todo. En Grub2, el equivalente más cercano es grub.cfg, también ubicado en /boot/grub. Una de las diferencias más importantes, sin embargo, es que usted no debe editar el archivo grub.cfg directamente. Algunos de ustedes pueden estar pensando “¡Ja! ¡Advertencias como esa son para n00bs!”. Bueno, la razón de esta regla no es porque los desarrolladores no piensen que eres lo suficientemente listo

, es porque ese archivo es auto-generado por Grub2 y será sobrescrito sin aviso como resultado de cosas como actualizaciones del kernel.

grub2-grubcfg

Cada vez que se ejecuta el comando update-grub, Grub2 leerá sus diversos archivos de configuración y utilizará su contenido para generar grub.cfg

. Estos archivos se tratan individualmente a continuación.

/etc/default/grub

Muchas de las opciones de Grub que solían estar en menu.lst

están ahora aquí. Esto incluye cosas como si mostrar o no el menú de Grub, y cuánto tiempo esperar antes del tiempo de espera. Esta captura de pantalla es la configuración por defecto en Ubuntu 9.10, y está configurada para ocultar el menú Grub, deshabilitar las opciones del “modo de recuperación”, e instruir al kernel para que incluya una pantalla de bienvenida.

grub2-etcgrub

Por cierto, para forzar a Grub 2 a mostrar el menú en el arranque simplemente mantenga pulsada la tecla Shift mientras Grub se inicia.

/etc/grub.d/

Aquí es donde las cosas realmente comienzan a diferir del legado de Grub. Mientras que normalmente se introducen todas las opciones de arranque en el archivo menu.lst, Grub 2 adopta un enfoque muy diferente. El directorio /etc/grub.d/

contiene archivos individuales, cada uno representando una opción para el menú de arranque. Lo siguiente muestra los archivos contenidos en la instalación por defecto.

grub2-etcgrubd

Aunque ciertamente es muy diferente a Grub legacy, puede notar algo familiar en esa carpeta. Está configurada de forma muy similar al sistema de arranque estándar de Linux, SysV Init. Cada uno de los archivos mostrados es un script de shell que se ejecuta en orden. El orden está determinado por los números al comienzo de cada nombre de archivo, así que el script en 00_header siempre se ejecutará antes que, por ejemplo, 05_debian_theme

.

/etc/grub.d/40_custom

Lo más probable es que si necesita editar su menú de arranque, este es el archivo que está buscando. Aquí es donde se añaden las entradas personalizadas al menú. Dado que este es el último archivo numerado en el directorio grub.d (como se explica en la sección anterior), cualquier entrada que coloque en este archivo se mostrará al final del menú de arranque.

Por defecto, el archivo 40_custom

está prácticamente vacío. En este ejemplo, he añadido una nueva entrada en el menú.

grub2-40custom

Imágenes de Splash

Usted puede descargar fácilmente el paquete de splash de Grub 2 en Ubuntu con:

sudoapt-get install grub2-splashimages

Cuando esté hecho, todas las imágenes se almacenarán como archivos TGA en /usr/share/images/grub/

.

grub2-splashpreview

El archivo que especifica qué imagen de bienvenida usar en el arranque es el archivo 05_debian_theme que vimos antes. Así que para establecer nuestro nuevo splash personalizado, queremos abrir /etc/grub.d/05_debian_theme

como root en cualquier editor de texto que prefiera. Busque una línea similar a la resaltada en el ejemplo de abajo,

grub2-changesplash

Y cambie el nombre del archivo por el de la imagen de bienvenida que prefiera. Asegúrese de que la ruta apunta al directorio /usr/share/images/grub/. Algunas versiones antiguas apuntan por defecto a /usr/share/images/desktop-base/

y eso no es lo que queremos.

Aplicando los cambios

Como recordarás al principio de esta guía, el archivo grub.cfg se genera automáticamente a partir de los otros archivos de configuración que hemos cubierto. Cuando haya hecho cambios en esos archivos, tiene que decirle a Grub que los lea y que cree un nuevo archivo de configuración. Para ello, simplemente ejecute el siguiente comando como root:

update-grub

Una vez completado, reinicia tu ordenador (o máquina virtual) para ver los resultados. No olvide mantener pulsada la tecla Shift mientras arranca, si su menú está aún configurado como Oculto.

grub2-grande