Início
» Dicas para PC
»
Como corrigir o problema de drivers da Nvidia que não carregam após uma atualização do kernel no Ubuntu
Como corrigir o problema de drivers da Nvidia que não carregam após uma atualização do kernel no Ubuntu
Uma atualização do kernel pode deixar o Ubuntu em uma tela de login com gráficos de baixa resolução, uma tela preta ou uma área de trabalho que funciona sem aceleração da NVIDIA. Isso não significa automaticamente que a placa de vídeo falhou. Uma atualização do kernel altera o kernel com o qual um módulo NVIDIA externo deve ser compilado, e a Inicialização Segura (Secure Boot) pode se recusar a carregar um módulo cuja chave de assinatura não seja confiável.
Comece identificando qual falha você está enfrentando. Se o kernel anterior inicializava com a NVIDIA funcionando, o problema provavelmente está no novo kernel ou em sua versão do módulo. Se o módulo parecer instalado, mas o kernel reportar uma rejeição de chave ou assinatura, verifique a Inicialização Segura e o registro da Chave do Proprietário da Máquina (MOK). Este guia utiliza o fluxo de trabalho de drivers empacotados do Ubuntu; a nomenclatura dos menus e as ramificações dos drivers podem variar de acordo com a versão do Ubuntu e o hardware.
Visão ilustrativa do GRUB: selecionar um kernel instalado anteriormente pode ajudar a restaurar uma área de trabalho funcional enquanto você diagnostica o kernel atualizado.
É possível inicializar com segurança o kernel anterior primeiro?
Sim, se ainda estiver instalado. Reinicie e abra o menu GRUB; em muitos sistemas, pressionar Shift em BIOS legado ou Esc em UEFI durante a inicialização o revela. Escolha Opções avançadas para Ubuntu e selecione o kernel mais antigo sem o “modo de recuperação”. O tempo exato de pressionamento das teclas e os rótulos do menu dependem do firmware e da configuração do GRUB. Se o menu estiver oculto, consulte o comportamento de inicialização do computador em vez de alterar as configurações do firmware aleatoriamente.
Após a inicialização do sistema, confirme o kernel em execução com o comando `kernel` uname -r. Um kernel antigo funcional oferece uma rota de recuperação e tempo para inspecionar os pacotes. Essa não é uma solução permanente: as atualizações de segurança ainda são importantes, portanto, retorne ao kernel mais recente após reparar o driver. Se nenhum dos kernels iniciar normalmente, use o modo de recuperação do Ubuntu ou um USB inicializável para fazer backup de dados importantes antes de alterar os pacotes.
O que você deve verificar antes de reinstalar qualquer coisa?
Abra um terminal (ou um console de texto com Ctrl+Alt+F3 se o login gráfico não estiver disponível) e colete uma breve linha de base:
uname -rIdentifica o kernel ativo. mokutil --sb-stateInforma se a Inicialização Segura está habilitada. dkms statusMostra se uma versão de Suporte a Módulos Dinâmicos do Kernel (DKMS) está registrada para esse kernel. nvidia-smiTesta a comunicação com o driver NVIDIA carregado; é um comando de diagnóstico, não de reparo. O log do kernel pode revelar um módulo ausente, falha na compilação ou rejeição de assinatura. A ausência de uma linha de log correspondente não comprova que o driver esteja íntegro.
Utilize o kernel ativo, o status do DKMS e o utilitário da NVIDIA em conjunto para distinguir um problema de compilação ausente de um problema com o driver carregado; a saída de exemplo pode variar de acordo com a versão.
O módulo NVIDIA não foi compilado para o novo kernel?
Se o DKMS listar a NVIDIA apenas para um kernel mais antigo, ou se nenhum módulo NVIDIA estiver disponível uname -r, instale os cabeçalhos do kernel correspondentes e deixe o Ubuntu reparar o driver empacotado. Os cabeçalhos fornecem os arquivos necessários para compilar um módulo externo para o kernel em execução. Primeiro, certifique-se de ter acesso à rede e espaço em disco suficiente e, em seguida, execute:
A ferramenta recomendada pelo Ubuntu ubuntu-driversseleciona um driver disponível e adequado para a máquina. Analise os pacotes propostos pelo APT antes de aceitar. Se o driver já estiver instalado e a compilação do DKMS parecer incompleta, identifique o pacote instalado em vez de tentar adivinhar a ramificação:
dpkg -l 'nvidia-dkms-*' 'nvidia-driver-*'
ubuntu-drivers list
Em seguida, reinstale o pacote DKMS correspondente exibido no seu sistema (substitua pelo nome exato do pacote): sudo apt install --reinstall nvidia-dkms-<branch>. Evite copiar o número do driver de outra versão do Ubuntu ou misturar pacotes do Ubuntu com o instalador independente da NVIDIA; métodos de instalação conflitantes podem sobrescrever arquivos ou complicar a Inicialização Segura. Se o APT relatar dependências não satisfeitas, pacotes retidos ou uma falha na compilação do DKMS, leia o erro completo antes de executar mais comandos. O log de compilação relevante geralmente está em /var/lib/dkms/; use o caminho indicado no erro em vez de excluir os diretórios do DKMS.
Instale os cabeçalhos para o kernel em execução e, em seguida, repare o pacote DKMS do Ubuntu já selecionado para o sistema. O nome do pacote e a saída do APT podem variar.
O Secure Boot está bloqueando um módulo compilado?
Pode ser. Com a Inicialização Segura ativada, o kernel do Ubuntu verifica as assinaturas de módulos de terceiros. O pacote do Ubuntu pode criar uma chave de assinatura MOK e solicitar que você a registre. Se a instalação exibiu uma solicitação para definir uma senha de uso único, mas a próxima reinicialização iniciou o Ubuntu diretamente, a chave pode não ter sido registrada. Verifique mokutil --sb-stateo log do kernel em busca de mensagens de verificação ou rejeição da chave.
Quando a instalação do pacote Ubuntu tiver colocado um registro de MOK na fila, reinicie o sistema e siga as instruções na tela azul do Gerenciador de MOK: selecione "Registrar MOK" , continue, confirme a chave, insira a senha de uso único criada durante a instalação do pacote e reinicie. Essa senha não precisa ser a mesma que você usa para fazer login no Ubuntu. Leia a tela com atenção; a redação do menu pode variar. Se nenhum registro estiver na fila, reinstalar um pacote de driver compatível do Ubuntu pode solicitar a configuração da chave. Não registre um arquivo de chave desconhecido nem compartilhe a senha de uso único.
A tela de inscrição do Gerenciador MOK é exibida durante a reinicialização quando uma inscrição de chave está pendente; selecione "Inscrever MOK somente" para a chave na qual você pretende confiar.
E se a compilação falhar mesmo com os cabeçalhos instalados?
Verifique se o novo kernel está totalmente instalado e se seus cabeçalhos correspondem exatamente: uname -rdevem corresponder ao pacote de cabeçalhos instalado. Em seguida, inspecione o erro DKMS do APT e o log de compilação. Um novo kernel pode apresentar incompatibilidade com uma versão mais antiga do driver NVIDIA; recompilar não corrigirá o código-fonte que não oferece suporte a essa interface do kernel. Use o seletor de drivers do Ubuntu para instalar uma versão compatível com sua distribuição e reinicie o sistema. Se você instalou o driver com o instalador .run da NVIDIA, siga as instruções de remoção da NVIDIA antes de voltar a usar os pacotes do Ubuntu; não sobreponha gerenciadores de pacotes.
Para acesso temporário, inicialize o kernel anterior a partir do GRUB e mantenha-o instalado até que o driver do novo kernel seja carregado corretamente. Se você usa um kernel personalizado, uma distribuição não padrão ou uma configuração de computação/servidor gráfico, a recomendação automática de área de trabalho do Ubuntu pode não corresponder à sua configuração pretendida. Consulte a documentação do kernel ou da carga de trabalho específica em vez de forçar um pacote genérico.
Como verificar se a correção funcionou?
Após reparar os pacotes ou registrar a chave, reinicie e inicialize o novo kernel. Execute `npm install` uname -r, ` dkms statusnpm install` e `npm install` nvidia-sminovamente. Um resultado bem-sucedido é a presença de uma entrada DKMS para o kernel em execução, nenhuma rejeição de assinatura de módulo no log do kernel da inicialização atual e nvidia-smia exibição das informações da GPU e do driver. Confirme também se a sessão normal da área de trabalho é iniciada e se um aplicativo que necessita de aceleração por GPU consegue usar a GPU NVIDIA. Laptops híbridos podem usar intencionalmente gráficos integrados para a área de trabalho, portanto, uma GPU silenciosa por si só não é prova de falha.
Se o mesmo erro persistir, salve a saída completa da compilação do DKMS, a versão ativa do kernel, a versão do Ubuntu ( cat /etc/os-release), o estado da Inicialização Segura e as linhas relevantes do log do kernel. Esses detalhes identificam se a próxima etapa envolve uma versão de driver compatível, um problema de assinatura ou um problema de compatibilidade do kernel. A orientação oficial do Ubuntu recomenda o seu ubuntu-driverscaminho para a maioria dos sistemas, principalmente quando a Inicialização Segura está ativada; consulte Ubuntu Desktop: Instalar drivers NVIDIA , Ubuntu Server: Instalação de drivers NVIDIA e Ubuntu Security: Inicialização Segura UEFI . Para obter detalhes de baixo nível sobre a compatibilidade de drivers, consulte a documentação de instalação de drivers Linux da NVIDIA . As versões de driver disponíveis e as instruções exatas variam de acordo com a versão do Ubuntu e o status de suporte da GPU.