Durante el proceso de arranque de una computadora, debe pasar de un proceso de firmware (UEFI o BIOS) a cargar un kernel y finalmente al entorno del usuario. Al iniciar un sistema POSIX, puede optar por interrumpir el proceso de inicio para ajustar la configuración o incluso iniciar sesión utilizando un entorno chroot.
Esta es una técnica útil de solución de problemas y mantenimiento, pero también es la razón por la que es tan importante utilizar el cifrado de disco completo al instalar su sistema operativo. Cuando una unidad está cifrada, no se puede acceder a nada en la unidad sin su frase de contraseña, incluso desde un entorno de prearranque. Siempre que tenga la frase de contraseña para descifrar su unidad, puede interrumpir el proceso de inicio de un sistema Linux y acceder a la unidad sin iniciar un sistema operativo (SO) completo.
Tabla de Contenidos
La pantalla GRUB
La transferencia del firmware al gestor de arranque finaliza en la pantalla del gran gestor de arranque unificado (GRUB). GRUB es un menú de texto que le permite seleccionar en qué sistema operativo y versión de kernel desea iniciar. De forma predeterminada, se supone que desea iniciar la última versión de Linux instalada en la máquina. Sin embargo, también le permite modificar cómo desea iniciar el sistema operativo.
Para preparar su computadora para que se interrumpa el proceso de arranque, presione mi en su teclado cuando vea la pantalla de inicio de GRUB. Esto revela los parámetros de arranque asignados a la selección de menú predeterminada.
load_video
set gfx_payload=keep
insmod gzio
linux ($root)/vmlinuz-x.y.z-aa.el9.x86_64 root=/dev/mapper/rhel-root ro resume=\
/dev/mapper/rhel-swap rd.lvm.lv=rhel/boot rd.lvm.lv=rhel/swap rhgb quiet
initrd ($root)/initramfs-x.y.z-aa.el9.x86_64.img $tuned_initrd
Después de la cadena quiet
agregue el parámetro rd.break
y luego presione Control+X para salir del editor de parámetros y continuar con el arranque. los rd.break
El parámetro hace que el disco RAM inicial que contiene las partes del kernel de Linux requeridas para arrancar se «rompa», en el mismo sentido que un depurador coloca «puntos de interrupción» en una aplicación para pausar su ejecución. Es probable que el disco RAM inicial (initrd) se encuentre dentro de la parte cifrada de su disco duro, por lo que debe ingresar su frase de contraseña antes de poder continuar con el arranque.
Si su computadora continúa arrancando sin pedirle una frase de contraseña, entonces no ha activado el cifrado de disco completo.
[ Free download: Advanced Linux commands cheat sheet. ]
Entrar en modo de mantenimiento
Debido a que ha instruido al initrd para que se rompa, el proceso de arranque se detiene en un modo de mantenimiento de emergencia. Si no tiene nada que hacer, puede presionar Control+D para continuar arrancando normalmente. De lo contrario, presione Ingresar para un shell mínimo pero interactivo.
Reparar disco
Una vez que esté en un indicador de shell, será el usuario raíz de esa máquina. Sus próximas acciones dependen completamente del tipo de mantenimiento que necesite realizar.
Puede ejecutar una verificación de disco en su unidad usando el xfs_repair
o fsck
dominio:
sh# xfs_repair /dev/sda1
Cambia tu entorno activo con chroot
Para recuperar una contraseña, es posible que deba volver a montar la unidad (ya está montada en modo de solo lectura para /sysroot
como parte del proceso de arranque). los remount,rw
opciones montar una ubicación en una unidad con escribe permisos Esta tarea puede ser extremadamente peligrosa: tiene privilegios completos de root, sin medidas de seguridad y una unidad grabable. Cuanto menos tiempo pase en este modo, mejor, y debe usarlo solo en verdaderas emergencias.
sh# mount -o remount,rw /sysroot
Debes usar el chroot
comando para hacer que la unidad montada de nuevo sea su entorno activo. Esto reemplaza su actual /
partición con /sysroot
que establece todas las rutas a las que está acostumbrado cuando inicia sesión en un sistema.
Por ejemplo, ante un chroot
acción:
sh# which sh
which: command not found
Después de un exitoso chroot
:
sh# chroot /sysroot
sh# which sh
/usr/bin/sh
Realizar mantenimiento
A partir de aquí, la mayor parte del tiempo estará conectado al sistema. Puede ejecutar comandos, recuperar archivos, contraseñas y realizar cualquier mantenimiento que necesite hacer. Faltan algunas comodidades. Por ejemplo, no hay /proc
o /sys
montado a menos que los monte usted mismo (mount -t proc proc /proc
, por ejemplo). Sin embargo, el punto no es hacer de esta sesión una experiencia multiusuario totalmente interactiva. Este es el modo de mantenimiento y está diseñado como un entorno temporal para emergencias.
Continuar arrancando
Cuando haya terminado el mantenimiento, configure un indicador para que SELinux vuelva a etiquetar el sistema según sea necesario en el siguiente arranque. Este paso no siempre es estrictamente necesario, según el tipo de mantenimiento que haya realizado, pero no es una mala idea dado que es probable que haya realizado cambios en el sistema. Una vez que haya hecho eso, salga del entorno chroot y luego salga del shell para continuar con el arranque:
sh# touch /.autorelabel
sh# exit
sh# exit
A medida que su computadora continúa arrancando, SELinux vuelve a etiquetar el sistema según sea necesario.
Arranque interrumpido
El proceso de arranque no está destinado a ser interrumpido y rara vez es necesario. Sin embargo, en tiempos de problemas, esta es una técnica importante para solucionar problemas. Úselo sabiamente y use el cifrado de disco completo para asegurarse de que no haya shell interactivo disponible sin descifrado.