Estructura de ficheros


Estructura de ficheros

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
GRUB 2 incorpora una jerarquía de directorio y archivos totalmente revisados. El menu.lst de GRUB Legacy no se usará mas. El directorio principal y archivos usados por GRUB 2 incluyen:
/boot/grub/grub.cfg
Este es el archivo más estrechamente relacionado y parecido del GRUB anterior /boot/grub/menu.lst. Este archivo contiene la información del menú GRUB 2 pero distinto al menu.lst del GRUB anterior, el archivo grub.cfg no se significa para ser editado, tiene una estructura modular.
Cada sección es claramente delimitada con un "### BEGIN / ### END" y el archivo referenciado en el directorio /etc/grub.d desde el cual la información fue generada.
grub.cfg es actualizado por ejecutar el comando update-grub como root. El comando update-grub es un compendio de sudo grub-mkconfig -o /boot/grub/grub.cfg. Por estandarización el comando update-grub será empleado, ejecutado como "root" con el sudo.
El archivo es automáticamente actualizado con instalaciones o cambios de núcleo u otras actualizaciones que deberían afectar su rendimiento.
Por defecto, y cuando el comando update-grub es ejecutado, este archivo se hace de solo lectura (read-only). Esto es en acuerdo con el intento de que el archivo no debería ser editado manualmente.
El usuario también verá múltiples archivos *.mod en el directorio /boot/grub. Estos archivos relacionan la naturaleza modular de GRUB 2 y son cargados necesariamente por el gestor de arranque GRUB 2.


/etc/default/grub

# 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 entries
#GRUB_DISABLE_LINUX_RECOVERY="true"

# Uncomment to get a beep at grub start
#GRUB_INIT_TUNE="480 440 1"

Este archivo de configuración contiene información formalmente contenida en la sección superior del menu.lst de GRUB Legacy y puntos contenidos sobre la línea final del núcleo. Las entradas en este archivo pueden ser editadas por un usuario con privilegios de administrador (root) y son incorporadas dentro de grub.cfg cuando es actualizado. Establecer la configuración específica es detallada al final de esta sección.


El directorio /etc/grub.d
Los archivos en este directorio son leídos durante la ejecución del comando update-grub y sus instrucciones se incorporan dentro de /boot/grub/grub.cfg.

 

La colocación de los puntos del menú en el menú grub.cfg es determinada por el orden en que los archivos en este directorio son ejecutados. Archivos con una numeración delantera se ejecutan primero, comenzando con la numeración más baja. Por ejemplo 10_linux se ejecuta antes que 20_memtest, que deberían correr antes que 40_custom. Si existen ficheros con nombres alfabéticos ellos son ejecutados después de ficheros nombrados numéricamente.
Entradas personalizadas pueden ser agregadas al fichero 40_custom o en un archivo nuevamente creado. Basado en su nombre, entradas 40_custom por defecto aparecen al final del menú. Un fichero personalizado comenzando con 06_would aparece al principio del menú una vez su clasificación alfanumérica debería ponerlo a la cabeza de ficheros entre 10_ y 40_.
Sólo archivos ejecutables generan la salida para grub.cfg durante la ejecución de update-grub.
Los ficheros por defecto en ese directorio son:
00_header

Establece puntos de apariencia inicial tales como modo gráfico, selección por omisión, fuera de tiempo, etc. Estas configuraciones normalmente son importadas desde información de /etc/default/grub. Normalmente los usuarios no necesitan hacer cambios a este fichero.
05_debian_theme

La configuración en este fichero establece imagen gráfica, colores de texto, selección de resaltes y temas. En ausencia de alguna imagen gráfica, este fichero establece un tema monocromático para el menú inicial mostrado. Como establecer fuentes renderizadas e imágenes gráficas es discutido en detalle en la sección "Splash Images and Themes".
10_hurd

Localiza núcleos Hurd. Actualmente no usado.
10_linux

Localiza núcleos en el dispositivo raíz para el sistema operativo actualmente en uso. Toma esta información y establece los nombres mostrados en el menú para aquellos núcleos.
20_memtest86+

Busca el binario /boot/memtest86+.bin y lo incluye como una opción en el menú de arranque GRUB 2. Actualmente no hay línea de opción para retirar esta entrada del menú. La presencia de memtest86+ puede ser inhibida por retirar el bit ejecutable de este archivo: sudo chmod -x /etc/grub.d/20_memtest86+ y entonces correr sudo update-grub.
30_os-prober

Este fichero utiliza os-prober, el cual busca Linux y otros sistemas operativos. Los resultados son puestos en grub.cfg en base al guión (script) en este archivo. El archivo está dividido en cuatro secciones, representando los tipos de sistemas operativos manejados por los guiones (scripts): Windows, Linux, OSX, y Hurd. Las variables en este archivo determinan el formato de los nombres presentados en /boot/grub/grub.cfg y en el menú GRUB 2. Los usuarios familiarizados con guiones básicos pueden alterar esas variables para cambiar el formato de las entradas menú presentadas. Alternativamente, el usuario puede insertar una entrada dentro de /etc/default/grub que deshabilita este guión.
40_custom

Una plantilla (template) para agregar entradas de menú personalizadas que serán insertadas dentro de grub.cfg hasta la ejecución del comando update-grub. El contenido de este fichero, bajo la línea "exec tail -n +3 $0" y el comentario por omisión son importados directamente dentro de /boot/grub/grub.cfg sin ningún cambio.
Los ficheros en esos directorios tienen que ser ejecutables por update-grub. Los ficheros que no son ejecutables serán ignorados. Para hacer un fichero ejecutable, ejecute sudo chmod +x filename.

 

Sigue en "Configurar GRUB 2" ...