Herramientas de usuario

Herramientas del sitio


informatica:certificaciones:lpic:lpic-2:202_system_startup:202.2

¡Esta es una revisión vieja del documento!


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 primero
  • timeout: cuenta atrás hasta que se arranque el sistema por defecto
  • title: nombre de la opción del menú
  • kernel: ubicación del kernel
  • initrd: 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 root especifica el disco y la partición a utilizar
  • linux especifica el archivo del kernel a usar y la partición
  • initrd especifica 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.

Aunque estamos editando partes del fichero /boot/grub/grub.cfg, 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.

Reinstalar GRUB

grub-install [--root-directory=/boot] <DISPOSITIVO>

Ejemplo:

grub-install /dev/sda1

Si tenemos montado un RAID 1 por software, deberíamos instalar GRUB en los dos discos por si uno cae, poder arrancar con el otro.

Recuperación del sistema

El siguiente apartado trata de aplicar los conocimientos adquiridos para recuperar un sistema en caso de errores, utilizando los siguientes conceptos:

  • init
  • GRUB
  • grub-install

Reiniciar contraseña de root

Si no sabemos la contraseña de root o la hemos olvidado y tenemos acceso físico al sistema, podemos utilizar GRUB para acceder como root y establecer la contraseña que queramos.

Utilizamos como proceso de init /bin/bash en modo lectura-escritura para poder escribir en el sistema de ficheros.

Al editar la entrada deseada en el GRUB, le pasamos una opción más a la línea linux:

linux /boot/vmlinuz-3.16.0.4-amd64 root=/dev/sda1 ro quiet init=/bin/bash rw

Con init=/bin/bash indicamos que en el arranque del kernel se saltará el proceso de arrancar el proceso init tal cual y va a arrancar /bin/bash. Al arrancar en esta shell, tendríamos una consola de root.

La opción rw es para que podamos hacer modificaciones en los ficheros de la partición y así realizar cambios en la contraseña de root:

passwd <NUEVA_CONTRASEÑA>

Recuperar GRUB tras sobrescribir el MBR

Si se ha sobrescrito el MBR sin querer, nos quedaremos sin GRUB.

Lo que habría que hacer es arrancar desde un sistema Live CD. Identificar el disco que tiene el problema e instalamos el GRUB:

grub-install /dev/sda1

Suponiendo que el MBR esté en /dev/sda1

informatica/certificaciones/lpic/lpic-2/202_system_startup/202.2.1617631549.txt.gz · Última modificación: por tempwin