Cómo personalizar GRUB 2

GRUB 2 es el nuevo gestor de arranque en Ubuntu Karmic Koala. Es el encargado de mostrar ese sencillo menú que nos permite escoger el sistema operativo a iniciar de entre los instalados en nuestra máquina, o la versión del kernel a cargar de entre los disponibles para nuestra distro Linux. Personalizar este menú con nuestra propia imagen de fondo, o indicar qué sistema operativo queremos cargar por defecto son cosas de lo más sencillas.

Los repositorios de Ubuntu ya incluyen por defecto una serie de imágenes de fondo para alegrar un poco GRUB2, en forma de un paquete llamado grub2-splashimages (grub-splashimages en el caso del GRUB original), paquete que podéis instalar simplemente haciendo clic sobre su nombre.

Al instalar grub2-splashimages, el script de instalación copiará una serie de imágenes adaptadas a los requisitos de GRUB 2 y listas para utilizar en /usr/share/images/grub.

Ahora que tenemos estas imágenes con las que jugar, supongamos, por ejemplo, que queremos utilizar la imagen Sparkler.tga como fondo para GRUB 2. Para hacer esto podemos editar el script del tema por defecto (/etc/grub.d/05_debian_theme) y modificar la línea en la que se especifica el fondo, o, simplemente, crear un enlace simbólico, del nombre de archivo esperado por defecto, a nuestro archivo:

sudo ln -s /usr/share/images/grub/Sparkler.tga /boot/grub/moreblue-orbit-grub.tga

También nos puede interesar cambiar el color de los textos en el menú, para que estos sean legibles con nuestro nuevo fondo. Para Sparkler, por ejemplo, que es una imagen oscura, nos interesaría colores claros. Para modificar los colores de los textos abriremos el archivo 05_debian_theme con un editor cualquiera

sudo gedit /etc/grub.d/05_debian_theme

y modificaremos las líneas

if background_image `make_system_path_relative_to_its_root ${bg}` ; then
set color_normal=black/black
set color_highlight=magenta/black
else

por los colores de nuestra elección, siendo los colores definidos en color_normal, los que se utilizan por defecto, y los de color_highlight, los que se utilizan para la entrada seleccionada actualmente. El primero de los 2 colores de cada uno de estos campos se refiere al color de la fuente, y el segundo, al color de fondo (black, curiosamente, se utiliza para establecer un fondo transparente). Una combinación bastante legible para este fondo sería, por ejemplo:

if background_image `make_system_path_relative_to_its_root ${bg}` ; then
set color_normal=white/black
set color_highlight=white/dark-gray
else

Una vez hemos terminado de realizar nuestras modificaciones, actualizamos los cambios en grub.cfg mediante el comando

sudo update-grub2

Y listo, la próxima vez que iniciemos nuestra máquina GRUB 2 utilizará la imagen y los colores que hayamos seleccionado.

Pero, por supuesto, nosotros también podemos crear nuestras propias imágenes de fondo para GRUB 2. Basta con iniciar GIMP, abrir la imagen que queramos utilizar, redimensionarla a 640×480, y exportarla como tga, por ejemplo.

Por último, para modificar el sistema operativo a arrancar por defecto, el tiempo a mostrar el menú, la resolución o el número de colores, la opción más sencilla es utilizar Startup manager, del que ya hemos hablado varias veces en la bitácora.

