Como corrigir o problema de drivers NVIDIA que não carregam após uma atualização do kernel no Ubuntu

Uma atualização do kernel do Ubuntu pode fazer com que um sistema NVIDIA inicialize normalmente, mesmo que o driver proprietário não seja mais carregado. Os sintomas visíveis variam: nvidia-smipode indicar que não consegue se comunicar com o driver, aplicativos CUDA podem parar de reconhecer a GPU, a área de trabalho pode recorrer à renderização por software ou modprobe nvidiapode falhar completamente. A solução prática é identificar qual camada foi afetada em vez de reinstalar tudo de uma vez.

Esta referência se concentra nos drivers NVIDIA empacotados para Ubuntu e nas diretrizes atuais da Canonical. A partir de outubro de 2026, o Ubuntu recomenda a ubuntu-driversferramenta ou o aplicativo Drivers Adicionais para a maioria dos sistemas e recomenda módulos de kernel pré-compilados e assinados quando disponíveis. A própria documentação da NVIDIA para Ubuntu também oferece suporte ao Ubuntu 22.04, 24.04 e 26.04, mas a nomenclatura dos pacotes difere nas versões mais recentes; portanto, não copie um número de versão de um exemplo, a menos que ele seja realmente oferecido para sua máquina.

Lista de verificação para diagnóstico rápido

VerificarComandoO que isso te diz
Kernel em execuçãouname -rA ABI exata do kernel que precisa de um módulo NVIDIA correspondente.
Status do motoristanvidia-smiVerificar se o espaço do usuário consegue se comunicar com o módulo do kernel NVIDIA carregado.
Módulos carregadoslsmod | grep -E 'nvidia|nouveau'Independentemente de quem seja atualmente o proprietário da GPU, NVIDIA ou Nouveau.
Pacote recomendadosudo ubuntu-drivers listVersões de drivers que o Ubuntu considera apropriadas para o hardware.
Inicialização seguramokutil --sb-stateSe módulos de kernel de terceiros não assinados podem ser rejeitados.
Log do kernelsudo dmesg | grep -iE 'nvrm|nvidia|nouveau|secure|module'Indícios úteis para incompatibilidade de API, rejeição de assinatura ou falhas de sondagem.
Terminal do Ubuntu mostrando o comando `uname -r`, uma falha no comando `nvidia-smi` e nenhum módulo NVIDIA retornado pelo comando `lsmod`.
Um padrão típico de falha pós-atualização: o novo kernel está em execução, mas o módulo NVIDIA não está carregado. As versões exatas do kernel e do driver em seu sistema podem ser diferentes.

1. Confirme se o problema começou com o kernel atual.

Primeiro, registre o kernel em execução e o estado atual da NVIDIA:

uname -r
nvidia-smi
lsmod | grep -E 'nvidia|nouveau'

Se nvidia-smia falha ocorrer e nenhum nvidiamódulo aparecer em lsmod, a falha está abaixo da camada CUDA ou da aplicação de desktop. Se nvidia-smio relatório indicar Failed to initialize NVML: Driver/library version mismatch, a Canonical documenta isso como uma incompatibilidade entre o espaço do usuário e o módulo do kernel, que geralmente ocorre após uma atualização de driver; uma reinicialização pode ser suficiente se o novo módulo já estiver instalado.

Se você ainda consegue selecionar um kernel mais antigo no GRUB e o driver funciona nele, isso é uma forte evidência de que o novo kernel não possui um módulo NVIDIA utilizável. Um kernel mais antigo é uma solução temporária útil, mas não é a solução definitiva, pois você ainda precisa que o kernel atual e o conjunto de drivers sejam compatíveis.

2. Pergunte ao Ubuntu qual versão do driver ele recomenda.

Em um desktop ou estação de trabalho Ubuntu padrão, use a lógica de seleção de drivers do próprio Ubuntu em vez de tentar adivinhar qual versão usar:

sudo apt update
sudo ubuntu-drivers list

