Recuperar-se de uma falha ao iniciar
Pode ser bastante frustrante quando um computador não inicia normalmente! Aqui estão alguns mecanismos de recuperação:
Reverter para uma versão anterior do sistema operacional (SO)
Se o problema de inicialização começou a ocorrer após a atualização do sistema, reverter para a versão anterior geralmente resolve o problema.
Para fazer isto:
- Ligue ou reinicie a máquina.
- Mantenha pressionada a tecla Espaço até que o seletor de versão do sistema operacional apareça (em texto branco no centro da tela, sobre um fundo preto).
- Pressione a tecla de seta para baixo uma vez para selecionar a versão anterior do sistema operacional ou uma versão diferente.
- Pressione Enter para iniciar o sistema.
Se isso resolver o problema, relate-o em https://invent.kde.org/kde-linux/kde-linux/-/issues/ e anexe a saída da execução de journalctl --boot -1 --no-pager em uma janela de terminal.
Se isso não corrigir o problema, você pode alterar a forma como o sistema inicializa, modificando os parâmetros da linha de comando do kernel para implementar diversas abordagens de depuração.
Inicializar o sistema de uma maneira diferente, alterando a linha de comando do kernel
This process is dangerous!
Tenha cuidado com as opções apresentadas aqui! Se você não for um especialista técnico e não souber o que está fazendo, usar essas ferramentas pode facilmente piorar o problema.Para editar a linha de comando do kernel:
- Ligue ou reinicie a máquina.
- Mantenha pressionada a tecla Espaço até que o seletor de versão do sistema operacional apareça (em texto branco no centro da tela, sobre um fundo preto).
- Pressione a tecla e.
- Um campo de texto com um texto muito longo será exibido. Esta é a linha de comando do kernel.
Desativar extensões do systemd
Adicione systemd.mask=systemd-sysext.service à linha de comando do kernel e pressione Enter.
Isso é útil se você tiver alguma extensão do systemd ativa e a falha de inicialização começou a ocorrer depois que você atualizou o conteúdo de alguma delas. Essa pode ser a causa. Desativar temporariamente as extensões deve resolver o problema até que você consiga depurar o que está causando o problema.
Se isso funcionar, após fazer login, depure o que está errado com a extensão e corrija o problema. Se não conseguir, desative-a.
Contornar os problemas com a tela de login ou com o Plasma
Adicione systemd.unit=multi-user.target à linha de comando do kernel e pressione Enter.
Isso é útil se a tela de login ou o plasma não estiverem iniciando ou estiverem travando em um loop. Você pode inicializar em um ambiente de linha de comando que irá ignorar ambos, dentro do qual a depuração é possível.
Se a depuração e a resolução de problemas determinarem que o problema não foi causado por suas próprias ações, abra um relatório de bug para a equipe do KDE Linux para investigar.
Entrar no shell de root de emergência
- Adicione
systemd.debug_shell=on SYSTEMD_SULOGIN_FORCE=1à linha de comando do kernel e pressione Enter. - Aguarde até que a tela fique preta e permaneça assim por alguns segundos.
- Pressione Ctrl+Alt+F9 (nota: em um laptop, você também pode precisar pressionar Fn).
Você agora está no shell de emergência com privilégios de root.
Se a depuração e a resolução de problemas determinarem que o problema não foi causado por suas próprias ações, abra um relatório de bug para a equipe do KDE Linux para investigar.
Reverter o /etc
É possível que o diretório /etc seja modificado durante a inicialização de uma versão específica, tornando-o incompatível com versões anteriores.
Isso pode se manifestar como problemas bizarros após a reversão do sistema operacional, como telas pretas ou senhas de login que não são aceitas.
Para recuperar, substitua a pasta /etc corrompida por uma versão mais antiga e funcional, da seguinte forma:
- Obtenha um shell por meio de qualquer um dos métodos acima e execute os seguintes comandos:
run0 mv /etc /etc.brokenrun0 btrfs subvolume snapshot $(ls -d -1 /.etc.* | tail -2 | head -1) /etcsystemctl reboot
Essas etapas manuais deverão se tornar desnecessárias assim que https://invent.kde.org/kde-linux/kde-linux/-/issues/505 for implementado.
Mais informações
Consulte https://systemd.io/DEBUGGING para obter mais opções de depuração. O KDE Linux usa exclusivamente o systemd, portanto, tudo nessa página é relevante.
Artigo contribuído por Nate Graham sob a licença CC-BY-4.0.