Como corrigir o congelamento do Ubuntu no momento da inicialização

29 de outubro de 2020

Este tutorial passo a passo mostra como lidar com o travamento do Ubuntu na inicialização, instalando drivers NVIDIA proprietários. O tutorial foi executado em um sistema Ubuntu recém-instalado, mas deve ser aplicável de outra forma também.

Outro dia comprei um laptop Acer Predator (link afiliado) para testar várias distribuições Linux. É um laptop volumoso e pesado, o que contrasta com o meu gosto de laptops menores e leves como o incrível Dell XPS.

A razão pela qual optei por este laptop para jogos, embora eu não jogo no PC, foi NVIDIA Graphics. Acer Predator Helios 300 vem com NVIDIA Geforce GTX 1050Ti.

NVIDIA é conhecida por sua baixa compatibilidade com Linux. Vários leitores da It’s FOSS pediram minha ajuda com seus laptops NVIDIA e eu não pude fazer nada porque não tinha um sistema com placa gráfica NVIDIA.

Então, quando decidi comprar um novo dispositivo dedicado para testar distribuições Linux, optei por um laptop com placa de vídeo NVIDIA.

Este laptop vem com Windows 10 instalado no SSD de 120 GB e 1 TB de HDD para armazenamento de dados. I inicialização dupla do Windows 10 com Ubuntu 18.04. A instalação foi rápida, fácil e indolor.

Eu inicializei no Ubuntu. Ele estava mostrando a tela roxa familiar e então notei que ele congelou lá. O mouse não se move, não consigo digitar nada e nada mais pode ser feito, exceto desligar o dispositivo segurando o botão liga/desliga.

E foi a mesma história na próxima tentativa de login. O Ubuntu simplesmente fica preso na tela roxa antes mesmo de chegar à tela de login.

Ubuntu travou na inicialização

Ubuntu travou na inicialização Você parece familiar? Deixe-me mostrar como você pode corrigir esse problema de congelamento do Ubuntu no login.

Não usa o Ubuntu?

Observe que, embora este tutorial tenha sido executado com o Ubuntu 18.04, ele também funcionaria em outras distribuições baseadas no Ubuntu, como Linux Mint, elementaryOS etc. Eu o confirmei com o Zorin OS.

Corrigir o congelamento do Ubuntu durante a inicialização por causa dos drivers gráficos

Você pode assistir a como corrigir esse problema no vídeo a seguir.

Assine nosso canal no YouTube para mais tutoriais sobre Linux Atualizei este tutorial com duas soluções: uma funciona para Intel e NVIDIA/AMD e a outra é exclusivamente para sistemas com placa de vídeo AMD/NVIDIA. Por favor verifique qual placa de vídeo você tem em seu sistema Linux.

Sem mais delongas, vamos ver como resolver esse problema.

Etapa 1: Editando o Grub

Ao inicializar seu sistema, apenas pare na tela do Grub como a mostrada abaixo. Se você não vir esta tela, continue segurando a tecla Shift durante a inicialização.

Nesta tela, pressione a tecla ‘E’ para entrar no modo de edição.

Editar Menu Grub para corrigir o congelamento do Ubuntu no login Editar Menu Grub para corrigir o congelamento do Ubuntu no login Pressione a tecla ‘E’ Você deverá ver algum tipo de código como o mostrado abaixo Você deve se concentrar na linha que começa com o Linux.

Editando grub para corrigir problema de inicialização congelada com Ubuntu Linux Editando grub para corrigir problema de inicialização congelada com Ubuntu Linux Vá para a linha começando com Linux

Etapa 2: Modificação temporária dos parâmetros do kernel do Linux em Grub

Lembre-se, nosso problema é com os drivers gráficos NVIDIA. Essa incompatibilidade com a versão de código aberto dos drivers NVIDIA causou o problema, então o que podemos fazer aqui é desabilitar esses drivers.

Agora, existem várias maneiras de tentar desabilitar esses drivers. Minha maneira favorita é desabilitar todas as placas de vídeo/gráficos usando o nomodeset.

Basta adicionar o seguinte texto no final da linha, começando com Linux. Você deve ser capaz de digitar normalmente. Apenas certifique-se de que você está adicionando no final da linha.

Comandos para usar no terminal

nomodeset

Agora sua tela deve ficar assim:

Desativando drivers gráficos NVIDIA Open Source Desativando drivers gráficos NVIDIA Open Source Desative os drivers gráficos adicionando nomodeset ao kernel Pressione Ctrl + X ou F10 para salvar e sair. Agora você inicializará com os parâmetros do kernel recém-modificados aqui.