Para a maioria dos sistemas desktop e de jogos, a Canonical recomenda o driver UDA padrão em vez de um -serverpacote. Em servidores de computação, siga as orientações específicas para servidores, ubuntu-drivers list --gpgpuquando apropriado. Se o seu sistema foi previamente instalado com .runo instalador independente da NVIDIA ou com um repositório de terceiros, misturar fontes de pacotes pode dificultar o diagnóstico. A Canonical alerta explicitamente que drivers instalados fora dos métodos documentados podem sobrescrever componentes fornecidos pelo Ubuntu e interferir na Inicialização Segura (Secure Boot).

Terminal do Ubuntu exibindo a lista de drivers do Ubuntu (ubuntu-drivers list) e os dispositivos (ubuntu-drivers devices), com um driver da NVIDIA marcado como recomendado.
Use a descoberta de drivers do Ubuntu para identificar uma versão apropriada para a GPU instalada, em vez de definir uma versão específica de outra máquina.

3. Verifique a Inicialização Segura antes de reinstalar qualquer coisa.

A inicialização segura (Secure Boot) é uma causa frequente de um módulo NVIDIA existir no disco, mas não ser carregado. Verifique o estado dele:

mokutil --sb-state
sudo modprobe nvidia

Se a Inicialização Segura estiver ativada e modproberetornar uma mensagem como esta Key was rejected by service, o kernel está aplicando a validação de módulos. O Ubuntu aplica a validação de módulos do kernel sob Inicialização Segura em versões amd64 compatíveis há anos. A Canonical prefere usar módulos NVIDIA assinados e pré-compilados quando disponíveis. Se você usar o DKMS intencionalmente, o Ubuntu poderá exigir que uma Chave de Proprietário da Máquina (MOK) seja criada e registrada na reinicialização.

Não desative a Inicialização Segura como primeiro passo para solucionar problemas. Pode ser um breve teste diagnóstico em um ambiente controlado, mas a melhor solução geralmente é instalar um módulo assinado ou registrar corretamente a chave MOK. A Canonical documenta o fluxo de registro em sua documentação sobre Inicialização Segura UEFI .

O terminal do Ubuntu mostra o SecureBoot ativado e o comando modprobe nvidia falhando com uma mensagem de rejeição de chave.
Uma rejeição de assinatura aponta para um problema de confiança no Secure Boot, e não para a ausência de uma GPU. Resolva a questão da assinatura de módulos ou do registro MOK em vez de reinstalar repetidamente as bibliotecas do espaço do usuário.

4. Verifique se o módulo NVIDIA correspondente existe para o kernel em execução.

Os pacotes NVIDIA pré-compilados do Ubuntu estão vinculados a uma ABI do kernel. Substitua DRIVER_BRANCHpelo branch mostrado por ubuntu-drivers list:

DRIVER_BRANCH=XXX
apt-cache policy linux-modules-nvidia-${DRIVER_BRANCH}-$(uname -r)

Se o pacote estiver instalado para o kernel atual, prossiga para as verificações de Inicialização Segura, Nouveau e registro de logs abaixo. Caso contrário, instale o pacote de módulo correspondente:

sudo apt install linux-modules-nvidia-${DRIVER_BRANCH}-$(uname -r)

A Canonical também oferece suporte à instalação do metapacote de sabor, por exemplo linux-modules-nvidia-${DRIVER_BRANCH}-generic, o que ajuda futuras atualizações do kernel a obterem os módulos NVIDIA correspondentes. O nome exato do pacote depende da sua versão do Ubuntu, do sabor do kernel, da ramificação do driver e se você usa uma variante de servidor; portanto, verifique o candidato exibido pelo APT antes de confirmar.

Terminal do Ubuntu verificando a política de cache do apt para um pacote de módulo do kernel da NVIDIA e cabeçalhos do kernel atual.
Verificar a política de pacotes ajuda a distinguir um módulo NVIDIA específico do kernel ausente de um problema com o driver do espaço do usuário.

5. Se você usa DKMS, certifique-se de que os cabeçalhos do kernel atual estejam presentes.

O DKMS cria um módulo específico para o kernel que você está executando. Portanto, ele precisa de cabeçalhos de kernel correspondentes. A Canonical recomenda o DKMS principalmente quando módulos pré-compilados não estão disponíveis, como em alguns kernels personalizados.

