Gestor de arranque GRUB

De Wiki de Ubuntu para todos

Tabla de contenidos

[editar] - ¿Qué es GRUB?

GRUB es un gestor de arranque (lo primero que se carga cuando se inicia el PC).
Nos permite elegir, mediante un menú, qué Sistema Operativo (Ubuntu, Windows, etc.) queremos iniciar entre los diferentes que tengamos en nuestros discos duros.

[editar] - Archivo de configuración del menú de GRUB:

Los parámetros de configuración del menú están en el archivo /boot/grub/menu.lst.
Debemos editar este archivo, como superusuario, para hacer cambios en el menú de arranque (antes es recomendable hacer antes una copia de seguridad):

* Hacer copia de seguridad (menu.lst.backup):
usuario@maquina:~$ sudo sudo cp /boot/grub/menu.lst /boot/grub/menu.lst.backup

* Editar archivo configuración (menu.lst)
usuario@maquina:~$ sudo vim /boot/grub/menu.lst
 -[Insert] para empezar a editar.
 -[Esc + :q! + Enter] para no guardar cambios.
 -[Esc + x + Enter] para guardar los cambios.

* Restaurar archivo mediante copia de seguridad:
usuario@maquina:~$ sudo cp /boot/grub/menu.lst.backup /boot/grub/menu.lst

Los posible cambios se detallan a continuación.

[editar] - Modificar el Menú de Arranque de GRUB:

Recién instalado el GRUB, el archivo /boot/grub/menu.lst tiene unos valores por defecto; pero podemos hacer varias modificaciones para conseguir un gestor de arranque más personalizado.

Recuerda:
-[Insert] para empezar a editar.
-[Esc + :q! + Enter] para no guardar cambios.
-[Esc + x + Enter] para guardar los cambios.


- Cambiar lineas del menú:


Al final del archivo de configuracion (/boot/grub/menu.lst) tenemos varias lineas que empiezan por "title"; cada una de ellas representa una linea del menú.
Respetando los valores que tengas, puedes hacer los cambios que quieras según el formato siguiente:

title
root          (hdX,Y) * Para discos SATA será (sdX,Y)
kernel        /boot/lo_que_sea...
initrd        /boot/initrd.lo_que_sea...
quiet
savedefault
makeactive
chainloader

Las lineas title y root son obligatorias y las demás se ponen según sea el caso:

  1. title: texto que quieres poner en esta linea ('Feisty kernel X - recovery'... ó linea de puntos, por ejemplo).
  2. root: para la partición (Y+1) del disco X (0=a; 1=b; etc.) donde se encuantra el Sistema Operativo; será (hdX,Y) para IDE y (sdX,Y) para SATA... para los separadores no se pone nada.
  3. kernel: para GNU/Linux se coloca el kernel correspondiente; no hace falta para Window$ ni separadores.
  4. initrd: sólo para kernel de GNU/Linux.
  5. quiet: sólo para GNU/Linux (excepto recovery mode).
  6. savedefault: para lineas de Sistemas Operativos.
  7. makeactive: para win$ (sin valor)
  8. chainloader: para win$ (+1, por ejemplo)


+ Si los cambios son muchos, puedes tener problemas; cuando actualices el kernel se incluirán nuevas lineas que modificarán lo editado y obligarán a editar nuevamente para el nuevo kernel.

+ Con los cambios puede que la linea que aparece seleccionada por defecto esté en una opción diferente; para cambiar el sistema operativo por defecto, sigue el siguiente punto.


- Cambiar el sistema operativo por defecto:


Podemos modificar GRUB para que la linea que aparece selecionada esté por defecto en una opción en concreto.
En las primeras lineas del archivo de configuracion (/boot/grub/menu.lst) tenemos una linea que empieza por "default" y tiene un valor asignado; debemos cambiar ese valor por el número que ocupe en la lista el Sistema Operativo que queremos que se inicie por defecto.. pero empezando por 0 (linea X -> valor X-1); este es un ejemplo:

default   0   --> para linea 1
.
.
default   9   --> para linea 10


- Cambiar el tiempo de espera:


GRUB cuenta por defecto 10 segundos antes de iniciar automáticamente desde la linea que esté seleccionada por defecto.
Para modificar este tiempo debemos modificar el archivo de configuracion (/boot/grub/menu.lst) donde tenemos una linea que empieza por "timeout" y tiene un valor asignado (X segundos) que podemos variar.

timeout  X


- Cambiar colores del fondo y letras:


Por defecto el menú de GRUB tiene fondo negro con letras blancas.
Para cambiar estos colores por otros que nos gusten más, buscamos la siguiente linea:

# color cyan/blue white/blue