Explicação do que fizemos aqui (clique para expandir) Então, o que acabamos de fazer aqui? O que é aquele nomodeset? Deixe-me explicar brevemente.

Normalmente, a placa de vídeo/gráfico foi usada após o X ou qualquer outro servidor de exibição ter sido iniciado. Em outras palavras, quando você se loga em seu sistema e vê a interface gráfica do usuário.

Mas, recentemente, as configurações do modo de vídeo foram movidas para o kernel. Entre outros benefícios, ele permite que você tenha lindas telas de inicialização de alta resolução.

Se você adicionar o parâmetro nomodeset ao kernel, ele instrui o kernel a carregar os drivers de vídeo/gráficos depois que o servidor de exibição for iniciado.

Em outras palavras, você desabilitou o carregamento do driver gráfico neste momento e o conflito que ele estava causando desaparece. Depois você loga no sistema e vê tudo porque a placa gráfica está carregada novamente.

Solucionar problemas: Não é possível inicializar mesmo depois de usar o nomodeset?

Se usar o nomodeset no grub não funcionou e você ainda não consegue inicializar, tente alguns outros parâmetros em vez do nomodeset.

Siga as mesmas etapas mencionadas acima. Ao editar o grub, adicione nouveau.noaccel = 1 no lugar de nomodeset. Salve e saia do grub e veja se consegue inicializar agora.

Se mesmo isso não funcionar, tente adicionar noapic noacpi nosplash irqpoll em vez de quiet splash no grub.

Etapa 3: Faça alterações permanentes no Grub (se você conseguir inicializar e não houver problemas com os gráficos)

Atenção!

Em alguns casos, não usar o driver gráfico ou mudar para o driver open source pode resultar em uma resolução de aparência ruim. Se for esse o seu caso, tente mudar para o driver proprietário conforme explicado na etapa 3 alternativa (próxima seção).

Não fique muito feliz ainda só porque você pode fazer o login no seu sistema agora. O que você fez foi temporário e da próxima vez que inicializar o sistema, ele ainda travará porque ainda tentará carregar os drivers gráficos.

Isso significa que você sempre terá que editar o kernel na tela do grub? Felizmente, a resposta é não.

O que você pode fazer aqui para alterar a configuração do grub para que o kernel do Linux não tente carregar o driver gráfico antes do servidor de exibição.

Para fazer isso, abra o terminal (use o atalho Ctrl + Alt + T) e, em seguida, use o seguinte comando para abrir o arquivo de configuração do grub no editor Gedit:

Comandos para usar no terminal

sudo gedit /etc/default/grub

Você terá que usar sua senha para abrir este arquivo. Depois de abrir o arquivo de texto, procure a linha que contém: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash".

Altere esta linha para: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset"

Deve ser parecido com isto:

Editar Grub para corrigir o congelamento de inicialização do Ubuntu

Editar Grub para corrigir o congelamento de inicialização do Ubuntu Salve o arquivo e atualize o grub para que as alterações sejam feitas efeito. Use este comando:

Comandos para usar no terminal

sudo update-grub

Quando estiver concluído, reinicie o sistema e ele não deve mais congelar.

Etapa alternativa 3: você pode inicializar, mas os gráficos parecem estranhos? Atualize seu sistema e instale drivers gráficos proprietários

Se você não quiser alterar a configuração do Grub conforme mencionado na etapa anterior, como alternativa, você pode instalar drivers adicionais no Ubuntu para NVIDIA e AMD. O Ubuntu não congela no momento da inicialização ao usar esses drivers proprietários.

No Ubuntu e em muitas outras distribuições, você tem uma maneira fácil de instalar drivers proprietários. Procure por drivers adicionais no menu Ubuntu. Aqui, você pode encontrar drivers gráficos adicionais para o seu sistema.

Instalar driver da Nvidia no Ubuntu Instalar driver da Nvidia no Ubuntu Clique para expandir a próxima seção para ver as etapas detalhadas para instalar os drivers adicionais.

Instalando drivers NVIDIA proprietários (etapas detalhadas) Presumo que seja o seu primeiro login em um sistema recém-instalado. Isso significa que você deve atualizar o Ubuntu antes de fazer qualquer outra coisa. Abra um terminal usando Ctrl + Alt + T atalho de teclado no Ubuntu e use o seguinte comando:

Comandos para usar no terminal

sudo apt update && sudo apt upgrade -y

