Tutoriales

Cómo interrumpir el proceso de arranque de Linux

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.

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.

(Seth Kenlon, CC BY-SA 4.0)

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 quietagregue el parámetro rd.breaky 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.

LEER  Curso de Linux 8/60 - Script de shell básico I
(Seth Kenlon, CC BY-SA 4.0)

Si su computadora continúa arrancando sin pedirle una frase de contraseña, entonces no ha activado el cifrado de disco completo.

Publicaciones relacionadas

[ 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 /sysrootque 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.

LEER  Cómo actualizar Debian 10 a Debian 11 Bullseye usando la CLI

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba