Grub 1 hasta Ubuntu 8.10

GRUB (GRand Unifier Bootloader) es un gestor de arranque: es lo primero que se carga cuando se inicia la computadora. Permite tener diferentes sistemas operativos, y diferentes versiones de ellos, en el mismo disco duro. Por ejemplo podemos tener Windows y GNU/Linux en la misma computadora, GRUB se cargará antes que cualquiera de éstos permitiéndonos elegir cuál iniciar.

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.

Los errores en las modificaciones de GRUB pueden llevar a problemas con el arranque. Por esto es recomendable hacer una copia de seguridad del archivo menu.lst antes de realizar algún cambio. Se puede hacer con el siguiente comando:

Antes que todo nos loguiamos como root

$ su
(cable super vaca)

copia de seguridad(recomendada)

# cp /boot/grub/menu.lst /boot/grub/menu.lst.77

Luego, para restaurar la copia de seguridad, hacemos lo siguiente:

# cp /boot/grub/menu.lst.77 /boot/grub/menu.lst



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:

# vim /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.

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:

# vim /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.

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:

# vim /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.


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:

# vim /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 topsecret

* Guardamos el archivo y cerramos el editor.

Ahora la contraseña es topsecret, se puede cambiar e introducir la que se desee.

Codificar contraseña

Si queremos que nadie pueda leer la contraseña en el archivo de configuración de GRUB, el programa también ofrece la posibilidad de codificarla en formato md5:

# grub update

* Aparece la consola de GRUB, entonces escribimos:

grub> md5crypt

* Introducimos la palabra a codificar, en este caso topsecret, el programa devolvería el valor:

$1$ddTCc1$8v3fWFR4m5kDfuRG5LUHo/'

* Lo copiamos y volvemos a la consola de Ubuntu:

grub> quit

* En el archivo de configuración del menú de GRUB, borramos la siguiente línea:

# password topsecret'

En su lugar, escribimos:

password --md5 $1$ddTCc1$8v3fWFR4m5kDfuRG5LUHo/

Y ya tenemos nuestro GRUB protegido por contraseña cifrada.

* Guardamos los cambios y cerramos el editor.

Si queremos restringir el acceso a algún elemento del menú de GRUB, basta con añadir después del título del menú una línea con la contraseña, por ejemplo:

title Ubuntu, kernel 2.6.15-26-386 (recovery mode)
password --md5 $1$ddTCc1$8v3fWFR4m5kDfuRG5LUHo/
root (hd1,0)
kernel /boot/vmlinuz-2.6.15-26-386 root=/dev/hdb1 ro single
initrd /boot/initrd.img-2.6.15-26-386
boot

* Guardamos los cambios y cerramos el editor.

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:

# vim /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 un tamaño de 640 × 480 píxeles. Tiene que estar grabada en formato .xpm y conviene que esté comprimida con gzip (extensión .gz), aunque no es imprescindible.

* Para saber desde GIMP cuántos colores tiene nuestra imagen ve a Colores -> Info -> Análisis del cubo de color...
* Si tiene más de 14 colores, podemos reducir el número con Imagen -> Modo -> Indexado.
* Una vez tenemos la imagen, para ponerla de fondo editamos el archivo de configuración del menú de GRUB:

# vim /boot/grub/menu.lst

* Añadimos al principio la línea:

splashimage (hd0,2)/ruta imagen/imagen.xpm.gz

Donde (hd0,2) identifica el disco y partición donde se encuentra la imagen. Esto varía según el equipo. Si tienes un solo disco duro, antes de la coma irá hd0; si tienes Ubuntu en una sola partición, pero compartiendo el disco con otro sistema operativo, posiblemente irá después de la coma un 1. Puede ayudarte ejecutar:

# fdisk -l

teniendo en cuenta que GRUB numera las particiones desde 0 (por ejemplo, (hd0,1) se corresponde con sda2; (hd1,2) con sdb3).

* Reiniciamos y listo, ya tendremos una imagen de fondo en el menú de arranque.

Comentarios