sudo apt install linux-headers-$(uname -r)
dkms status

Se a entrada do NVIDIA DKMS não mostrar uma compilação bem-sucedida para o kernel atual, verifique o log de compilação /var/lib/dkms/antes de tentar remover pacotes aleatoriamente. Falhas típicas incluem cabeçalhos ausentes, combinações de compilador/kernel não suportadas ou um problema de assinatura de módulo. Após corrigir o pré-requisito, reinstale o pacote DKMS apropriado ou use o caminho automático do Ubuntu:

sudo ubuntu-drivers install --include-dkms

Use esse comando somente quando o DKMS for realmente necessário. A documentação atual da Canonical para desktops afirma que os módulos pré-compilados são a opção preferida para a maioria dos usuários, especialmente com a Inicialização Segura (Secure Boot).

Terminal do Ubuntu instalando os cabeçalhos do Linux para o kernel em execução.
Os cabeçalhos do kernel correspondentes são necessários quando o DKMS precisa compilar um módulo NVIDIA para o kernel atual.

6. Instale o módulo pré-compilado ausente quando disponível.

Se a etapa 4 mostrar que o kernel atual não possui o módulo NVIDIA pré-compilado, instale-o explicitamente e deixe o APT reconstruir o initramfs:

sudo apt install linux-modules-nvidia-${DRIVER_BRANCH}-$(uname -r)

Em seguida, verifique se o APT foi concluído sem erros de dependência. Evite forçar a instalação de pacotes com dpkg --force-*`--force`, pois isso pode deixar o módulo do kernel, as bibliotecas do espaço do usuário e o metapacote em versões incompatíveis.

Se você não tiver certeza de qual ramo usar, o reparo geral mais seguro é:

sudo ubuntu-drivers install

A Canonical afirma que ubuntu-driversusa a mesma lógica do aplicativo Drivers Adicionais e, por padrão, escolhe drivers pré-compilados e assinados que comprovadamente funcionam com a Inicialização Segura.

Terminal do Ubuntu instalando o pacote linux-modules-nvidia para o kernel atual e atualizando o initramfs.
A instalação do pacote de módulos específico do kernel corrige o caso comum em que o branch do driver está presente, mas o novo kernel não possui o módulo NVIDIA correspondente.

7. Reinicie após alterações no pacote.

Neste caso, a reinicialização não é meramente cerimonial. O kernel em execução pode manter um módulo NVIDIA antigo na memória enquanto o APT já atualizou as bibliotecas do espaço do usuário no disco. A Canonical documenta especificamente isso como a causa de uma incompatibilidade entre as versões do driver/biblioteca NVML após as atualizações.

sudo reboot

Após reiniciar, não reinstale imediatamente. Primeiro, verifique o resultado com os comandos na próxima seção.

Terminal do Ubuntu mostrando uma operação de instalação de drivers do Ubuntu seguida de um comando sudo reboot.
Após alterações no driver ou no módulo do kernel, reinicie o sistema para que o kernel carregue o módulo NVIDIA recém-instalado e os componentes do espaço do usuário retornem à versão anterior.

8. Verifique se o módulo NVIDIA está carregado.

Correr:

nvidia-smi
lsmod | grep nvidia
cat /proc/driver/nvidia/version

Um reparo bem-sucedido apresenta três sinais úteis: nvidia-smilista a GPU, lsmodmostra os módulos NVIDIA e /proc/driver/nvidia/versioninforma a versão do módulo em execução. Para cargas de trabalho CUDA, execute novamente o aplicativo ou framework que apresentou falha anteriormente; isso nvidia-smipor si só comprova a comunicação do driver, não necessariamente a compatibilidade de todas as bibliotecas CUDA em seu ambiente.

Terminal do Ubuntu mostrando a saída bem-sucedida do nvidia-smi e os módulos NVIDIA listados pelo lsmod.
Um estado final saudável: o nvidia-smi consegue comunicar com a GPU e os módulos do kernel da NVIDIA estão carregados. Os valores apresentados são um exemplo, não uma versão obrigatória.

