Cómo configurar el gestor de arranque múltiple GRUB (GRand Unified Bootloader) en GNU Linux Ubuntu 8.10. Lo haremos modificando directamente el fichero menu.lst, ubicado en /boot/grub. Os explicamos cómo modificarlo manualmente y cómo utilizar el administrador de arranque en modo gráfico StartUp-Manager. También os explicamos cómo añadir una imagen al GRUB.
- Definición de GRUB.
- Modificación de las opciones de arranque de GRUB manualmente.
- Modificación de las opciones de GRUB con StartUp-Manager.
- Mostrar una imagen en el GRUB (arranque del equipo) con StarUp-Manager.
- Ejemplo fichero menu.lst.
- Anexo.
Definición de GRUB
GRand Unified Bootloader (GRUB) es un gestor de arranque múltiple que se usa para iniciar dos o más sistemas operativos instalados en un mismo ordenador.
Un gestor de multiarranque es aquel que puede cargar cualquier archivo ejecutable y que contiene un archivo de cabecera multiarranque en los primeros 8 KB del archivo. La cabecera consiste en 32 bits de números, 32 de indicadores (flags), otros 32 de números, seguidos de información sobre la imagen ejecutable.
Una de las características más interesantes es que no es necesario instalar una partición nueva o un núcleo nuevo, pudiendo cambiar todos los parámetros en el arranque mediante la Consola de GRUB.
Mientras los gestores de arranque convencionales tienen una tabla de bloques en el disco duro, GRUB es capaz de examinar el sistema de archivos. Actualmente, soporta los siguientes sistemas de archivos:
- ext2/ext3.
- ReiserFS.
- UFS.
- VFAT, FAT16, FAT32.
- NTFS.
- JFS.
- HFS.
Existen otros cargadores de arranque como LILO, SYSLINUX y los propios de sistemas como Windows, UNIX, etc.
GRUB realiza el siguiente proceso de inicio:
- Busca un dispositivo de inicio en la BIOS del equipo (como el disco duro) y pasa el control al registro maestro de inicio (Master Boot Record, MBR, los primeros 512 bytes del disco duro).
- El MBR contiene la fase 1 de GRUB, como el MBR solo admite 512 bytes, la fase 1 sólo carga la siguiente fase del GRUB (ubicado físicamente en cualquier parte del disco duro). La fase 1 puede cargar ya sea la fase 1.5 o directamente la 2.
- La fase 1.5 de GRUB está ubicada en los siguientes 30 kilobytes del disco duro. La fase 1.5 carga la fase 2.
- La fase 2 de GRUB (cargada por las fases 1 o 1.5) recibe el control, y presenta al usuario el menú de inicio de GRUB.
- GRUB carga el kernel (opción de arranque de un sistema operativo determinado con las opciones correspondientes) seleccionado por el usuario en la memoria y le pasa el control.
Modificación de las opciones de arranque de GRUB manualmente
Abriremos una ventana de terminal desde «Aplicaciones» – «Accesorios» – «Terminal», accede como superusuario «root» con el comando:
su – root
(para no acceder como root se puede utilizar el comando sudo…)
A continuación escribiremos el siguiente comando para acceder a la carpeta donde se encuentra el fichero menu.lst:
cd /boot/grub
A continuación ejecutaremos el siguiente comando Linux:
gedit menu.lst
En este fichero podremos configurar multitud de opciones del arranque de GRUB, por ejemplo podremos cambiar el texto que GRUB asigna a cada opción de arranque del GRUB de GNU Linux Ubuntu, desde el parámetro «title» de cada opción de arranque. En nuestro caso, para el arranque de Windows hemos modificado «title» poniendo «Windows XP Professional SP3 | Windows Vista Ultimate SP1»:
También hemos cambiado «title» de la opción que indica otros sistemas operativos (que no son Linux), esta opción sólo sirve para separar las opciones de arranque de GNU Linux de las de Windows (u otros sistemas no Linux):
En el principio del fichero menu.lst hay un parámetro llamado «timeout» que indica, en segundos, el tiempo que tardará GRUB en cargar la opción de arranque por defecto si no se indica lo contrario:
En el parámetro «default» indicaremos el número de opción de arranque que se cargará por defecto si no se indica otra cosa:
Este número se especifica de la siguiente forma, por cada opción de arranque del fichero menu.lst, GRUB cuenta desde cero hasta la última opción de arranque, por orden. Por ejemplo, para estas opciones de arranque del fichero menu.lst del GRUB:
# ————— OPCIÓN 0 —————–
title Ubuntu 8.10, kernel 2.6.27-7-generic
uuid e24fc89f-cb44-407c-a64b-c750be36f4fd
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=e24fc89f-cb44-407c-a64b-c750be36f4fd ro quiet splash
initrd /boot/initrd.img-2.6.27-7-generic
quiet
# ————— OPCIÓN 1 —————–
title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode)
uuid e24fc89f-cb44-407c-a64b-c750be36f4fd
kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=e24fc89f-cb44-407c-a64b-c750be36f4fd ro single
initrd /boot/initrd.img-2.6.27-7-generic
# ————— OPCIÓN 2 —————–
title Ubuntu 8.10, memtest86+
uuid e24fc89f-cb44-407c-a64b-c750be36f4fd
kernel /boot/memtest86+.bin
quiet
### END DEBIAN AUTOMAGIC KERNELS LIST
# ————— OPCIÓN 3 —————–
# This is a divider, added to separate the menu items below from the Debian
# ones.
title Otros sistemas operativos:
root
# ————— OPCIÓN 4 —————–
# This entry automatically added by the Debian installer for a non-linux OS
# on /dev/sdb1
title Windows XP Professional SP3 | Windows Vista Ultimate SP1
root (hd1,0)
savedefault
makeactive
map (hd0) (hd1)
map (hd1) (hd0)
chainloader +1
En este ejemplo, si queremos que GRUB marque «Ubuntu 8.10, kernel 2.6.27-7-generic» como opción por defecto, en el parámetro «default», introduciremos «0» (sin las comillas). Para que marque «Windows XP Professional SP3 | Windows Vista Ultimate SP1» por defecto introduciremos «4» en «default».
Cuando hayamos modificado las opciones del fichero menu.lst, lo guardaremos y tras reiniciar GNU Linux Ubuntu podremos comprobar la nueva configuración de GRUB en el arranque del equipo.
Otras opciones de GRUB (menu.lst)
- hiddenmenu: quitando las almoadillas a este parámetro (##) no aparecerá el menú de arranque de GRUB, sólo se mostrará si pulsamos la tecla Escape.
- color cyan/blue white/blue: quitando la almoadilla (#) el menú GRUB aparecerá en color.
- password: con este parámetro podremos indicar una contraseña para el arranque GRUB, por ejemplo «password miperro«, también podremos poner el Hash MD5 de una contraseña con «password –md5 MD5_de_una_contraseña«.
- memtest86=true: añade una opción de arranque para testear la memoria RAM del equipo.
Modificación de las opciones de GRUB con StartUp-Manager
En primer lugar instalaremos startupmanager utilizando el comando Linux apt-get, para ello abriremos una ventana de terminal y ejecutaremos el siguiente comando:
sudo apt-get install startupmanager
Ver la salida del comando anterior
Tras la instalación de StartUp-Manager, lo ejecutaremos con el comando:
sudo startupmanager
En la primera pestaña del Administrador de Arranque «Opciones de arranque» podremos configurar lo siguiente:
- Tiempo de espera: marcando la opción «Usar tiempo de espera en el menú del Cargador de arranque» podremos indicar, en «Tiempo de espera, en segundos» los segundos que tardará el gestor de arranque GRUB en establecer la opción por defecto (si no se especifica otra).
- Sistema operativo por defecto: en este desplegable podremos indicar qué sistema operativo se arrancará de forma automática si no se especifica lo contrario. En nuestro caso, al tener un arranque múltiple con Windows y Linux, indicaremos a GRUB que por defecto arranque en Windows.
- Pantalla: podremos indicar la resolución y profundidad del color.
- Otros: varias opciones como «mostrar menú en el Cargador de arranque», «Mostrar pantalla de inicio en el Arranque» y «Mostrar texto durante el arranque».
En la siguiente pestaña, «Aspecto», podremos indicar:
- Si queremos que GRUB aparezca en color en «Colores del menú del Cargador de arranque«.
- Tema del Cargador de arranque: en este apartado podremos indicar la imagen que GRUB colocará de fondo.
En la pestaña «Seguridad» podremos configurar los siguientes aspectos de GRUB:
- Opciones de protección: marcando la opción «Proteger con contraseña el Cargador de arranque» conseguiremos que sólo puedan acceder al equipo los usuarios que sepa la contraseña. También podremos «Proteger con contraseña el modo de rescate» y las opciones antiguas de arranque.
- Cambiar Contraseña: en este apartado podremos añadir la contraseña que los usuarios deberán saber para poder arrancar un sistema operativo del GRUB.
En la solapa «Avanzado» podremos realizar los siguientes ajustes en el GRUB:
- Número de kernels: marcando «Limitar el número de kernels en el menú de arranque» e indicando el número máximo en «Número de kernels a mantener» indicaremos a GRUB que sólo muestre el número de kernels (revisiones o actualizaciones del núcleo o kernel) que le indiquemos, mostrará los más recientes primero.
- Otros: en este apartado podremos «Crear opción de arranque para memtest86+», marcando esta opción nos aparecerá en el GRUB una línea que permitirá realizar un test de memoria del equipo, interesante cuando queramos comprobar el estado de la memoria RAM de nuestro sistema. También podremos «Crear opción de arranque para el modo recuperación», con esta opción marcada en el GRUB aparecerá una opción que permitirá arrancar GNU Linux Ubuntu en modo recuperación. Desde aquí también podremos «Actualizar automáticamente las opciones predeterminadas del arranque», crear un disco de rescate (opción interesante por si debido a alguna neglicencia o mala instalación de algún sistema operativo perdemos el GRUB, arrancando con este disquete podremos tener el GRUB). También podremos restaurar la confiuración original pulsando en «Restaurando la configuración original».
Ver cómo queda el fichero menu.lst
Mostrar una imagen en el GRUB (arranque del equipo) con StartUp-Manager
Utilizaremos como ejemplo el logotipo de AjpdSoft, partiendo de una imangen en jpg pulsaremos con el botón derecho del ratón, en el menú emergente de Linux Ubuntu seleccionaremos «Abrir con» y en el submenú que aparece seleccionaremos «Abrir con «Editor de imágenes GIMP»:
A continuación realizaremos varias tareas:
- Para que la imagen aparezca «bien» en GRUB como máximo debe tener 14 colores, puede superarlos pero tal vez no se vea bien.
- El tamaño de la imagen no debe superar los 640×480 píxeles, puede superarlos pero tal vez no se vea bien.
- Convertiremos la imagen a X PixMap (xpm), para ello accederemos al menú «Archivo» – «Guardar como…»:
En la parte inferior, en el desplegable seleccionaremos «Imagen X PixMap (*.xpm), en la parte superior, en «Nombre» podremos un nombre para el fichero, por ejemplo «logo-grub.xpm»:
Ahora comprimiremos la imagen logo-grup.xpm en GZ, para ello pulsaremos con el botón derecho sobre el fichero logo-grup.xpm, en el menú emergente seleccionaremos «Crear archivador…»:
En «Archivador» pondremos el nombre que queramos», en el desplegable de tipos de compresión seleccionaremos GZ, pulsaremos «Crear» para generar el fichero comprimido:
En la pestaña «Aspecto» de StartUp-Manager pulsaremos en «Administrar temas del Cargador de arranque»:
Pulsaremos el botón «+ Añadir»:
Buscaremos el fichero comprimido anteriormente en GZ, logo-grup.xpm.gz y pulsaremos «Abrir»:
En el desplegable de «Imagen de fondo del Grub» seleccionaremos «logo-grub», después marcaremos la opción «Usar una imagen de fondo para el menú del Cargador de arranque»:
Ver cómo queda el fichero menu.lst
Anexo
Resultado de la ejecución del comando sudo apt-get install startupmanager
alonso@pcalonso:~$ sudo apt-get install startupmanager
[sudo] password for alonso:
Leyendo lista de paquetes… Hecho
Creando árbol de dependencias
Leyendo la información de estado… Hecho
Se instalaron de forma automática los siguientes paquetes y ya no son necesarios.
linux-headers-2.6.27-7 linux-headers-2.6.27-7-generic
Utilice «apt-get autoremove» para eliminarlos.
Se instalarán los siguientes paquetes extras:
imagemagick menu
Se instalarán los siguientes paquetes NUEVOS:
imagemagick menu startupmanager
0 actualizados, 3 se instalarán, 0 para eliminar y 0 no actualizados.
1 no instalados del todo o eliminados.
Necesito descargar 1953kB de archivos.
Se utilizarán 7647kB de espacio de disco adicional después de desempaquetar.
¿Desea continuar [S/n]? s
Des:1 http://es.archive.ubuntu.com intrepid/main imagemagick 7:6.3.7.9.dfsg1-2ubuntu3 [1424kB]
Des:2 http://es.archive.ubuntu.com intrepid/universe menu 2.1.40ubuntu1 [439kB]
Des:3 http://es.archive.ubuntu.com intrepid/universe startupmanager 1.9.11-1 [90,2kB]
Descargados 1953kB en 2s (858kB/s)
Seleccionando el paquete imagemagick previamente no seleccionado.
(Leyendo la base de datos …
116042 ficheros y directorios instalados actualmente.)
Desempaquetando imagemagick (de …/imagemagick_7%3a6.3.7.9.dfsg1-2ubuntu3_amd64.deb) …
Seleccionando el paquete menu previamente no seleccionado.
Desempaquetando menu (de …/menu_2.1.40ubuntu1_amd64.deb) …
Seleccionando el paquete startupmanager previamente no seleccionado.
Desempaquetando startupmanager (de …/startupmanager_1.9.11-1_all.deb) …
Procesando activadores para man-db …
Procesando activadores para doc-base …
Processing 2 added doc-base file(s)…
Registering documents with scrollkeeper…
Configurando system-tools-backends (2.6.0-1ubuntu1.1) …
* Starting System Tools Backends system-tools-backends invoke-rc.d: initscript system-tools-backends, action «start» failed.
dpkg: error al procesar system-tools-backends (–configure):
el subproceso post-installation script devolvió el código de salida de error 1
Configurando imagemagick (7:6.3.7.9.dfsg1-2ubuntu3) …
Configurando menu (2.1.40ubuntu1) …
Procesando activadores para menu …
Configurando startupmanager (1.9.11-1) …
Procesando activadores para menu …
Se encontraron errores al procesar:
system-tools-backends
E: Sub-process /usr/bin/dpkg returned an error code (1)
alonso@pcalonso:~$
Fichero menu.lst tras configuración con startupmanager
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 |
# menu.lst - See: grub(8), info grub, update-grub(8) # grub-install(8), grub-floppy(8), # grub-md5-crypt, /usr/share/doc/grub # and /usr/share/doc/grub-doc/. ## default num # Set the default entry to the entry number NUM. Numbering starts from 0, and # the entry number 0 is the default if the command is not used. # # You can specify 'saved' instead of a number. In this case, the default entry # is the entry saved with the command 'savedefault'. # WARNING: If you are using dmraid do not use 'savedefault' or your # array will desync and will not let you boot your system. default 6 ## timeout sec # Set a timeout, in SEC seconds, before automatically booting the default entry # (normally the first entry defined). timeout 4 ## hiddenmenu # Hides the menu by default (press ESC to see the menu) #hiddenmenu # Pretty colours #color cyan/blue white/blue #A splash image for the menu splashimage=/boot/grub/splashimages/logo-grub.xpm.gz ## password ['--md5'] passwd # If used in the first section of a menu file, disable all interactive editing # control (menu entry editor and command-line) and entries protected by the # command 'lock' # e.g. password topsecret ## password --md5 $1$gLhU0/$aW78kHK1QfV3P2b2znUoe/ #password topsecret # examples # # title Windows 95/98/NT/2000 # root (hd0,0) # makeactive # chainloader +1 # title Linux # root (hd0,1) # kernel /vmlinuz root=/dev/hda2 ro # Put static boot stanzas before and/or after AUTOMAGIC KERNEL LIST ### BEGIN AUTOMAGIC KERNELS LIST ## lines between the AUTOMAGIC KERNELS LIST markers will be modified ## by the debian update-grub script except for the default options below ## DO NOT UNCOMMENT THEM, Just edit them to your needs ## ## Start Default Options ## ## default kernel options ## default kernel options for automagic boot options ## If you want special options for specific kernels use kopt_x_y_z ## where x.y.z is kernel version. Minor versions can be omitted. ## e.g. kopt=root=/dev/hda1 ro ## kopt_2_6_8=root=/dev/hdc1 ro ## kopt_2_6_8_2_686=root=/dev/hdc2 ro # kopt=root=UUID=e24fc89f-cb44-407c-a64b-c750be36f4fd ro ## default grub root device ## e.g. groot=(hd0,0) # groot=e24fc89f-cb44-407c-a64b-c750be36f4fd ## should update-grub create alternative automagic boot options ## e.g. alternative=true ## alternative=false # alternative=true ## should update-grub lock alternative automagic boot options ## e.g. lockalternative=true ## lockalternative=false # lockalternative=false ## additional options to use with the default boot option, but not with the ## alternatives ## e.g. defoptions=vga=791 resume=/dev/hda5 # defoptions=quiet splash vga=794 ## should update-grub lock old automagic boot options ## e.g. lockold=false ## lockold=true # lockold=false ## Xen hypervisor options to use with the default Xen boot option # xenhopt= ## Xen Linux kernel options to use with the default Xen boot option # xenkopt=console=tty0 ## altoption boot targets option ## multiple altoptions lines are allowed ## e.g. altoptions=(extra menu suffix) extra boot options ## altoptions=(recovery) single # altoptions=(recovery mode) single ## controls how many kernels should be put into the menu.lst ## only counts the first occurence of a kernel, not the ## alternative kernel options ## e.g. howmany=all ## howmany=7 # howmany=all ## should update-grub create memtest86 boot option ## e.g. memtest86=true ## memtest86=false # memtest86=true ## should update-grub adjust the value of the default booted system ## can be true or false # updatedefaultentry=false ## should update-grub add savedefault to the default options ## can be true or false # savedefault=false ## ## End Default Options ## title Ubuntu 8.10, kernel 2.6.27-9-generic uuid e24fc89f-cb44-407c-a64b-c750be36f4fd kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=e24fc89f-cb44-407c-a64b-c750be36f4fd ro quiet splash vga=794 initrd /boot/initrd.img-2.6.27-9-generic quiet title Ubuntu 8.10, kernel 2.6.27-9-generic (recovery mode) uuid e24fc89f-cb44-407c-a64b-c750be36f4fd kernel /boot/vmlinuz-2.6.27-9-generic root=UUID=e24fc89f-cb44-407c-a64b-c750be36f4fd ro single initrd /boot/initrd.img-2.6.27-9-generic title Ubuntu 8.10, kernel 2.6.27-7-generic uuid e24fc89f-cb44-407c-a64b-c750be36f4fd kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=e24fc89f-cb44-407c-a64b-c750be36f4fd ro quiet splash vga=794 initrd /boot/initrd.img-2.6.27-7-generic quiet title Ubuntu 8.10, kernel 2.6.27-7-generic (recovery mode) uuid e24fc89f-cb44-407c-a64b-c750be36f4fd kernel /boot/vmlinuz-2.6.27-7-generic root=UUID=e24fc89f-cb44-407c-a64b-c750be36f4fd ro single initrd /boot/initrd.img-2.6.27-7-generic title Ubuntu 8.10, memtest86+ uuid e24fc89f-cb44-407c-a64b-c750be36f4fd kernel /boot/memtest86+.bin quiet ### END DEBIAN AUTOMAGIC KERNELS LIST # This is a divider, added to separate the menu items below from the Debian # ones. title Otros sistemas operativos: root # This entry automatically added by the Debian installer for a non-linux OS # on /dev/sdb1 title Windows XP Professional SP3 | Windows Vista Ultimate SP1 root (hd1,0) savedefault makeactive map (hd0) (hd1) map (hd1) (hd0) chainloader +1 |
Tecnología empleada
- GNU Linux Ubuntu 8.10.
- StartUp-Manager 1.9.11-1.
- Microsoft Windows XP Professional.