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.

Comentarios
  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.

    Responder

  2. Mickeley

    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

    Responder

  3. Gracias por la explicación, siempre va bien tener una idea de como funcionan las tecnologias nuevas.

    Responder

  4. Solidus

    lo intentare alrato >.< jajaj m saco de onda
    q no habia meno para modificar

    sorry soy nuevon en esto

    Responder

  5. yiTaN!

    “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).

    Responder

    • ¿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…

      Responder

      • yiTaN!

        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!

        Responder

  6. Oscar

    Gracias por el aporte

    Responder

  7. Héctor Manuel

    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?

    Responder

  8. Betelgeuse

    Resolucion de 640×480 me parece muy poco para el dia de hoy. Me sigo quedando con gfxboot. Probad este de mi cosecha:
    http://hotfile.com/dl/16211233/ad79410/fondo_gfxboot.zip.html

    Responder

    • Hombre, se puede modificar la resolución y la profundidad de color, bien editando el archivo de configuración, o usando startup manager. Eso sí, yo no lo he probado.

      Responder

      • Betelgeuse

        He interpretado que era la maxima segun lo que has dicho. Error mio.
        Saludos.

        Responder

  9. 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

    Responder

  10. Aun después de la salida de Karmic final, el grub 2 que veo sigue haciendo referencia a la 1.97 beta. ¿es correcto esto?
    Un saludo

    Responder

    • Sí, la 1.97 es la última versión de GRUB 2 y la 0.97 la última de GRUB legacy.

      Responder

  11. […] Tal y como nos cuentan en Mundo Geek […]

    Responder

  12. […] Cómo personalizar Grub 2 […]

    Responder

  13. Juanka12

    Los colores tienen que ser nombre o valen también en #000000 ?

    He puesto dark-green y me sale gris -_-‘

    Responder

  14. […] PDRTJS_settings_176341_post_4102 = { "id" : "176341", "unique_id" : "wp-post-4102", "title" : "Personalizar+Grub+2+en+Ubuntu+9.10", "item_id" : "_post_4102", "permalink" : "http%3A%2F%2Fbioinformatiquillo.wordpress.com%2F2009%2F11%2F03%2Fpersonalizar-grub-2-en-ubuntu-9-10%2F" } Fuente: MundoGeek […]

    Responder

  15. ¿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

    Responder

  16. 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

    Responder

    • Gracias AlejoX, pero creo que te estás confundiendo con el GRUB a secas 🙂 este se modifica de una manera distinta

      Responder

  17. […] Cómo personalizar GRUB 2 […]

    Responder

  18. Edén

    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

    Responder

    • Diego

      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

      Responder

  19. […] Tal y como nos cuentan en Mundo Geek […]

    Responder

  20. […] Si el otro día nos quedamos justo en este momento, el primer arranque. Como había montado la distribución de nuevo en la partición “/”, donde tenía instalado GRUB, el instalador también me instaló la versión 2 de GRUB. Estéticamente por defecto es más moderna que la que traía Intrepid, pero no porque haya cambiado algo la estructura o el fondo, sino por el tipo de letra utilizado. El resto sigue igual. Si queréis personalizarlo, os recomiendo mirar esta guía aparecida en Mundo Geek. […]

    Responder

  21. rama

    @Edén no es “/ec/grub.d/05_debian_theme” sino “/etc/grub.d/05_debian_theme” ese debe ser tu error

    Responder

  22. […] so the image in the beginning of the post is from MacUntu user @ubuntuforums.org-Grub2SplashImages-Mundo Geek-Grub 2 Guide thread @ubuntuforums.org-You can also theme GRUB2 but I’ll not get into that in […]

    Responder

  23. […] Tal y como nos cuentan en Mundo Geek […]

    Responder

  24. MadTux

    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

    Responder

    • buch

      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

      Responder

  25. Harry

    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

    Responder

  26. dof

    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

    Responder

  27. Xander

    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

    Responder

  28. Ray

    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

    Responder

  29. Ancor

    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!

    Responder

  30. Gran tuto, Zootropo… me sirvió de mucho a pesar de que ahora ando trasteando con BURG 😉

    Saludos!

    Responder

  31. javirebu

    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

    Responder

  32. Shadow Reaper
Deja un comentario