43 comentarios en «Cómo personalizar GRUB 2»

  1. Eso sí, aviso, como os equivoquéis en alguna cosa os podéis cargar el menú de arranque, así que cuidado con lo que hacéis. Sólo aconsejable para la gente a la que le guste trastear.

  2. Para configurar el orden de arranque o el tiempo de espera para este /etc/default/grub; ahí está todo.

    Viene bien en momentos como este en los que los repos están caidísimos.

    Saludos

  3. «Personalizar este menú con nuestra propia imagen de fondo, o indicar qué sistema operativo queremos cargar por defecto son cosas de lo más sencillas.»

    Precisamente, es todo lo contrario. Es verdad que las posibilidades son mucho mayores, pero la configuración es dificilísima, teniendo en cuenta que es un programa que casi todo el mundo tendrá que reconfigurar si lo usa.

    Sería tan fácil cómo en vez de utilizar un nombre absoluto para cargar el fondo de pantalla, utilizar constantes definidas en otro archivo y que ese archivo fuera el que modificáramos los usuarios. Sería tan fácil como cambiar constantes del tipo bground-image: tata/larala.tga.

    Y lo mismo pasa con el tema de las entradas en el menú. Me las estoy viendo y deseando para conseguir configurarlas… (todavía no he podido).

    1. ¿Que casi todo el mundo tendrá que reconfigurarlo? ¿por qué? 😯 GRUB debería detectar los sistemas operativos que hay instalados, y si quieres cambiar el sistema operativo a arrancar por defecto puedes usar Startup manager, con lo que es tan sencillo como seleccionarlo en una lista desplegable…

      1. Será que soy un tikis-mikis xDDD. Pero no aguanto dejarlo por defecto, me gusta quitar las opciones memtest, cambiar el timeout,… Y antes lo haćia todo cambiando directamente el .cfg que era bastante sencillote.

        Probaré con el startup manager a ver…

        Saludos!

  4. En el caso de los que actualizamos de Jaunty a Karmic, ¿hay alguna forma de actualizar del GRUB 1.5 al 2.0 sin tener que bajarme el iso del 9.10?

  5. No me termina de convencer este grub2, tarda un poco en cargar, para configurar el menu.lst hay que dar vueltas de mas y ademas me parece mas bonito el gfxboot de opensuse. Por ahora sigo con el viejo 1.5

  6. Pingback: Cambiar la imagen de Grub 2 « Ubuntu Life

  7. Pingback: Personalizar Grub 2 « El blog de Iyan

  8. Pingback: Personalizar Grub 2 en Ubuntu 9.10 « Un Bioinformatiquillo

  9. ¿Y no hay alguna manera de editar el menu.lst como se hacía antes? Como decía alguien por ahí arriba a mí también me gusta quitar el memtest y modificar el nombre de las entradas, que aparezca la versión del kernel queda muy feo, por más que busco no lo encuentro ¿alguien sabe? gracias

  10. Mira mejor pregunta como obtener permisos de super vaca (jeje) para hacer todas todo lo que tu quieras… pues yo ya edite el grub del 9.10 como tu dices que quieres TheSeptimus y no es muy difícil… claro obtuve un poco de ayuda…

    –> sudo chmod777

    con esto obtienes los permisos de super vaca XD

    ya puedes hacer lo q quieras en la compu ojo cuidado xq es en serio «lo que quieras»

    luego lo normal

    –> sudo gedit boot/grub/menu.lst

    pero ten cuidado con el chmod

    al final es mejor si tecleas

    –> sudo chmod755
    asi dejas mejor los permisos

  11. Pingback: Recopilación de artículos de “Pasos a seguir después de instalar Ubuntu 9.10″ | Otro Blog Más

  12. Lo del menu de grub ahora se cambia en /boot/grub/grub.cfg

    Tengo la version 1.97 (en Karmi), instalé las iamgenes, realice el cambio en /ec/grub.d/05_debian_theme. Luego actualice con
    update-grub. Pero nada de nada, la imagen de fondo no aparece.
    Supongo que debe de estar algo deshabilitado, en el 05.. encontre la variable y la cambié use_bg=true, pero nada
    Alguien me puede dar una pista ?
    Saludes

    1. Hola mira en el archivo /ec/grub.d/05_debian_theme que modificaste debes omitir la extencion en el nombre de archivo, por ejemplo si tu fondo se llama fondo.png, aolo pon fondo guardasm actualizas y listo a mi me funciono

  13. Pingback: El Blog de Zero Cool − Cambiar imagen de Grub2 para el arranque.

  14. Pingback: Linux Hispano | Mis primeras impresiones con Ubuntu 9.10 Karmic Koala [II Parte]

  15. Pingback: Customizing GRUB2 [ Ubuntu / Linux ] » Intipadi.com - Majalah Sains dan Teknologi Informasi

  16. Pingback: Cambiar la imagen de Grub 2 en Ubuntu 9.10 «

  17. Hola, cambie la linea del archivo por otra imagen y cuando quiero actualizar los cambios en consola escribo sudo update-grub2 y me dice «command not found» :S capaz es una pavada pero no se que hacer.SI alguien me puede ayudar por favor

    1. yo tuve ese mismo problema. Soy en realidad bien nuevo en Linux, pero como quien dice «buscando debajo de las hojas» escribì esto en el terminal:

      sudo grub-mkconfig -o /boot/grub/grub.cfg

      No se què hice, pero actualizò el archivo /boot/grub/grub.cfg

  18. Después de intertarlo, he corregido el tutorial eliminando todas las palabras extra, reemplazando las fórmulas correctas, y siendo más preciso. He aquí el resultado:

    Personalizar Grub 2

    Después de realizar cualquier cambio, se debe actualizar grub2 y reiniciar el pc.
    #update-grub (o bien, update-grub2)

    1) Cambio de imagen de fondo

    Poner las imagenes .png o .tga en directorio
    /usr/share/images/desktop-base/

    Editar el archivo /etc/grub.d/05_debian_theme en las sgtes lineas:
    for i in {/boot/grub,/usr/share/images/desktop-base}/my-image.{png,tga} ; do

    cambiamos “ my-image ” por el nombre de nuestra imagen (sin extensión)

    Actualizar Grub2

    2) Cambio de color del texto

    Editar el archivo /etc/grub.d/05_debian_theme en las sgtes lineas:

    if background_image `make_system_path_relative_to_its_root ${bg}` ; then
    set color_normal=black/black
    set color_highlight=magenta/black
    else

    color_normal son los por defecto
    color_highlight son los que se utilizan cuando se selecciona una entrada.
    El primero de los 2 colores de cada uno de estos campos es el color de la fuente
    El segundo, es el color de fondo (black, indica un fondo transparente).

    Una combinación bastante legible para este fondo sería, por ejemplo:
    set color_normal=white/black
    set color_highlight=yellow/black

    Actualizar Grub2

  19. hola me olvide la contraseña del root y lamentablemente no habia creado otro usuario porque solo estaba probando este ubuntu 910 el tema es que no puedo entrar en modo monousuario como lo hacia antes poniendo la palabra single al final de la linea, en este grub las cosas se ven diferentes y no me permite hacerlo. si alguien sabe como se lo agradezco.saludos

  20. hola tengo un problema , pude poner la imagen al grub, pero las imagenes que tiene la verdad no me gustan y como voj dijiste que podiamos poner nuestras imagenes, intente copiar una imagen que tengo a la carpeta grub donde estan todas las imagenes y no me deja copiar la imagen ningunga images es como si me limitara a usar las imagenes que vienen con el grub, hay alguna forma de poner la imagen que quiero , agradeceria tu ayuda

    un Saludo desde Santa cruz – BOLIVIA :-d

  21. Para Xander: Amigo es muy sencillo , quizas un truqito considerado de mis favoritos, pues para compiar la imagen desde el grub a desktop.base no se puede hacer como usuario estandar. hay que abrir la terminal y escribir sudo nautilus , se te abrira una ventana desde el escritorio y entonces podras copiar los archivos al desktop.base…recuerda que siempre debes tener cuidado al manejar este comando…..saludos

  22. Buenas!
    primero felicitarte por el howto… muy detallado y siguiendo las instrucciones me ha salido todo perfecto… bueno, casi…
    – la imagen q he puesto tiene un marco… hay forma de rodar el comienzo de las líneas de selección del arranque hacia la derecha para que entre en el marco de la imagen?
    otra cosa… primero me carga el grub viejo con la primera opcion la de probar el grub2, la selecciono y carga el grub2 con la imagen, luego dice q si es correcto, hay que ejecutar comando en consola para guardar definitivamente los cambios… ejecuto en modo root dicho comando y me sale que el comando no es válido… alguna idea?
    un saludo y hasta pronto!

  23. A mi este grub 2 me parece una basura.
    recien instalado kubuntu10.10, no me arranca la opcion por defecto, y que esta perfectamente configurada en grub.cnf.
    No sale la cuenta atras y eso que he comentado las lineas dichosas…
    Me tiene hasta las narices, con lo facil ke era con grub, mismamente desde webmin….
    Ya no se si es porque lo tengo en RAID por hardware o simplemente porque es una PM y no funciona…

    No veo ninguna ventaja en el cambio… solo molestias y molestias… una basura en mi opinion

Deja un comentario

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.