Configuración
En Grub2, la configuración se almacena en el archivo /boot/grub/grub.cfg. Este archivo es generado automáticamente por la orden:
sudo update-grubQue se basan en los scripts almacenados en:
/etc/grub.dY en el archivo
/etc/default/grubAl contrario que Grub legacy, donde se edita el archivo /boot/grub/menu.lst para hacer los cambios o añadidos en el arranque de Ubuntu, en Grub2 su archivo /boot/grub/grub.cfg no se puede editar, los que se editan son los scripts existentes en /etc/grub.d y el archivo /etc/default/grub.
Aquí os dejo un ejemplo de grub.cfg para que os hagáis una idea de lo que contiene:
# # DO NOT EDIT THIS FILE # # It is automatically generated by grub-mkconfig using templates # from /etc/grub.d and settings from /etc/default/grub # ### BEGIN /etc/grub.d/00_header ### if [ -s $prefix/grubenv ]; then set have_grubenv=true load_env fi set default="0" if [ "${prev_saved_entry}" ]; then set saved_entry="${prev_saved_entry}" save_env saved_entry set prev_saved_entry= save_env prev_saved_entry set boot_once=true fi function savedefault { if [ -z "${boot_once}" ]; then saved_entry="${chosen}" save_env saved_entry fi } function recordfail { set recordfail=1 if [ -n "${have_grubenv}" ]; then if [ -z "${boot_once}" ]; then save_env recordfail; fi; fi } function load_video { insmod vbe insmod vga } insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set cc9cb17d-34c3-45d8-acd0-dda356ca1f54 if loadfont /usr/share/grub/unicode.pf2 ; then set gfxmode=640x480 load_video insmod gfxterm fi terminal_output gfxterm insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set cc9cb17d-34c3-45d8-acd0-dda356ca1f54 set locale_dir=($root)/boot/grub/locale set lang=es insmod gettext if [ "${recordfail}" = 1 ]; then set timeout=-1 else set timeout=10 fi ### END /etc/grub.d/00_header ### ### BEGIN /etc/grub.d/05_debian_theme ### set menu_color_normal=white/black set menu_color_highlight=black/light-gray ### END /etc/grub.d/05_debian_theme ### ### BEGIN /etc/grub.d/10_linux ### menuentry 'Ubuntu, with Linux 2.6.35-23-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set cc9cb17d-34c3-45d8-acd0-dda356ca1f54 linux /boot/vmlinuz-2.6.35-23-generic root=UUID=cc9cb17d-34c3-45d8-acd0-dda356ca1f54 ro quiet splash initrd /boot/initrd.img-2.6.35-23-generic } menuentry 'Ubuntu, with Linux 2.6.35-23-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set cc9cb17d-34c3-45d8-acd0-dda356ca1f54 echo 'Loading Linux 2.6.35-23-generic ...' linux /boot/vmlinuz-2.6.35-23-generic root=UUID=cc9cb17d-34c3-45d8-acd0-dda356ca1f54 ro single echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-2.6.35-23-generic } menuentry 'Ubuntu, with Linux 2.6.35-22-generic' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set cc9cb17d-34c3-45d8-acd0-dda356ca1f54 linux /boot/vmlinuz-2.6.35-22-generic root=UUID=cc9cb17d-34c3-45d8-acd0-dda356ca1f54 ro quiet splash initrd /boot/initrd.img-2.6.35-22-generic } menuentry 'Ubuntu, with Linux 2.6.35-22-generic (recovery mode)' --class ubuntu --class gnu-linux --class gnu --class os { recordfail insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set cc9cb17d-34c3-45d8-acd0-dda356ca1f54 echo 'Loading Linux 2.6.35-22-generic ...' linux /boot/vmlinuz-2.6.35-22-generic root=UUID=cc9cb17d-34c3-45d8-acd0-dda356ca1f54 ro single echo 'Loading initial ramdisk ...' initrd /boot/initrd.img-2.6.35-22-generic } ### END /etc/grub.d/10_linux ### ### BEGIN /etc/grub.d/20_linux_xen ### ### END /etc/grub.d/20_linux_xen ### ### BEGIN /etc/grub.d/20_memtest86+ ### menuentry "Memory test (memtest86+)" { insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set cc9cb17d-34c3-45d8-acd0-dda356ca1f54 linux16 /boot/memtest86+.bin } menuentry "Memory test (memtest86+, serial console 115200)" { insmod part_msdos insmod ext2 set root='(hd0,msdos1)' search --no-floppy --fs-uuid --set cc9cb17d-34c3-45d8-acd0-dda356ca1f54 linux16 /boot/memtest86+.bin console=ttyS0,115200n8 } ### END /etc/grub.d/20_memtest86+ ### ### BEGIN /etc/grub.d/30_os-prober ### if [ "x${timeout}" != "x-1" ]; then if keystatus; then if keystatus --shift; then set timeout=-1 else set timeout=0 fi else if sleep --interruptible 3 ; then set timeout=0 fi fi fi ### END /etc/grub.d/30_os-prober ### ### BEGIN /etc/grub.d/40_custom ### # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. ### END /etc/grub.d/40_custom ### ### BEGIN /etc/grub.d/41_custom ### if [ -f $prefix/custom.cfg ]; then source $prefix/custom.cfg; fi ### END /etc/grub.d/41_custom ###
Configuración del archivo /etc/default/grub
Este archivo es el que ahora contiene la información necesaria, al igual que menu.lst en Grub legacy, por lo tanto para hacer lo cambios en Grub2 tendremos que hacer los cambios en este archivo editando el mismo con algunos de los editores para la terminal:
sudo nano /etc/default/grubDespues de añadir o cambiar algun dato en el archivo y haberlos guardado tendras que generar de nuevo el archivo con la orden:
sudo update-grubEste es un contenido típico:
# If you change this file, run 'update-grub' afterwards to update # /boot/grub/grub.cfg. 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="" # Uncomment to disable graphical terminal (grub-pc only) #GRUB_TERMINAL=console # The resolution used on graphical terminal # note that you can use only modes which your graphic card supports via VBE # you can see them in real GRUB with the command `vbeinfo' #GRUB_GFXMODE=640x480 # Uncomment if you don't want GRUB to pass "root=UUID=xxx" parameter to Linux #GRUB_DISABLE_LINUX_UUID=true # Uncomment to disable generation of recovery mode menu entrys #GRUB_DISABLE_LINUX_RECOVERY="true"
Sus items corresponden a:
GRUB_DEFAULT=0 Establece la entrada de menu por defecto, numerando los menuentry de 0 en adelante. o GRUB_DEFAULT="Windows XP Professional (on /dev/sda1)" Establece la entrada de menu por defecto, mediante el nombre del menuentry. o GRUB_DEFAULT=saved Establece la entrada de menu por defecto a la seleccionada en el último inicio, si el menu se muestra al inicio esta entrada se muestra iluminada si no se cambia la seleccion o el menu no se muestra inicia la opción elegida en el último inicio. GRUB_TIMEOUT=5 Corresponde al número de segundos que se espera antes de iniciar con la entrada del menu por defecto Si el valor es -1 el menu se muestra idefinidamente hasta que se selecciona un menu y se da enter. GRUB_HIDDEN_TIMEOUT=0 Oculta el menu si esta precedido por # # GRUB_HIDDEN_TIMEOUT=0 Si hay otro operativo detectado en el sistema el menu se muestra Si no hay otro operativo detectado en el sistema el menu se oculta Si se usa un valor mayor de 0, el sistema espera tantos segundos, pero el menu no se muestra Si se usa el valor 0, el sistema no espera y no se muestra su menu. En este último caso, para ver el menu es necesario presionar la tecla Shift (mayusculas) También puede presionarse la tecla Esc Si esta activo, el splash screen establecido en el archivo /etc/grub.d/05_debian_theme se muestra GRUB_HIDDEN_TIMEOUT_QUIET=true true - No muestra en contador, la pantalla esta en blanco false - El contador se muestra durante un tiempo igual al valor establecido en GRUB_HIDDEN_TIMEOUT GRUB_DISTRIBUTOR=lsb_release -i -s 2> /dev/null || echo Debian Establece el nombre descriptivo correspondiente menuentry de la distribución elegida. (Ubuntu, Xubuntu, Debian, etc.) GRUB_CMDLINE_LINUX Si existe, agrega opciones al final de las líneas de comando linux para inicios normales y de recuperación GRUB_CMDLINE_LINUX_DEFAULT="quiet splash" Agrega las opciones al final de la línea de comando linux solo en inicio normal Si se deja vacía, se muestran los mensajes de inicio del sistema #GRUB_TERMINAL=console Descomentada, sin #, esta opción deshabilita la terminal gráfica, solo grub-pc #GRUB_GFXMODE=640x480 Descomentada,sin #, se cambia la resolucion del cargador de arranque, debe usarse un ratio 4:3 + GRUB_GFXMODE=640x480 + GRUB_GFXMODE=800x600 + GRUB_GFXMODE=1024x768 + GRUB_GFXMODE=1600×1200 Se puede experimentar en caso de monitores widescreen con un ratio 16:10 + GRUB_GFXMODE=640x400 + GRUB_GFXMODE=800x500 + GRUB_GFXMODE=1024x640 + GRUB_GFXMODE=1280x800 + GRUB_GFXMODE=1680x1050 #GRUB_DISABLE_LINUX_UUID=true Descomentada, sin #, deshabilita que el Grub utilice el parámetro "root=UUID=xxx" para Linux. #GRUB_DISABLE_LINUX_RECOVERY=true Descomentada, sin #, evita que se muestre en el menu el menuentry de recuperación. * GRUB_DISABLE_OS_PROBER=true true - Desactiva la búsqueda por os-prober de otras particiones con otros sistemas operativos Windows, Linux, OSX and Hurd false - Activa la búsqueda por os-prober de otras particiones con otros sistemas operativos
Directorio /etc/grub.d
Los archivos existentes en este directorio, exportan su contenido al ejecutarse la orden
sudo update-grubal archivo de configuración de Grub2, /boot/grub/grub.cfg.
Estos archivos se ejecutan en orden secuencial, por que su nombre comienza por números, cuya orden determina su localización en el menu del Grub2.
Las entradas personalizadas se agregan en el archivo 40_custom o en un nuevo archivo de número creciente. Todos estos archivos, deben recibir permiso de ejecución para poder ser incorporados a grub.cfg, mediante la orden:
sudo chmod u+x /etc/grub.d/nombre_archivo
Archivo:
00_header
Carga las configuraciones del archivo /etc/default/grub, presentaciones visuales, tiempo de espera y opciones de terminal.
Archivo:
05_debian_theme
Establece la imagen de fondo, los colores del texto y los temas. Para cambiar colores, prestar atención a olas líneas 8 y 9; 8 establece el color del texto; 9 la linea seleccionada. Ejemplo:
00_header
Carga las configuraciones del archivo /etc/default/grub, presentaciones visuales, tiempo de espera y opciones de terminal.
Archivo:
05_debian_theme
Establece la imagen de fondo, los colores del texto y los temas. Para cambiar colores, prestar atención a olas líneas 8 y 9; 8 establece el color del texto; 9 la linea seleccionada. Ejemplo:
set menu_color_normal=magenta/black
set menu_color_highlight=cyan/bluePara cambiar la imagen de fondo se debe editar la línea 16:
for i in {/boot/grub,/usr/share/images/desktop-base}/NameOfPicture.{png,tga} ;Una forma es agregar el patch hacia la imagen entre las llaves ({})
Otra forma es copiar la imagen en una en uso:
sudo cp /home/nombre_usuario/Pictures/NameOfPicture /usr/share/images/desktop-baseEl archivo imagen debe estar en formato png o tga.
Si el tamaño de la imagen no coincide con la resolución del Grub2, no se ajustara, se verá recortada o insuficiente con área negra alrededor. Ejemplos:
{/boot/grub,/usr/share/images/desktop-base}/P1030084-picture-1024x768.png {/boot/grub,/usr/share/images/desktop-base}/CreatedFolderOfLink/picture.{png,tga}
Archivo:
10_hurd
Busca kernels hurd
Archivo:
10_linux
Busca kernels Linux, de la distribución determinada por "lsb_release -i -s" results ("Ubuntu").
Archivo:
20_memtest86+
Si el archivo /boot/memtest86+.bin existe, se incluye como un item del menu
Archivo:
30_os-prober
Busca otros sistermas operastivos y los incluye en el menu.
Archivo:
40_custom
Es una plantilla para incluir entradas de menu personalizadas.
Entradas definidas por el usuario:
Se crean actuando como con permisos temporales de administrador:
Se les da permisos de ejecución:
Los discos duros siguen la nomenclatura de Grub Legacy
sda = hd0
sdb = hd1
sdc = hd2
sdd = hd3
Las particiones inician desde 1
sda1 = hd0,1
sdb2 = hd1,2
sdc5 = hd2,5
Esto es algo que tendremos que tener en cuenta a la hora del reconocimiento del o los discos duros para las particiones o posibles arranques de ejecutables o adicciones en las lineas de arranque.
Borrado de kernels o añadidos en grub.cfg
Para remover entradas del menu de Grub 2, no se debe editar el archivo grub.cfg. Se quitan archivos del directorio /etc/grub.d o se desinstalan los kernels desde Synaptic y automáticamente se actualiza el archivo /boot/grub/grub.cfg
Si se elimina otro sistema operativo del ordenador, ejecutamos manualmente:
Archivo:
10_hurd
Busca kernels hurd
Archivo:
10_linux
Busca kernels Linux, de la distribución determinada por "lsb_release -i -s" results ("Ubuntu").
Archivo:
20_memtest86+
Si el archivo /boot/memtest86+.bin existe, se incluye como un item del menu
Archivo:
30_os-prober
Busca otros sistermas operastivos y los incluye en el menu.
Archivo:
40_custom
Es una plantilla para incluir entradas de menu personalizadas.
Entradas definidas por el usuario:
Se crean actuando como con permisos temporales de administrador:
sudo nano 4x_nombre_archivoSe guardan en /etc/grub.d/
Se les da permisos de ejecución:
sudo chmod +x /etc/grub.d/nombre_archivoSe debe tener presente que:
Los discos duros siguen la nomenclatura de Grub Legacy
sda = hd0
sdb = hd1
sdc = hd2
sdd = hd3
Las particiones inician desde 1
sda1 = hd0,1
sdb2 = hd1,2
sdc5 = hd2,5
Esto es algo que tendremos que tener en cuenta a la hora del reconocimiento del o los discos duros para las particiones o posibles arranques de ejecutables o adicciones en las lineas de arranque.
Borrado de kernels o añadidos en grub.cfg
Para remover entradas del menu de Grub 2, no se debe editar el archivo grub.cfg. Se quitan archivos del directorio /etc/grub.d o se desinstalan los kernels desde Synaptic y automáticamente se actualiza el archivo /boot/grub/grub.cfg
Si se elimina otro sistema operativo del ordenador, ejecutamos manualmente:
sudo update-grubSe actualiza el menu del Grub2
Si no se desea que aparezca memtest86+. Se le quita el permiso de ejecución al archivo que lo incorpora
sudo chmod -x /etc/grub.d/20_memtest86+Si no se desea que aparezca la opción: Recovery mode: (esta opción permite ingresar como administrador sin contraseña para solucionar problemas, en caso de intrusos para causar los mínimos cambios)
Se edita el archivo /etc/default/grub
Y se le agrega esta línea:
Y se le agrega esta línea:
GRUB_DISABLE_LINUX_RECOVERY=true
Sacar el menu de grub2 en el arranque
Si al terminar una instalación, el menu del Grub2 esta oculto por defecto hay que editar el archivo /etc/default/grub y comentar la linea GRUB_HIDDEN_TIMEOUT
sudo nano /etc/default/grub
#GRUB_HIDDEN_TIMEOUT=3 GRUB_TIMEOUT=XXXGuardar el archivo. Ctrl+O
Cierra nano Ctrl+X
Ejecutar
sudo update-grub
Espero que después de esta pequeña guía, te hagas una idea de como manejar Grub2. Dejo por aquí también el enlace a este manual mas largo por si quieres sacarle mas jugo al tema.
No hay comentarios:
Publicar un comentario