lunes, 19 de julio de 2010

Edición básica del Grub2

En Ubuntu 9.10/10.04 ( y Mint 8/9 y Guadalinex v7 ) el Grub de versiones anteriores ha sido sustituido por el Grub2 como "gestor de arranque múltiple" para elegir que sistema operativo iniciar.

En este tema solo expongo lo que considero que es necesario conocer cuando el único sistema operativo que se tiene instalado en el pc es Linux. ( Lo siento si te interesa información sobre como añadir la entrada para el Windows, pero hace ya tiempo que no lo tengo en mi portátil - el xp fué el último que tuve - pero en Google hay información al respecto...ademas si ellos no dan información ni facilidades para que se use Linux, ¿ porque ibamos a dar los usuarios de Linux información para el uso de Windows ?)

Al contrario que con el Grub en el que solo hay que editar un archivo /boot/grub/menu.lst, para editar Grub2 hay que modificar varios archivos, según lo que queramos cambiar.

En todo caso, todos los archivos que hay que editar hay que hacerlo con permisos de root: sudo gedit nombre_del_archivo.

Siempre, después de la edición del archivo correspondiente: guardamos los cambios del fichero que hayamos modificado, lo cerramos y ejecutamos el siguiente comando para actualizar el Grub2: sudo update-grub2

Hacer que aparezca el menú del grub2: Si con el sistema recién instalado no te aparece el menú del Grub2, y se inicia automáticamente la sesión normal del sistema, es conveniente/altamente recomendable que cambies la situación para que te aparezca el menú del Grub2, para que puedas elegir por ejemplo iniciar en el "recovery mode".

Para ello edita el fichero /etc/default/grub ( con lo siguiente en la terminal: sudo gedit /etc/default/grub ) de forma que aparezca el símbolo # delante de las siguientes entradas:

GRUB_DEFAULT=0
#GRUB_HIDDEN_TIMEOUT=0
#GRUB_HIDDEN_TIMEOUT_QUIET=true
GRUB_TIMEOUT=10
GRUB_DISTRIBUTOR=`lsb_release -i -s 2> /dev/null || echo Debian`
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX=" splash"


Guarda los cambios realizados en el archivo, y luego recuerda ejecutar en la terminal el comando sudo update-grub2

Cambiar la resolución de la pantalla del Grub2:

Se ejecuta: sudo gedit  /etc/grub.d/00_header para editarlo: se busca la linea que empieza por set gfxmode=  y a continuación del signo = se pone la configuración que se quiera ( en este ejemplo 640x480) ; se guardan los cambios realizados a dicho archivo, y se ejecuta la orden sudo update-grub2 para que se actualice el grub2.

set gfxmode=640x400
insmod gfxterm
insmod vbe
terminal gfxterm

Cambiar la imagen de fondo del menú:

Obtienes de donde quieras una imagen que te guste, ( por ejemplo instalando el paquete grub2-splashimages - se instalaran varias imágenes.tga en el directorio /usr/share/images/grub/ ) o incluso la creas tú.
- la abres con Gimp y la editas para asegurarte que tiene esta dimensión 640 x 480 pixels ( Gimp-imagen-escalar imagen ), la guardas con el nombre linuxmint.png ( asegúrate que la extensión es .png )
- abres nautilus en modo root y vas a la carpeta /boot/grub y en ella veras que hay una imagen llamada linuxmint.png, bueno pues esta imagen que viene por defecto la sobreescribes con tu imagen linuxmint.png
- cierras el nautilus en modo root
- reinicias el sistema y veras que ya tienes como imagen de fondo del Grub2 la imagen que tu hayas puesto de la forma anterior.

A mi me ha funcionado perfectamente, y he cambiado varias veces la imagen del Grub2, sobreescribiendo la imagen linuxmint.png con una nueva con el mismo nombre.
Ademas este método tiene la ventaja de que no toca "archivos sensibles" del sistema.

En este caso he puesto como se hace en Mint9, que es donde lo he probado, donde la imagen del Grub2 se llama por defecto linuxmint.png , lógicamente en otras distros este nombre variará, pero el método de cambiar la imagen de fondo del Grub2 debe ser similar.

En varios foros he visto que hay otro método de cambiar la imagen de fondo del grub2, ( editando el archivo /etc/grub.d/05_debian_theme ) pero me parece mas complicado.

Cambiar el color del texto de las líneas del menú:
Antes de modificar los colores del texto debemos tener una imagen de fondo. Para modificar los colores del texto abrimos el archivo /etc/grub.d/05_debian_theme ejecutando en la terminal: sudo gedit /etc/grub.d/05_debian_theme. Y buscamos en la sección:



# set the background if possible

if background_image `make_system_path_relative_to_its_root ${bg}` ; then
set color_normal=yellow/blue
set color_highlight=green/black

