Se o seu PC Linux de repente tiver problemas após uma atualização no seu sistema, é possível que uma atualização do kernel Linux esteja com defeito. Felizmente, reverter ou mudar para outro kernel Linux é relativamente fácil de fazer nos sistemas Debian, Arch e Fedora.
Aqui está como.
Por que as atualizações do kernel causam problemas
O kernel é parte integrante de um sistema Linux, portanto, dependendo do seu dispositivo e configuração, uma atualização do kernel pode causar problemas para você ou para seus aplicativos instalados.
Os problemas podem variar de comportamento gráfico peculiar a um sistema totalmente inutilizável. Se a sua situação for a última, você está em apuros.
Para remediar esse problema, muitas distribuições modernas mantêm um kernel mais antigo ou diferente instalado que você pode acessar na inicialização. Isso permitirá que você teste o kernel em busca de problemas ou se recupere de uma atualização do kernel que interrompe o sistema.
Como inicializar com um kernel diferente
Claro, atualizações para pacotes de sistema que não sejam o kernel do Linux podem ser a verdadeira raiz do seu problema. Uma maneira rápida de descartar o kernel como culpado é tentar inicializar com um kernel diferente.
Primeiro, você precisará acessar o menu GRUB reiniciando o PC. Você pode ver o GRUB aparecer por alguns segundos na inicialização, exibindo algumas opções como “Opções avançadas”, embora algumas distros o mantenham oculto, a menos que você o acesse.
Se ele não aparecer na inicialização, pressione e segure a tecla Shift no momento em que seu PC iniciar a inicialização, até ver uma tela semelhante à imagem abaixo.
Use as teclas de seta para navegar até “Opções Avançadas para [Sua Distro]” e pressione Enter.
Você obterá uma lista de opções de inicialização disponíveis. Você deve ver pelo menos dois, como “[Sua Distro], com Linux 5.10.0.7-amd64” seguido por uma versão “modo de recuperação” dessa mesma opção. As diferentes versões que você vê listadas são os diferentes kernels instalados.
Se você tiver apenas uma opção padrão e uma opção de modo de recuperação, isso, infelizmente, significa que você tem apenas um kernel instalado. Nesse caso, e se você não puder usar o kernel, poderá usar o modo de recuperação para tentar algumas opções de reparo.
Se você tiver mais de um número de versão, terá um kernel alternativo com o qual pode inicializar. A primeira opção será a mais nova e aquela com a qual seu PC inicializa automaticamente. Tente outra opção de modo sem recuperação navegando até ela com as teclas de seta e pressionando Enter.
Como remover, reverter ou fazer downgrade de um kernel Linux
Se a inicialização em outro kernel parece ter resolvido seu problema, você provavelmente deseja continuar usando esse kernel. Seu PC, no entanto, pode, por padrão, tentar usar o kernel problemático toda vez que você inicializar.
Você pode escolher manualmente o kernel mais antigo em cada inicialização ou excluir o kernel problemático enquanto espera por outra atualização.
Aviso: as atualizações do kernel podem envolver correções de segurança. Por esse motivo, ignorar as atualizações do kernel traz riscos. Se você precisar continuar, certifique-se de que seu sistema seja o mais seguro possível .
Algumas distros permitem que você faça isso graficamente e podem até permitir que você simplesmente escolha um kernel diferente como padrão. Por exemplo, o Update Manager do Linux Mint (foto abaixo) possui um recurso de configurações do kernel que permite definir as preferências do kernel, além de excluir kernels indesejados.
Tente pesquisar no menu do aplicativo pela palavra “kernel” e veja se alguma ferramenta de desktop aparece. Se houver, você provavelmente será capaz de fazer isso graficamente. Caso contrário, continue lendo para excluir um kernel por meio da linha de comando.
Aviso: Prossiga apenas enquanto inicializado no kernel que você deseja usar, não no que você planeja remover.
Remover um Kernel no Debian e Ubuntu
Para remover um kernel Linux no Debian, Ubuntu ou um de seus derivados, você deve primeiro identificar os pacotes de kernel instalados. Abra um terminal e digite o seguinte comando.
apt list --installed | grep linux-image
Você pode ver os números de versão em cada um dos nomes de pacote, que vêm antes da barra (/) nos resultados. Após obter o nome do kernel que deseja remover, passe o seguinte comando, substituindo kernel-name
pelo nome do pacote do kernel exatamente como apareceu no comando anterior.
sudo apt removekernel-name
Você será solicitado a fornecer sua senha e, em seguida, solicitado a confirmar a remoção digitando y
e pressionando enter.
Aguarde a conclusão da remoção e seu PC Linux não inicializará mais nesse kernel. Fique de olho nos novos kernels ao atualizar seu sistema e teste-os à medida que eles chegam para ver se o problema foi corrigido.
Remover ou fazer downgrade de um kernel no Arch
No Arch Linux, você pode facilmente obter vários kernels alternativos com nomes como linux-hardened
, linux-zen
e linux-lts
. Ao escolher uma opção no GRUB, você provavelmente viu apenas uma versão de cada kernel instalado disponível. Ao contrário dos kernels no Debian, as atualizações do kernel do Arch não chegam como novos pacotes para substituir os antigos. Em vez disso, cada kernel instalado é simplesmente atualizado (ou “sincronizado”) para a versão mais recente à medida que se torna disponível.
Por esse motivo, é melhor simplesmente inicializar com um kernel alternativo em vez de fazer o downgrade do kernel usual. Se você inicializou em outro kernel e sabe que não quer usar o primeiro, você pode nomear o kernel em um comando de desinstalação com Pacman.
sudo pacman -R kernel-name kernel-name-headers
Substituindo kernel-name
pelo kernel de sua escolha. Você será solicitado a fornecer sua senha antes de continuar. Em seguida, você precisará confirmar a remoção digitando “y” e pressionando enter.
Se você deseja fazer o downgrade de um pacote do kernel, saiba que não recomendamos. As atualizações contínuas de lançamento geralmente dependem da atualização de outros pacotes, portanto, reverter qualquer atualização é um negócio arriscado e pode resultar em um sistema operacional quebrado.
Se tiver certeza de que deseja, no entanto, você pode sincronizar um pacote de kernel para uma versão específica com o comando a seguir.
sudo pacman -S kernel-name=xxx kernel-name-headers=xxx
Substitua kernel-name
pelo kernel que você deseja fazer o downgrade e x.x.x
pela versão desejada. Você pode encontrar números de versão mais antigos pesquisando o kernel no Arch Package Search e clicando em “View Changes”.
Remover um Kernel Linux no Fedora
O Fedora Linux por padrão mantém duas versões mais antigas do kernel instaladas em seu dispositivo junto com a mais recente. Com este comando rpm
, você pode identificar os nomes dos pacotes.
rpm -qa kernel-core
Você verá uma lista de todos os kernels instalados ao lado de seus números de versão.
Após inicializar com um kernel diferente, use dnf para desinstalar o kernel problemático.
sudo dnf remove kernel-core-xxx-xxx.fcxx.x86_64
Você receberá um prompt para confirmar a desinstalação. Digite y e pressione enter para confirmar.
Depois de remover o kernel, seu sistema não poderá inicializar em um kernel mais novo até que você permita uma atualização do kernel. Quando um novo estiver disponível, experimente e veja se o problema foi corrigido.