systemd para permitir fallback automático para um kernel mais antigo em caso de falha de inicialização

Recentemente, o systemd lançou um novo recurso para gerenciar falhas de inicialização. Vamos ler sobre isso nesta breve cobertura sobre o mesmo.

O que é systemd, de novo?

O Systemd é um daemon do sistema que serve como um conjunto de software de blocos básicos de construção para um sistema Linux. Facilita o gerenciamento de sistemas e serviços e inicia o restante do sistema. É convencionalmente representado em letras minúsculas como systemd (daemon do sistema) de acordo com os padrões Unix / Linux.

Foi iniciado como um projeto de desenvolvimento em 2010 por Lennart Poettering e Kay Sievers. O Fedora se tornou a primeira grande distribuição a incluir o systemd por padrão desde maio de 2011.

A inclusão do systemd criou algum tipo de revolta em usuários veteranos do Linux. Distribuições como Devuan foram criadas apenas para manter o sistema afastado.

Eu não vou entrar no debate systemd vs init aqui. Isso é totalmente seu chamado, se você entender os detalhes técnicos. Eu vou compartilhar o novo recurso do systemd junto com minha experiência na correção de falhas de inicialização.

Contagem de inicialização: o mais novo recurso do Systemd

Como a frase sugere, contar as tentativas de inicialização faz parte de uma versão revisada da "Avaliação de inicialização automática" do systemd, que permite rastrear inicializações e falhas do kernel.

Com a ajuda desta avaliação, o sistema pode reverter automaticamente para uma versão anterior do sistema operacional / kernel, no caso de um mais novo se recusar a inicializar com sucesso devido a uma falha.

O conjunto revisado de recursos da nova Avaliação de Inicialização Automática do systemd está disponível na documentação do GitHub. Você pode lê-lo se estiver interessado nos detalhes técnicos.

Os desenvolvedores também sugerem que, além de fornecer uma solução completa em sistemas UEFI, os diferentes componentes também podem ser usados ​​independentemente em combinação com outro software.

Diagnosticando Problemas com o Systemd: Minha Experiência

Estou animado com esse novo recurso do systemd. Isso pode economizar muito tempo e problemas para os usuários do Linux. Compartilharei minha experiência com o problema de inicialização ANTES de o sistema introduzir este recurso de falha de inicialização.

O Systemd ajudou-me a diagnosticar um problema no passado no meu sistema de arranque duplo e penso que seria útil partilhar a experiência aqui, para saber sobre a sua desenvoltura:

Uma vez, enquanto tentava inicializar o meu sistema Ubuntu 16.04 LTS, recebi a seguinte mensagem de erro depois de selecionar o mesmo do GRUB:

Fiquei alarmado com o motivo de ser "saudado" com uma mensagem tão irritante, de repente, depois de um dia atarefado no trabalho. Quando eu li que está mencionando um dos discos rígidos do meu PC (/ dev / sdb3), eu tenho a dica de que talvez tenha que fazer algo com o recurso de hibernação do Windows 10 eo fato de que as tentativas de desligamento do Windows 10 são hibernações parciais para uma inicialização mais rápida.

Assim que recebi essa dica, inicializei no Windows e fiz um desligamento completo, mantendo pressionada a tecla Shift e, em seguida, clicando em Shutdown no menu Startup do Windows, após o qual consegui fazer o login no Ubuntu. De agora em diante, desabilitei “inicialização rápida” e hibernação no Windows.

Quando eu olhei nos logs com a ajuda do comando, de volta no Ubuntu, descobri que a mensagem de erro é uma parte dos recursos do systemd . Eu usei o seguinte comando para armazenar a saída completa do comando em um arquivo de log:

journalctl -xb | tee systemdlogged.log 

Ao percorrer o arquivo de log, eu pude reconfirmar que era, de fato, devido a uma hibernação parcial no Windows 10 ( Não é possível criar sessão: já em execução na sessão ).

Ame-o ou odeie-o?

Como você pode ver, esse novo fallback automático para o kernel antigo salvaria alguns usuários do Linux aqui.

Essa ideia permitiria a implementação de esquemas semelhantes em outros carregadores de inicialização ou sistemas não UEFI. Talvez o systemd também possa ser considerado para uso com o LinuxBoot no futuro?

Recomendado

Qalculate! - A melhor aplicação de calculadora em todo o universo
2019
Conheça Nitrux: A Distribuição Linux Mais Bonita de Sempre?
2019
Coisas para fazer depois de instalar o openSUSE Leap 15
2019