Donde: --- en "set color_normal" yellow es el color del texto sin seleccionar y blue es el color del fondo la línea del texto sin seleccionar, del menú del grub2

--- en "set color_highlight", "green" es el color del texto seleccionado y "black" es el color del fondo en la línea de texto seleccionado. ( Hay que tener en cuenta que el color black colocado en este segundo lugar no hace que el fondo sea negro, sino transparente) .

Los colores que se pueden utilizar son: rojo = red ; verde = green; azul =blue;  amarillo = yellow ; cian = cyan ; magenta = magenta ;  blanco = white ; negro = black ( transparente = black , si se pone como color en el segundo lugar ).

Después de modificar el archivo, y guardar los cambios, debemos como siempre  actualizar el menú del Grub2 con el comando: sudo update-grub2


Eliminar la entrada de memtest:  
Basta con quitarle los permisos de ejecución, con la línea de comandos:
sudo chmod -x /etc/grub.d/20_memtest86+
Y si quieres volver a recuperarlo, solo tienes que cambiar la opción -x por +x en la orden anterior.
sudo chmod +x /etc/grub.d/20_memtest86+

Añadir y Quitar líneas correspondientes a un kernel

A) Añadir lineas correspondientes a un nuevo kernel: se añaden de forma automática al instalar un nuevo kernel, bien con synaptic o bien con el gestor de actualizaciones.

B) Añadir lineas que hacen referencia a un kernel antiguo:  Desinstalar un  kernel

Primero averiguar que kernels tenemos instalados, ejecutando en la terminal: sudo dpkg --get-selections | grep linux-image

Luego eliminamos los kernels antiguos, por ejemplo para eliminar el 2.6.20-14-generic,  sudo apt-get remove --purge linux-image-2.6.20-14-generic 

Con esto se habrá desinstalado completamente el kernel antiguo, y además se realizara un update del grub de forma automática, eliminando la entrada del kernel antiguo, pero aún podemos para asegurarnos que el grub2 esta actualizado, ejecutar : sudo update-grub2

Editar el tiempo que se mantiene activa la pantalla del grub2 hasta que se inicia el sistema (timeout ):

Se ejecuta en la terminal: sudo gedit /etc/default/grub , y se edita la entrada GRUB_TIMEOUT=5 se cambia 5 por el tiempo en segundos que se quiera. Guardamos los cambios hechos en el fichero y ejecutamos en la terminal para actualizar el Grub2: sudo update-grub2 .

Cambiar el sistema que se inicia por defecto:
En el archivo: /etc/default/grub se edita GRUB_DEFAULT=0
teniendo en cuenta que GRUB_DEFAULT= corresponde a la línea del menú por defecto: 0 es la primera, 1 la segunda, 2 la tercera, etc. etc.
Guardamos los cambios hechos en el  fichero, cerramos el archivo,  y ejecutamos el siguiente comando para actualizar el grub:
sudo update-grub2

Iniciar una iso de Ubuntu guardada en el disco duro desde el grub2: Esto es una nueva opción que tiene el Grub2, que no tenia el Grub. De esto trata el tema: iniciar-una-imagen-iso-de-Ubuntu-guardada-en-el-disco-duro-desde-el-Grub2

----------------------------------

Algunas opciones se pueden cambiar con el programa Startupmanager: pero varias de las opciones que se podían cambiar con Grub+Startupmanager no están disponibles con Grub2+Startupmanager...quizás si sacan un Startupmanager2.

—————--------------——–

1 comentario:

  1. Hola quizás no sea el sitio apropiado, pero os cuento como uso mint.

    Tengo instalado mint 9 en un lápiz usb de 16 GB (en vez de instalarlo en el disco duro lo instalé en un usb).

    Con este usb voy arrancando cualquier máquina que va cayendo en mis manos.

    El problema viene que alguna máquina ( por ejemplo tiene alguna gráfica Intel 855GM) y este sino se le pone un parámetro en el arranque i915.modeset=1 le da un maravilloso pantallazo negro.

    Así pues aunque no es complicado poner esto en el arranque cuando toque usar esta máquina estoy buscando la forma de tener dos líneas en el grub, una con el arranque normal y otra con el arranque modificado.

    No he encontrado la forma de decirle a grub que quiero dos o varias entradas en el grub con el mismo núcleo.

    Se puede poner a mano las entradas de grub editando el fichero 40_custom pero sólo tendría la entrada de los kernel que tuviera instalado hasta ese momento, cuando actualice mint y se instale un nuevo kernel me tocaría meter otra línea a mano y es un engorro, o cuando use tweak y quite núcleos antiguos más de lo mismo.

    ¿Sabría usted si hay forma de hacerlo?

    Un saludo.

    ResponderEliminar

A la vez que haces un comentario, por favor da una puntuación al tema: malo, normal, bueno o muy bueno.
Gracias.