y eliminamos la almohadilla (#) para descomentarla:

color cyan/blue white/blue

dandole otros valores (colores en ingles) si lo deseamos:

color yellow/blue yellow/blue; por ejemplo


- Colocar una imagen como fondo:


Es posible colocar una imagen como fondo del menú de GRUB, pero con unos requisitos:

  • resolución: 640 x 480 px.
  • formato: .xpm
  • comprimida: .gz
  • colores: máximo 14 (GIMP => Imagen > Modo > Indexado)

Para insertar la imagen debemos modificar el archivo de configuracion (/boot/grub/menu.lst) donde debemos incluir una linea que empiece por "splashimage" y que tenga como valor la ruta a la imagen:

splashimage (hdX,Y)/ruta_imagen/nombre_imagen.xpm.gz ----> (hdX,Y) = partición (Y+1) del disco X (0=a; 1=b; etc.);
                                                                     donde se encuentra el directorio /boot.
                                                                     * Para discos SATA será (sdX,Y)


- Ocultar el menu:


Si queremos que no aparezca el menú de GRUB durante el arranque del sistema, debemos buscar en el archivo de configuracion (/boot/grub/menu.lst) la siguiente linea:

#hiddenmenu

y eliminamos la almohadilla (#) para descomentarla:

hiddenmenu

+ Si por algún motivo queremos que se muestre el menú de GRUB durante el arranque, debemos pulsar la tecla 'Escape' (Esc).


- Proteger mediante contraseña:


También es posible establecer una contraseña para evitar que usuarios no autorizado puedan editar los parámetros de GRUB durante su ejecución; para ello debemos buscar en el archivo de configuracion (/boot/grub/menu.lst) la siguiente linea:

#password  topsecret

y eliminamos la almohadilla (#) para descomentarla:

password   topsecret

También podemos cambiar el valor por defecto (topsecret) si lo deseamos:

password   mi_nueva_contraseña

+ Para introducir la contraseña se debe pulsar la tecla 'p' durante la ejecución de GRUB.


- Codificar la contraseña:


Una vez establecida la contraseña, podemos evitar que se lea fácilmente en el archivo de configuración (/boot/grub/menu.lst). Para ello podemos codificarla en formato md5 de la siguiente manera:

Desde consola, introducimos este comando:

$ sudo grub update 

Una vez en la consola de GRUB, escribimos lo siguiente:

grub> md5crypt

y tecleamos la contraseña que queremos codificar; al pulsar 'enter', nos devolverá un valor que debemos copiar.


Tomaremos el valor $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$ para el ejemplo y cerramos GRUB:

grub> quit

Ahora editamos el archivo de configuración (/boot/grub/menu.lst) siguiendo los mismos pasos que para "Proteger mediante contraseña" pero introduciendo el parametro '--md5' y el valor codificado que apuntamos antes.

password   --md5 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$


+ Si queremos restringir el acceso a una linea concreta del menú de GRUB tenemos que editar el archivo de configuracion (/boot/grub/menu.lst), buscar la linea correspondiente (ver 'Cambiar lineas del menú) y añadir, después del título ('title'), una línea con el valor codificado de la contraseña:

title      Linea que queremos proteger
password   --md5 $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$


[editar] - GRUB al estilo de SuSE:


Imagen:Nota_clasica.pngContenido en edición


[editar] - GrubEd, editor gráfico para GRUB:


Imagen:Nota_clasica.pngContenido en edición


[editar] - Recuperar GRUB:

Cuando en una máquina donde ya existe un GNU/Linux (Ubuntu en este caso) instalamos un Sistema Operativo distinto (Window$, por ejemplo), este último edita el MBR (Master Boot Record) borrándonos el GRUB.

Existen varios métodos para solucionar este problema que se describen a continuación:

- Usando distribución live-CD:


Para recuperar el GRUB podemos usar una distribución Live; nos sirve cualquier distribución en modo live-CD que use GRUB como gestor de arranque (algunas usan LILO)... nosotros usaremos el Ubuntu desktop, pero no es necesario que sea la misma versión que teneis instalada (el GRUB es el mismo).

Estos son los pasos a seguir:

0 - Nos aseguramos de que la BIOS esté configurada para iniciar desde la unidad de CD antes que desde el disco duro.

1 - Metemos el CD en el lector, encendemos la máquina y esperamos a que inicie.

2 - En la pantalla de bienvenida tendremos varias opciones: con 'F2' seleccionamos el idioma y con 'F3' la distribución del teclado.

3 - Seleccionamos la opción "Iniciar o Instalar Ubuntu" para que carge en modo Live-CD.

4 - Accedemos como root a una terminal (Programas > Accesorios > Terminal); si no tenemos la cuenta de root activada debemos escribir 'sudo' delante de los siguientes comandos.

5 - Creamos una carpeta donde montar la partición de Ubuntu:

usuario@maquina:~# mkdir /mnt/ubuntu

6 - Montamos la partición donde esté instalado Ubuntu:

 usuario@maquina:~# mount -t ext3 /dev/hda1 /mnt/ubuntu

+ Normalmente, el sistema de archivos es 'ext3' ; si no es nuestro caso, lo cambiamos. + La partición donde está instalado Ubuntu puede cambiar; si en nuestro caso no es 'hda1' , lo cambiamos.

7 - Cambiamos el origen de la raíz (/index.html) al directorio en el que hemos montado Ubuntu (/mnt/ubuntu), para que GRUB piense que está ahí:

 usuario@maquina:~# chroot /mnt/ubuntu/

8 - Instalamos el GRUB en el MBR del primer disco duro, que normalmente estará configurado como Primary Master (hda):

 usuario@maquina:~# grub-install /dev/hda

9 - Reiniciar nuestro sistema y ya deberíamos tener nuestro nuevo gestor de arranque GRUB.



-Usando SuperGrub Disk:


Podemos usar esta aplicación que nos ayuda a restaurar nuestro GRUB de una manera muy sencilla.
Podemos descargarla desde aquí.


Imagen:Nota_clasica.pngContenido en edición




-Usando el intérprete de comandos GRUB:



Imagen:Nota_clasica.pngContenido en edición





.by Oki4free

Herramientas personales