Se ainda assim não funcionar: use o sintoma para escolher a próxima ação.

“Incompatibilidade entre a versão do driver e a versão da biblioteca”

Reinicie o sistema primeiro. Em seguida, compare a versão do módulo do kernel em execução com os pacotes instalados. A Canonical observa que componentes de espaço do usuário atualizados podem entrar em conflito temporariamente com um módulo mais antigo ainda carregado na memória. Se a incompatibilidade persistir após a reinicialização, verifique se há fontes de pacotes misturadas e várias ramificações de drivers.

“Nenhum dispositivo foi encontrado” e o Nouveau está carregado.

Verificar:

lsmod | grep nouveau

A documentação do servidor Ubuntu afirma que o Nouveau pode entrar em conflito com o driver proprietário da NVIDIA nessa situação. Se o Nouveau estiver carregado e você pretende usar o driver proprietário, a Canonical documenta o processo de bloqueá-lo e reconstruir o initramfs:

echo "blacklist nouveau" | sudo tee /etc/modprobe.d/disable-nouveau.conf
echo "options nouveau modeset=0" | sudo tee -a /etc/modprobe.d/disable-nouveau.conf
sudo update-initramfs -u
sudo reboot

Não bloqueie o Nouveau apenas porque ele existe no disco; primeiro confirme se ele está realmente carregado e se é relevante para a falha.

modprobe nvidiadiz que a chave foi rejeitada

Retorne ao caminho de Inicialização Segura. Use módulos Ubuntu assinados sempre que possível ou conclua o registro MOK para um módulo DKMS. Reinstalar repetidamente o mesmo módulo não assinado não alterará a decisão de confiança.

O novo kernel não possui nenhum pacote de módulo compatível.

Inicialize temporariamente um kernel antigo que você sabe que funciona, mantenha o sistema atualizado e verifique se o Ubuntu fornece um módulo pré-compilado compatível com o kernel mais recente. Se você estiver usando um kernel personalizado, o DKMS pode ser apropriado, mas leia o log de compilação e confirme a assinatura do Secure Boot. Evite fixar um kernel antigo indefinidamente, a menos que você tenha um plano de manutenção para atualizações de segurança.

Comandos a serem coletados antes de pedir ajuda

Esses comandos fornecem um pacote de diagnóstico compacto sem alterar o sistema:

uname -a
lspci -nnk | grep -A3 -i nvidia
nvidia-smi
lsmod | grep -E 'nvidia|nouveau'
mokutil --sb-state
dkms status
apt-cache policy 'nvidia-driver-*' | sed -n '1,160p'
sudo dmesg | grep -iE 'nvrm|nvidia|nouveau|secure|module' | tail -n 120

Inclua a versão do Ubuntu (de `/ etc/ubuntu` lsb_release -aou `/etc/ubuntu` /etc/os-release), o kernel exato (de `/ uname -retc/ubuntu`) e se o driver foi originalmente instalado por meio de pacotes do Ubuntu, do repositório da NVIDIA, de um PPA ou do instalador independente. Esses detalhes geralmente são mais importantes do que a afirmação genérica de que "o driver parou de funcionar após uma atualização".

Prevenção prática

  • ubuntu-driversPara sistemas desktop comuns, prefira o fluxo de trabalho do Ubuntu ou o de drivers adicionais.
  • Mantenha o metapacote de sabor do kernel instalado para que futuras atualizações do kernel possam trazer módulos NVIDIA compatíveis.
  • Reinicie o sistema após atualizações do kernel ou do driver da NVIDIA, em vez de continuar com uma pilha mista de memória e disco.
  • Mantenha pelo menos um kernel funcional disponível até confirmar que o novo kernel inicializa com o driver da GPU.
  • Evite misturar pacotes do Ubuntu, PPAs, o instalador independente da NVIDIA e vários repositórios, a menos que você esteja ciente das consequências.

Referências oficiais

