El gestor de arranque GRUB viene preinstalado en la mayoría de las distribuciones de GNU/Linux modernas, entre ellas Debian, Ubuntu y sus derivadas. Anteriormente, el gestor de arranque más usado era LILO.
Cambiar el sistema operativo por defecto
Si tenemos Windows instalado y después hemos instalado Ubuntu, la configuración de GRUB por defecto hará que arranque Ubuntu. Si por algún motivo necesitamos que arranque Windows por defecto, veamos los pasos a seguir.
Editamos el archivo de configuración del menú de arranque de GRUB:
sudo gedit /boot/grub/menu.lst
Buscamos la siguiente línea:
default 0
Cambiamos el 0 por el número que ocupe el sistema operativo en la lista que queremos que se inicie por defecto, empezando por 0.
Guardamos los cambios y cerramos el editor.
Actualizamos la información del inicio:
sudo update-grub
Cambiar el tiempo de espera
En Ubuntu, GRUB deja por defecto 10 segundos para permitir la selección del sistema operativo o versión del kernel. Este tiempo puede parecer excesivo o demasiado breve. Para modificarlo basta con seguir los siguientes pasos:
Editamos el archivo de configuración del menú de arranque de GRUB:
sudo gedit /boot/grub/menu.lst
Buscamos la siguiente línea:
timeout 10
Modificamos el valor 10 por el deseado, teniendo en cuenta que se trata de segundos.
Guardamos los cambios y cerramos el editor.
Actualizamos la información del inicio:
sudo update-grub
Ocultar el menú
Si utilizamos normalmente sólo un sistema operativo o una versión del kernel, es molesto que nos aparezca el menú en cada arranque del sistema. GRUB permite configurar el menú de modo que no se muestre al arranque salvo que presionemos la tecla Escape (Esc) durante el mismo. Para hacer esto, seguimos los siguientes pasos:
Editamos el archivo de configuración del menú de arranque de GRUB:
sudo gedit /boot/grub/menu.lst
Buscamos la siguiente línea:
#hiddenmenu
Borramos la almohadilla o numeral (#) de la línea, haciendo esto la descomentaremos. Debe quedar así:
hiddenmenu
Guardamos los cambios y cerramos el editor.
Actualizamos la información del inicio:
sudo update-grub
Proteger con contraseña
Para que ningún usuario no autorizado pueda modificar los valores de GRUB en tiempo de ejecución, podemos establecer una contraseña, de esta forma sólo pulsando la tecla 'p' e introduciendo la contraseña se podrán cambiar los parámetros del programa.
Editamos el archivo de configuración del menú de arranque de GRUB:
sudo gedit /boot/grub/menu.lst
Buscamos la siguiente línea:
#password topsecret
Borramos la almohadilla o numeral (#) de la línea, haciendo esto la descomentaremos. Debe quedar así:
password topsecrets
Guardamos el archivo y cerramos el editor.
Ahora la contraseña es topsecret, se puede cambiar e introducir la que se desee.
Cambiar colores
Por defecto, en Ubuntu el menú del GRUB tiene un fondo negro con letras blancas. Para cambiar los colores del menú de arranque por otros más atractivos, seguimos los siguientes pasos.
Editamos el archivo de configuración del menú de arranque de GRUB:
sudo gedit /boot/grub/menu.lst
Buscamos la siguiente línea:
# color cyan/blue white/blue
Borramos la almohadilla o numeral (#) de la línea, haciendo esto la descomentaremos. Debe quedar así:
color cyan/blue white/blue
Guardamos los cambios y cerramos el editor.
Ahora nos aparecerá un menú con fondo azul, al estilo de varias aplicaciones con interfaz de línea de comandos. Si queremos, podemos cambiar los colores reemplazando las palabras cyan, blue y white por otras, que representen los nombres de distintos colores en inglés.
Colocar una imagen de fondo
En vez de cambiar sólo los colores del menú, GRUB nos brinda la posibilidad de colocar una imagen de fondo para hacerlo aún más atractivo.
La imagen que se puede colocar en GRUB tiene que tener un máximo de 14 colores y una resolución de 640 x 480, tiene que estar en formato .xpm y comprimidas en .gz
Para saber desde GIMP cuántos colores tiene nuestra imagen ir a Imagen -> Modo -> Indexado.
Una vez tenemos la imagen, para ponerla de fondo editamos el archivo de configuración del menú de GRUB:
sudo gedit /boot/grub/menu.lst
Añadimos al principio la línea:
splashimage (hd0,2)/ruta imagen/imagen.xpm.gz
Donde (hd0,2) es donde se encuentra el directorio /boot. Esto varía según el equipo, para saber donde se encuentra debemos ejecutar:
sudo fdisk -l
Reiniciamos y listo, ya tendremos una imagen de fondo en el menú de arranque.
Referencias: Guía Ubuntu
Estaba buscando cómo cambiar el orden de Grub para que inicie Windows 1º porque en mi casa se pierden con el Grub...
Voy a probarlo ahora mismo a ver qué tal me sale :)
Saludos y gracias por la info.
Todos hemos pasado por eso :). Me alegro que te sirva. Si te surge alguna duda ya sabes.
Un saludo.
No comprendí muy bien lo dle "default 0" pero al 2º intento lo hice correctamente ;)
Lo he puesto en mi blog para tenerlo más a mano y no perder este post para cuando quiera modificar otras cosas del Grub y si de camino le sirve a otros pues mejor :D
Saludos!
Me alegro que funcionase :).
Comparte lo que quieras. La información está para eso ;).
Un saludo.
Muchas gracias por tu aporte Jabba, muy claro y preciso.
Saludos.
Hola,
soy nuevo en linux (uso ubuntu) y tengo una duda sobre el GRUB este.. El caso es que instalando las actualizaciones de linux, me han aparecido varias versiones de este y, cada vez que esto pasa, tengo que modificar el default para que me arranque windows por defecto.. Y, la verdad, empiezo a estar 1 poco cansado.. Hay alguna manera que el GRUB solo muestre 4 lineas (la version mas nueva de linux y windows, por ejemplo)?
Muchas gracias
Antes de nada, te agradecería que leyeras la sección correspondiente a los comentarios en el Acerca de.
Dicho esto, la verdad que no tengo ni idea de cómo hacer esto que pides. De todas formas tampoco supone demasiado modificar el menu.lst cada vez que se actualize el kernel (que tampoco es que sea todos los días). Además, es un minuto.
Muy util la info pero tengo una duda mas. Como hago para borrar una de las opciones en caso de que tenga duplicadas alguna de ellas?. Gracias.
Puedes hacer dos cosas, o borras las líneas que no quieres que aparezcan directamente del menu.lst y guardas los cambios, o pones # delante de las líneas que no quieres que se muestren (por si no quieres borrarlas) y se ocultarán.
Un saludo!
Muchas gracias men.
Muchas gracias por la ayuda
Carlos desde Argentina
Hola a todos, tenia Linux Kubuntu 8.04, recientemente lo actualize a Linux Kubuntu 8.1 KDE 4.1, al iniciar Kubuntu, inicia bien, ahora, mi problema es el siguiente, cuando entro en el Recovery System, y doy inicio al proceso de recuperacion de la maquina (se restaura al punto de fabrica), este, elimina Kubuntu 8.1 KDE 4.1 volviendo a dejar, Kubuntu 8.04, lo que quiero yo, es poder modificar la opcion Recovery System, para que cada vez que la restaure, ésta vuelva a como está ahora, con Kubuntu 8.1 KDE 4.1, la configuracion que tengo y todos los programas instalados, desde ya, el que me pueda ayudar, le agradezco mucho... Gracias...
Hola David. ¿De fábrica tu equipo venía con Kubuntu presintalado o con Windows? Lo digo porque si venía con Kubuntu preinstalado y restauras al punto de fábrica, evidentemente te va a borrar todos los cambios y programas que hayas instalado y te lo va a dejar como te venía de serie (con Kubuntu 8.04).
Si en cambio te venía con Windows, en el menú del Recovery System supongo que te preguntará sobre qué partición quieres que restaure el sistema. Si tu eliges la partición en la que tengas instalado windows, no puede borrarte ni kde 4.1 ni nada que no tengas en la partición original de Windows, así que no tiene demasiado sentido esto que comentas. Ya nos dices.
Un saludo
Tengo un teclado inalambrico:
¿Por qué no puedo utilizar el menu GRUB pero si puedo modificar la bios?
No lo entiendo
excelente me ha servido mucho
Hola.
Cada vez que Ubuntu se actualiza se agrega una nueva linea al grub. Mi pregunta es: como hago para que esto no suceda?. Solo quiero una sola opcion para entrar a ubuntu.
Desde ya muchas gracias!
Igual me equivoco, pero creo que eso que pides no es posible. De todas formas es tan sencillo como editar el archivo menu.lst para borrar u ocultar las líneas que no quieras cada vez que hagas una nueva actualización del kernel (no se tarda ni un minuto).
Un saludo
Hola! necesito saber si esta lineas de codigo las ingreso desde la terminal de linux o desde donde?
Desde una terminal escribes:
sudo gedit /boot/grub/menu.lst
con eso abres el archivo de texto en el cual modificas las líneas de código que puedes ver en el tutorial
hola...tengo un problema... instale windows y ubuntu... pero al instalar windows me borro en grub de ubuntu..eso lo arregle..ahora me sale solo el menu para ingresar a ubuntu pero no para ingresar a windows... me puedes ayudar a modificar para que me puedan salir los 2 en el menu??
Puede que hayas modificado el grub accidentalmente y ocultado o borrado las líneas relativas a Windows. Puedes hacer varias cosas:
La primera es reinstalar el grub. AQUÍ tienes una entrada que te puede servir de ayuda.
También puedes eliminar tu GRUB actual e instalar uno nuevo (con soporte gráfico) tal y como explico en ESTA OTRA ENTRADA (en tu caso haz sólo los puntos 1 y 2 del manual).
Si nada de esto te funciona (que lo dudo) puedes probar a añadir directamente al fichero de configuración del grub las líneas relativas a windows. Esto sería, abres una terminal y escribes:
sudo gedit /boot/grub/menu.lst
Al final del documento, justo después de:
title Ubuntu 9.10, memtest86+
uuid 48016f49-40ef-4a85-9fd7-ec0cec978a93
kernel /boot/memtest86+.bin
quiet
y antes de:
### END DEBIAN AUTOMAGIC KERNELS LIST
introduce lo siguiente:
title Microsoft Windows XP Professional
root (hd0,0)
savedefault
makeactive
chainloader +1
Donde pone root (hd0,0) tienes que poner el disco tuyo donde se va a instalar el grub. Si no lo sabes abre una terminal y escribe:
sudo grub
luego:
find /boot/grub/stage1
y la terminal te devolverá lo que estamos buscando. En mi caso:
(hd0,0)
Espero que te sirva!
cuando escribo sudo gedit /boot/grub/menu.lst, me pide una pass..la pongo y dsp me tira el sgite error:
(gedit:4392): Gtk-WARNING **: cannot open display:
no se xq..
Qué raro... eso pinta a que de alguna manera no detecta que estás conectado como root a las X.
Prueba a hacer lo mismo desde la Terminal de root. Si no te aparece por defecto, edita el menú Aplicaciones (botón derecho del ratón) y habilita su casilla para que se muestre en el menú de Herramientas del sistema.
Si no consigues nada, abre una terminal y escribe:
sudo /usr/X11R6/bin/xhost +
Si así tampoco funciona, sólo se me ocurre que pruebes a instalar gksu:
sudo apt-get install gksu
y uses gksu en lugar de sudo para abrir el menu.lst del grub.
Ya nos cuentas.
Gracias por la ayuda! Saludos desde Chile
No hay de qué. Saludos.
Hola! soy novata con ubuntu 9.10 Intente modificar el grub tal cual lo indicas en este post, pero cuando se abre el archivo menu.lst este está vacio y no puedo modificar nada, ¿que estaré haciendo mal? desde ya muchas gracias
Hola Emilce, cuando sucede eso es porque te está creando un archivo llamado menu.lst. Esto suele ser debido a que estás o bien escribiendo mal la ruta o bien escribiendo mal el nombre del archivo. Verifica antes de nada que en la ruta /boot/grub/ está el archivo menu.lst y de estar, comprueba también que escribes correctamente la orden en la terminal. Suerte ;)
Hola. A mi me pasa lo mismo que a Emilce el fichero se abre en blanco. Ya he comprobado todo lo que le dices en el comentario anterior pero esta todo ok?? Sabes que podria ser??
Muchas Gracias. SAludos
saludos, he probado este método ya unas cuantas veces y no lo consigo. soy novato totalmente en ubuntu, me costó saber lo que era una terminal XD
el caso es que nada más poner sudo gedit /boot/grub/menu.lst se me abre un editor de textos, pero no hay nada escrito...que hago???
gracias de antemano
Anónimo 29:
prueba copiando esto con los datos de tu distro, porque yo lo he hecho sobre Arch:
# Config file for GRUB - The GNU GRand Unified Bootloader
# /boot/grub/menu.lst
# DEVICE NAME CONVERSIONS
#
# Linux Grub
# -------------------------
# /dev/fd0 (fd0)
# /dev/sda (hd0)
# /dev/sdb2 (hd1,1)
# /dev/sda3 (hd0,2)
#
# FRAMEBUFFER RESOLUTION SETTINGS
# +-------------------------------------------------+
# | 640x480 800x600 1024x768 1280x1024
# ----+--------------------------------------------
# 256 | 0x301=769 0x303=771 0x305=773 0x307=775
# 32K | 0x310=784 0x313=787 0x316=790 0x319=793
# 64K | 0x311=785 0x314=788 0x317=791 0x31A=794
# 16M | 0x312=786 0x315=789 0x318=792 0x31B=795
# +-------------------------------------------------+
# for more details and different resolutions see
# http://wiki.archlinux.org/index.php/GRUB#Framebuffer_Resolution
# general configuration:
timeout 5
default 0
color light-blue/black light-cyan/blue
# boot sections follow
# each is implicitly numbered from 0 in the order of appearance below
#
# TIP: If you want a 1024x768 framebuffer, add "vga=773" to your kernel line.
#
#-*
# (0) Arch Linux
title Arch Linux
root (hd0,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/83d48ffd-4059-4729-a201-7b07baf12d1c ro
initrd /kernel26.img
# (1) Arch Linux
title Arch Linux Fallback
root (hd0,0)
kernel /vmlinuz26 root=/dev/disk/by-uuid/83d48ffd-4059-4729-a201-7b07baf12d1c ro
initrd /kernel26-fallback.img
# (2) Windows
#title Windows
#rootnoverify (hd0,0)
#makeactive
#chainloader +1
Para Jabba: ¿Por qué me pone Windows al final del fichero? Saludos
Y para finalizar anónimo 29:
No pongas sudo gedit, pon únicamente gedit, ya que el usuario root no ha ejecutado el entorno gŕafico. Primero prueba esto y si no te va prueba lo que te he dicho antes
Es más simple que todo eso. El problema es que este post lo publiqué en octubre de 2007, por aquel entonces el GRUB generaba un fichero llamado menu.lst en el que se guardaban las intrucciones que utilizaba el gestor de arranque, instrucciones que podíamos modificar a nuestro gusto. A partir de Karmic Koala esto deja de ser así ya que se instala por defecto una versión actualizada llamada GRUB 2 que ya no genera ese fichero. Ahora genera uno llamado grub.cfg que, aunque no lo recomiendan desde los foros oficiales de Ubuntu, puede ser igualmente "manipulado" por nosotros (la estrucutra es prácticamente idéntica al GRUB antiguo). A finales de 2009 publiqué un post sobre esto mismo:
http://www.elblogdejabba.com/2009/12/modificar-grub-2.html
Saludos!
gracias a los dos, sigo sin encontrar solución...como he dicho soy totalmente novato y tengo miedo de modificar lo que no debo...
Anónimo 33:
Échale un ojo a esto, además no es modo texto
http://ubuntulife.wordpress.com/2007/04/24/modificar-el-grub-y-la-pantalla-de-splash-de-manera-grafica/
Very nice post, thanks !
Hola estimado,
una consulta, ¿puede ser que el grub se modifique automaticamente y deje de hacer el conteo de espera? Porque me pasó que de un día para otro ya no contó más.
Hola anónimo, pues la verdad que sí y es algo bastante molesto que ocurre cada vez que hay una actualización del kernel, se actualiza el GRUB y se resetean los parámetros originales. Hay que volver a cambiar la información del tiempo de espera y demás cada vez cada vez que hay una actualización de este tipo. También puedes aprovechar y ocultar las líneas de los kernels antiguos que te aparecerán en el GRUB colacando un símbolo # delante de cada línea que no quieras mostrar.
Yo no sé por qué os salen esas cosas, a mí me sale "Arch Linux" y "Arch Linux fallback".
¿Hacéis colección de kernels?
Muchas gracias!!! Saludos.