Você pode tentar instalar drivers adicionais no Ubuntu logo após a conclusão do comando acima, mas em minha experiência, você terá que reiniciar o sistema antes de instalar os novos drivers com sucesso. E quando você reiniciar, você terá que alterar o parâmetro do kernel novamente da mesma maneira que fizemos anteriormente.

Depois que o sistema for atualizado e reiniciado, pressione a tecla Windows para ir ao menu e procurar Software & Updates.

Pesquisar software e atualizações na atividade do GNOME

Clique em Software e atualizações Agora vá para a guia Drivers adicionais e aguarde alguns segundos. Aqui você verá drivers proprietários disponíveis para o seu sistema. Você deve ver NVIDIA na lista aqui.

Selecione o driver proprietário e clique em Aplicar alterações.

Instale o driver da Nvidia no Ubuntu Instale o driver da Nvidia no Ubuntu Instalação dos drivers da NVIDIA A instalação dos novos drivers levará algum tempo. Se você tiver a inicialização segura UEFI habilitada em seu sistema, também será solicitado que você defina uma senha. Você pode definir qualquer coisa que seja fácil de lembrar . Mostrarei suas implicações posteriormente na etapa 4.

Habilitar inicialização segura com Nvidia Habilitar inicialização segura com Nvidia Você pode ter que configurar uma senha de inicialização segura Quando a instalação terminar, você será solicitado a reiniciar o sistema para que as alterações tenham efeito .

Drivers Nvidia instalados com sucesso Drivers Nvidia instalados com sucesso Reinicie seu sistema assim que os novos drivers forem instalados

Lidar com MOK (apenas para dispositivos com inicialização segura UEFI)

Se for solicitado que você configure uma senha de inicialização segura, você verá uma tela azul que diz algo sobre o gerenciamento MOK. É um assunto complicado e tentarei explicá-lo em termos mais simples.

MOK (Machine Owner Key) é necessário devido ao recurso de inicialização segura que requer que todos os módulos do kernel sejam assinados. O Ubuntu faz isso para todos os módulos do kernel que vem na ISO. Porque você instalou um novo módulo (o driver adicional) ou fez uma mudança nos módulos do kernel, seu sistema seguro pode tratá-lo como uma mudança injustificada/estranha em seu sistema e pode se recusar a inicializar.

Portanto, você pode assinar o módulo do kernel por conta própria (dizendo ao seu sistema UEFI para não entrar em pânico porque você fez essas alterações) ou simplesmente desativar a inicialização segura.

Agora que você sabe um pouco sobre inicialização segura e MOK, vamos ver o que fazer na próxima inicialização, quando vir a tela azul na próxima inicialização.

Se você selecionar Continuar inicialização, é provável que seu sistema inicialize normalmente e você não precise fazer nada. Mas é possível que nem todos os recursos do novo driver funcionem corretamente.

É por isso que você deve escolher Inscrever MOK.

MOK e UEFI secure boot no Linux MOK e UEFI secure boot no Linux Será solicitado que você continue na próxima tela, seguido de uma senha. Use a senha que você definiu ao instalar os drivers adicionais na etapa anterior. Você será solicitado a reiniciar agora.

Não se preocupe!

Se você perder essa tela azul de MOK ou clicar acidentalmente em Continuar inicialização em vez de Registrar MOK, não entre em pânico. Seu principal objetivo é poder inicializar em seu sistema e você fez essa parte com sucesso, desativando o driver gráfico Nouveau.

O pior caso seria que seu sistema mudasse para os gráficos Intel integrados em vez dos gráficos NVIDIA. Você pode instalar os drivers gráficos NVIDIA posteriormente, a qualquer momento. Sua prioridade é inicializar o sistema.

Assim que o novo driver for instalado, você terá que reiniciar o sistema novamente. Não se preocupe! As coisas devem estar melhores agora e você não precisará mais editar os parâmetros do kernel. Você estará inicializando no Ubuntu imediatamente.

Etapa 4: Aproveite o Ubuntu Linux

Espero que este tutorial tenha ajudado a corrigir o problema de congelamento do Ubuntu no momento da inicialização e que você tenha conseguido inicializar no sistema Ubuntu.

Se você tiver alguma dúvida ou sugestão, por favor me avise na seção de comentários abaixo.

Confira também a versão original desse post em inglês
Esse post foi originalmente escrito por Abhishek Prakash e publicado no site itsfoss.com. Tradução sujeita a revisão.

Fixing Ubuntu Freezing at Boot Time

Propaganda
Blog Comments powered by Disqus.
Propaganda