Recuperarse de fallos de arranque
¡Puede ser bastante frustrante que un equipo no arranque con normalidad! Aquí tienes algunos mecanismos de recuperación:
Volver a una versión anterior del sistema operativo (SO)
Si el fallo de arranque ocurre después de haber actualizado el sistema, volver a la versión anterior suele solucionar el problema.
Para ello:
- Arranca o reinicia la máquina.
- Mantén pulsada la tecla Espacio hasta que aparezca el selector de versiones del sistema operativo (en el centro de la pantalla, con texto blanco sobre fondo negro).
- Usa las teclas de las flechas para seleccionar la versión anterior del SO u otra diferente.
- Pulsa Intro para arrancar con ella.
Si esto corrige el problema, informa de ello en https://invent.kde.org/kde-linux/kde-linux/-/issues/ y adjunta la salida de la ejecución de journalctl --boot -1 --no-pager en una ventana de terminal.
Arrancar el sistema de un modo distinto cambiando la línea de órdenes del kernel
Si lo anterior no ha funcionado, puedes cambiar cómo arranca el sistema alterando los parámetros de la línea de órdenes del kernel para conseguir varias aproximaciones de depuración.
Para modificar la línea de órdenes del kernel:
- Arranca o reinicia la máquina.
- Mantén pulsada la tecla Espacio hasta que aparezca el selector de versiones del sistema operativo (en el centro de la pantalla, con texto blanco sobre fondo negro).
- Pulsa la tecla e.
- Aparecerá un campo de edición con un texto muy largo: esta es la línea de órdenes del kernel.
Desactivar las extensiones de systemd
Añade systemd.mask=systemd-sysext.service a la línea de órdenes del kernel y pulsa Intro.
Esto es útil cuando se tienen extensiones de systemd activas y el fallo de arranque empieza a ocurrir tras haber actualizado el contenido de alguna de ellas. Si esta es la causa, la desactivación temporal de las extensiones debería resolver el problema hasta que puedas descubrir la causa del fallo.
Si esto funciona, tras iniciar sesión, investiga cuál es el problema con la extensión y corrígelo. Si no lo consigues, desactívala.
Solucionar problemas con la pantalla de inicio de sesión o Plasma
Añade systemd.unit=multi-user.target a la línea de órdenes del kernel y pulsa Intro.
Esto resulta útil cuando no se muestra la pantalla de inicio de sesión o falla el arranque de Plasma. Puedes arrancar en un entorno de consola que omitirá ambos y desde ahí podrás intentar solucionar el problema.
Si la depuración y la resolución del problema determinan que el fallo no estaba causado por tus propias acciones, abre un informe de fallos para que el equipo de KDE Linux lo investigue.
Entrar en la shell de administración de emergencia
- Añade
systemd.debug_shell=on SYSTEMD_SULOGIN_FORCE=1a la línea de órdenes del kernel y pulsa Intro. - Espera a que la pantalla se ponga en negro y permanezca así durante unos segundos.
- Pulsa Ctrl+Alt+F9 (en un portátil es posible que también tengas que mantener pulsada Fn).
Habrás entrado en la shell de administración de emergencia. Cualquier orden que lances se ejecutará como root, por lo que deberías tener cuidado.
Si la depuración y la resolución del problema determinan que el fallo no estaba causado por tus propias acciones, abre un informe de fallos para que el equipo de KDE Linux lo investigue.
Restaurar /etc
Es posible que /etc se modifique al arrancar una compilación específica, de forma que resulte incompatible con compilaciones anteriores.
Esto puede manifestarse con problemas extraños después de revertir el sistema operativo, como pantallas negras o que no se acepten las contraseñas de inicio de sesión.
Para recuperarse de este problema, sustituye el /etc dañado con una copia funcional anterior de este modo:
- Entra en una consola mediante alguno de los métodos anteriores y ejecuta las siguientes órdenes:
sudo mv /etc /etc.brokensudo btrfs subvolume snapshot $(ls -d -1 /.etc.* | tail -2 | head -1) /etcsystemctl reboot
Estos pasos manuales serán innecesarios en cuanto se implemente https://invent.kde.org/kde-linux/kde-linux/-/issues/505
Más información
Consulta https://systemd.io/DEBUGGING para más opciones de depuración. KDE Linux usa systemd exclusivamente, por lo que todo lo que incluye dicha página es relevante.
Artículo escrito por Nate Graham bajo las condiciones de la licencia CC-BY-4.0.