¡Esta es una revisión vieja del documento!
Tabla de Contenidos
202.2 System Recovery
- Weight: 4
- Description: Candidates should be able to properly manipulate a Linux system during both the boot process and during recovery mode. This objective includes using both the init utility and init-related kernel options. Candidates should be able to determine the cause of errors in loading and usage of bootloaders. GRUB version 2 and GRUB Legacy are the bootloaders of interest. Both BIOS and UEFI systems are covered.
- Key Knowledge Areas:
- BIOS and UEFI
- NVMe booting
- GRUB version 2 and Legacy
- grub shell
- boot loader start and hand off to kernel
- kernel loading
- hardware initialisation and setup
- daemon/service initialisation and setup
- Know the different boot loader install locations on a hard disk or removable device.
- Overwrite standard boot loader options and using boot loader shells.
- Use systemd rescue and emergency modes.
- Terms and Utilities:
- mount
- fsck
- inittab, telinit and init with SysV init
- The contents of /boot/, /boot/grub/ and /boot/efi/
- EFI System Partition (ESP)
- GRUB
- grub-install
- efibootmgr
- UEFI shell
- initrd, initramfs
- Master boot record
- systemctl
Cargador de arranque
GRUB (Grand Unified Bootloader) cargador de arranque estándar utilizado en la actualidad para Linux.
Es un pequeño programa cargado en el MBR (Master Boot Record) cuya función es realizar la carga del kernel u otros sistemas operativos delegando en otros caargados.
GRUB debe conocer:
- La ubicación del kernel.
- La partición en la que se mostrará la raíz del sistema (
/)
Grub 1 (legacy)
Versión 1 de GRUB. Versión ya obsoleta, pero disponible en algunos sistemas.
Fichero de configuración /boot/grub/menu.lst
Ejemplo:
default 0 timeout 10 title Ubuntu 9.10, kernel 2.6.31-16-generic kernel /boot/vmlinuz-2.6.31-16-generic root=/dev/hda1 ro quiet splash initrd /boot/initrd.img-2.6.31-16-generic
default: indica qué sistema operativo arranca primerotimeout: cuenta atrás hasta que se arranque el sistema por defectotitle: nombre de la opción del menúkernel: ubicación del kernelinitrd: ramdisk
GRUB 2
Versión actual de GRUB.
Fichero de configuración /boot/grub/grub.cfg y no se debe modificar directamente.
Las opciones modificables por el usuario están en:
/etc/default/grub: opciones/etc/grub.d/: archivos con información de la configuración de GRUB.
En /etc/grub.d/ hay una serie de ficheros nombrados según el orden en que se usarán (00_header va antes que 05_debian_theme, por ejemplo)
El fichero de configuración se genera automáticamente mediante el uso de alguno de los dos comandos:
Para crear un nuevo fichero de configuración:
grub-mkconfig -o /boot/grub/grub.cfg
Aplicar cambios:
update-grub
Las entradas correspondientes a un sistema operativo en el archivo de configuración comienzan con la palabra menuentry y el contenido va entre llaves:
menuentry 'Linux 3.14.0' {
set root='hd0,msdos1'
linux /boot/vmlinuz-3.14.0 root=/dev/sda1 ro quiet
initrd /boot/initrd.img-3.14.0
}
set rootespecifica el disco y la partición a utilizarlinuxespecifica el archivo del kernel a usar y la particióninitrdespecifica el archivo ramdisk que se usará para descomprimir el kernel.
Podemos interrumpir el arranque normal del GRUB si cuando nos aparece en pantalla usamos las flechas del teclado para seleccionar otras opciones (así interrumpimos la cuenta atrás). Una vez hecho esto podemos seleccionar una entrada y editarla usando la tecla E. Una vez editada, pulsamos F10 para arrancar con los cambios realizados.
Los cambios que se hagan durante el arranque normal del GRUB no son permanentes.
Podemos pasarle parámetors al kernel para el arranque, añadiendo opciones en la línea linux del GRUB.