Os procedimentos atuais da Canonical estão em Instalar drivers NVIDIA — Ubuntu Desktop e Instalação de drivers NVIDIA — Ubuntu Server . Para obter orientações específicas sobre o DKMS, consulte Criar seus próprios módulos NVIDIA usando o pacote DKMS . A documentação da NVIDIA está disponível no Guia de Instalação de Drivers NVIDIA para Ubuntu .

A ramificação exata do driver, a ABI do kernel e os nomes dos pacotes dependem da versão. Sempre substitua os valores relatados pelo seu sistema e pelo APT, em vez de considerar as versões de exemplo como universais.

Deixar um comentário

Corrigindo o Screen Tearing em placas gráficas Intel no Pardus Linux: Um guia focado em resultados

Corrigindo o Screen Tearing em placas gráficas Intel no Pardus Linux: Um guia focado em resultados

Corrija o problema de tearing (rasgo na tela) causado por placas gráficas Intel no Pardus Linux verificando as configurações de X11 vs. Wayland, as configurações do compositor, a taxa de atualização, o driver Xorg ativo e o TearFree somente quando apropriado.

Como configurar o firewall do SLES 15 com o firewall-cmd

Como configurar o firewall do SLES 15 com o firewall-cmd

Configure o firewalld no SLES 15: verifique as zonas, permita serviços ou portas, salve regras permanentes, recarregue com segurança e verifique o acesso.

Guia de configuração de aplicação de patches em tempo real no SLES: Aplique atualizações do kernel sem reiniciar.

Guia de configuração de aplicação de patches em tempo real no SLES: Aplique atualizações do kernel sem reiniciar.

Habilite a aplicação de patches em tempo real no kernel do SLES 15 SP7, aplique correções compatíveis sem reiniciar, verifique os patches ativos e entenda quando ainda é necessário reiniciar o kernel.

Como ativar o modo FIPS no SUSE Linux Enterprise Server 15

Como ativar o modo FIPS no SUSE Linux Enterprise Server 15

Ative o modo FIPS no SLES 15 com o utilitário de configuração compatível com a SUSE, reinicie com segurança, verifique o status do kernel e da política criptográfica e verifique os limites de certificação.

Como instalar o Google Chrome no Gooroom OS sem violar as políticas de segurança

Como instalar o Google Chrome no Gooroom OS sem violar as políticas de segurança

Instale o Google Chrome no Gooroom OS com segurança usando pacotes .deb oficiais, APT, verificações de políticas, orientações de atualização e correções para dispositivos gerenciados.

Como exportar logs do sistema SLES para um servidor Syslog remoto com segurança

Como exportar logs do sistema SLES para um servidor Syslog remoto com segurança

Encaminhe com segurança os logs do sistema SLES para um servidor syslog remoto usando rsyslog, certificados TLS, verificação de nome do par, filas, validação e testes.

Integração do Active Directory do SLES 15 com o SSSD: um guia passo a passo

Integração do Active Directory do SLES 15 com o SSSD: um guia passo a passo

Integre o SLES 15 ao Active Directory com o SSSD usando o YaST. Prepare o DNS e o horário, configure os logins de domínio, verifique o Kerberos e compare o SSSD, o Winbind e o realmd.

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix Realtek RTL8821CE Wi-Fi Driver Issues on Pardus Linux

Fix RTL8821CE Wi-Fi on Pardus Linux by checking the built-in rtw88 driver, Realtek firmware, rfkill, NetworkManager, and safe fallback options.

Corrigir o problema "Falha temporária na resolução de DNS" no Debian 12 com systemd-resolved

Corrigir o problema "Falha temporária na resolução de DNS" no Debian 12 com systemd-resolved

Diagnosticar e corrigir falhas de resolução de DNS no Debian 12 com systemd-resolved, incluindo resolv.conf, NetworkManager, networkd, cache e verificação.

Como instalar o Pardus Linux em dual boot com o Windows 11 de forma segura

Como instalar o Pardus Linux em dual boot com o Windows 11 de forma segura

Instale o Pardus 25.2 ao lado do Windows 11 fazendo um backup, reduzindo o volume do Windows, inicializando a partir de um USB UEFI e protegendo as partições EFI e de recuperação existentes.