Hoe los je het probleem op dat NVIDIA-stuurprogramma's niet laden na een kernelupdate in Ubuntu?

Een Ubuntu-kernelupdate kan ervoor zorgen dat een NVIDIA-systeem normaal opstart, terwijl het propriëtaire stuurprogramma niet meer laadt. De zichtbare symptomen variëren: nvidia-smier kan een melding verschijnen dat er geen communicatie met het stuurprogramma mogelijk is, CUDA-applicaties kunnen de GPU niet meer herkennen, het bureaublad kan terugvallen op softwarematige rendering of modprobe nvidiakan volledig vastlopen. De praktische oplossing is om te achterhalen welke laag defect is geraakt, in plaats van alles in één keer opnieuw te installeren.

Deze handleiding richt zich op NVIDIA-stuurprogramma's die in Ubuntu worden meegeleverd en de huidige richtlijnen van Canonical. Vanaf oktober 2026 raadt Ubuntu ubuntu-driversvoor de meeste systemen de tool of de applicatie 'Additional Drivers' aan en adviseert het, indien beschikbaar, voorgecompileerde en ondertekende kernelmodules. De Ubuntu-documentatie van NVIDIA zelf ondersteunt ook Ubuntu 22.04, 24.04 en 26.04, maar de pakketnamen verschillen in nieuwere branches. Kopieer daarom geen branchnummer uit een voorbeeld, tenzij deze daadwerkelijk voor uw machine wordt aangeboden.

Checklist voor snelle diagnose

RekeningCommandoWat het je vertelt
Kernel uitvoerenuname -rDe exacte kernel-ABI waarvoor een overeenkomende NVIDIA-module nodig is.
Bestuurdersstatusnvidia-smiOf de gebruikersruimte kan communiceren met de geladen NVIDIA-kernelmodule.
Geladen moduleslsmod | grep -E 'nvidia|nouveau'Ongeacht of NVIDIA of Nouveau momenteel de GPU bezit.
Aanbevolen pakketsudo ubuntu-drivers listDe driverbranches die Ubuntu geschikt acht voor de hardware.
Secure Bootmokutil --sb-stateOf niet-ondertekende kernelmodules van derden mogen worden geweigerd.
Kernellogsudo dmesg | grep -iE 'nvrm|nvidia|nouveau|secure|module'Nuttige aanwijzingen voor API-mismatch, afwijzing van handtekeningen of mislukte tests.
In de Ubuntu-terminal wordt het commando `uname -r` weergegeven, een mislukte `nvidia-smi` opdracht en `lsmod` geeft geen NVIDIA-module weer.
Een veelvoorkomend probleem na een update: de nieuwe kernel draait wel, maar de NVIDIA-module wordt niet geladen. De exacte kernel- en driverversies op uw systeem kunnen verschillen.

1. Controleer of het probleem is begonnen met de huidige kernel.

Noteer eerst de actieve kernel en de huidige NVIDIA-status:

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

Als nvidia-smihet mislukt en er geen nvidiamodules verschijnen lsmod, ligt de fout onder het CUDA- of desktopapplicatieniveau. Als nvidia-smier een foutmelding verschijnt Failed to initialize NVML: Driver/library version mismatch, documenteert Canonical dit als een mismatch tussen een gebruikersruimte- en een kernelmodule, wat vaak het gevolg is van een driverupdate; een herstart kan voldoende zijn als de nieuwe module al is geïnstalleerd.

Als je via GRUB nog steeds een oudere kernel kunt selecteren en de driver daar wel werkt, is dat een sterk bewijs dat de nieuwe kernel geen bruikbare NVIDIA-module bevat. Een oudere kernel is een handige tijdelijke oplossing, maar het is niet de definitieve oplossing, omdat de huidige kernel en driverstack nog steeds compatibel moeten zijn.

2. Vraag Ubuntu welke driverbranch het aanbeveelt.

Gebruik op een standaard Ubuntu-desktop of -werkstation de eigen stuurprogrammakeuzelogica van Ubuntu in plaats van zelf een tak te raden:

sudo apt update
sudo ubuntu-drivers list

Voor de meeste desktop- en gamingsystemen raadt Canonical het normale UDA-stuurprogramma aan in plaats van een -serverpakket. Op compute-servers dient u de serverrichtlijnen te volgen, ubuntu-drivers list --gpgpuindien van toepassing. Als uw systeem eerder is geïnstalleerd met het standalone-installatieprogramma van NVIDIA .runof een repository van derden, kan het combineren van pakketbronnen de diagnose bemoeilijken. Canonical waarschuwt expliciet dat stuurprogramma's die buiten de gedocumenteerde methoden zijn geïnstalleerd, componenten van Ubuntu kunnen overschrijven en Secure Boot kunnen verstoren.

De Ubuntu-terminal toont de lijst met Ubuntu-stuurprogramma's en de apparaten die door Ubuntu-stuurprogramma's worden weergegeven, waarbij een NVIDIA-stuurprogramma als aanbevolen is gemarkeerd.
Gebruik de stuurprogrammadetectie van Ubuntu om een ​​geschikte branch voor de geïnstalleerde GPU te identificeren in plaats van een versie van een andere machine vast te coderen.

3. Controleer Secure Boot voordat u iets opnieuw installeert.

Secure Boot is een veelvoorkomende reden waarom een ​​NVIDIA-module wel op de schijf aanwezig is, maar niet opstart. Controleer de status:

mokutil --sb-state
sudo modprobe nvidia

Als Secure Boot is ingeschakeld en modprobeeen bericht zoals dit weergeeft Key was rejected by service, dwingt de kernel modulevertrouwen af. Ubuntu dwingt al jaren validatie van kernelmodules af onder Secure Boot op ondersteunde amd64-releases. Canonical geeft de voorkeur aan het gebruik van ondertekende, vooraf gecompileerde NVIDIA-modules wanneer deze beschikbaar zijn. Als u bewust DKMS gebruikt, kan Ubuntu vereisen dat er bij het opnieuw opstarten een Machine Owner Key (MOK) wordt aangemaakt en geregistreerd.

Schakel Secure Boot niet uit als eerste stap bij het oplossen van problemen. Het kan een kort diagnostisch experiment zijn in een gecontroleerde omgeving, maar de beste oplossing is meestal het installeren van een ondertekende module of het correct registreren van de MOK. Canonical beschrijft het registratieproces in de UEFI Secure Boot-documentatie .

In de Ubuntu-terminal wordt SecureBoot ingeschakeld weergegeven, maar modprobe nvidia mislukt met een foutmelding over een geweigerde sleutel.
Een afwijzing van een digitale handtekening wijst eerder op een probleem met Secure Boot dan met een ontbrekende GPU. Los het probleem met de moduleondertekening of MOK-registratie op in plaats van herhaaldelijk gebruikersruimtebibliotheken opnieuw te installeren.

4. Controleer of de bijbehorende NVIDIA-module bestaat voor de actieve kernel.

De vooraf gecompileerde NVIDIA-pakketten van Ubuntu zijn gekoppeld aan een kernel-ABI. Vervang dit DRIVER_BRANCHdoor de tak die wordt weergegeven door ubuntu-drivers list:

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

Als het pakket is geïnstalleerd voor de huidige kernel, ga dan verder met de onderstaande controles van Secure Boot, Nouveau en logboeken. Als het ontbreekt, installeer dan het exact overeenkomende modulepakket:

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

Canonical ondersteunt ook de installatie van het flavor-metapakket, bijvoorbeeld linux-modules-nvidia-${DRIVER_BRANCH}-generic, wat ervoor zorgt dat toekomstige kernel-upgrades de bijbehorende NVIDIA-modules automatisch downloaden. De exacte pakketnaam is afhankelijk van je Ubuntu-release, kernel-flavor, driverbranch en of je een servervariant gebruikt. Controleer daarom de door APT getoonde kandidaat voordat je de installatie bevestigt.

De Ubuntu-terminal controleert het apt-cache-beleid op een NVIDIA-kernelmodulepakket en de headers van de huidige kernel.
Het controleren van het pakketbeleid helpt onderscheid te maken tussen een ontbrekende kernelspecifieke NVIDIA-module en een probleem met een gebruikersstuurprogramma.

5. Als u DKMS gebruikt, zorg er dan voor dat de huidige kernelheaders aanwezig zijn.

DKMS bouwt een module voor de specifieke kernel die u gebruikt. Het heeft daarom overeenkomende kernelheaders nodig. Canonical raadt DKMS vooral aan wanneer er geen voorgecompileerde modules beschikbaar zijn, zoals bij sommige aangepaste kernels.

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

Als de NVIDIA DKMS-vermelding geen succesvolle build voor de huidige kernel weergeeft, controleer dan het buildlogboek /var/lib/dkms/voordat u willekeurige pakketten verwijdert. Typische fouten zijn onder andere ontbrekende headers, niet-ondersteunde compiler-/kernelcombinaties of een probleem met de moduleondertekening. Nadat u de vereiste hebt gecorrigeerd, installeert u het betreffende DKMS-pakket opnieuw of gebruikt u het automatische pad van Ubuntu:

sudo ubuntu-drivers install --include-dkms

Gebruik die opdracht alleen wanneer DKMS daadwerkelijk nodig is. Volgens de huidige desktopdocumentatie van Canonical hebben voorgecompileerde modules de voorkeur van de meeste gebruikers, met name in combinatie met Secure Boot.

Ubuntu-terminal installeert linux-headers voor de momenteel actieve kernel.
Overeenkomende kernelheaders zijn vereist wanneer DKMS een NVIDIA-module moet compileren voor de huidige kernel.

6. Installeer de ontbrekende voorgecompileerde module zodra deze beschikbaar is.

Als uit stap 4 blijkt dat de huidige kernel de vooraf gecompileerde NVIDIA-module mist, installeer deze dan expliciet en laat APT de initramfs opnieuw opbouwen:

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

Controleer vervolgens of APT de installatie zonder afhankelijkheidsfouten heeft voltooid. Vermijd het forceren van pakketinstallaties met dpkg --force-*`;`, omdat dit kan leiden tot incompatibele versies van de kernelmodule, gebruikersruimtebibliotheken en metapakketten.

Als u niet zeker weet welke tak u moet gebruiken, is de veiligere algemene reparatiemethode:

sudo ubuntu-drivers install

Canonical geeft aan dat ubuntu-drivershet dezelfde logica gebruikt als de toepassing 'Extra stuurprogramma's' en standaard vooraf gecompileerde, ondertekende stuurprogramma's selecteert waarvan bekend is dat ze werken met Secure Boot.

Ubuntu-terminal installeert het pakket linux-modules-nvidia voor de huidige kernel en werkt initramfs bij.
Het installeren van het kernelspecifieke modulepakket verhelpt het veelvoorkomende probleem waarbij de drivertak wel aanwezig is, maar de nieuwe kernel de bijbehorende NVIDIA-module mist.

7. Herstart na pakketwijzigingen.

Een herstart is hier niet zomaar een formaliteit. De draaiende kernel kan een oudere NVIDIA-module in het geheugen bewaren, terwijl APT de gebruikersruimtebibliotheken op de schijf al heeft bijgewerkt. Canonical beschrijft dit specifiek als de oorzaak van een versieconflict tussen NVML-stuurprogramma's en -bibliotheken na updates.

sudo reboot

Na het opnieuw opstarten, moet u niet meteen opnieuw installeren. Controleer eerst het resultaat met de commando's in het volgende gedeelte.

De Ubuntu-terminal toont een installatie van Ubuntu-stuurprogramma's, gevolgd door `sudo reboot`.
Na wijzigingen aan stuurprogramma's of kernelmodules, start de computer opnieuw op zodat de kernel de nieuw geïnstalleerde NVIDIA-module laadt en de gebruikersruimtecomponenten terugkeren naar dezelfde versie.

8. Controleer of de NVIDIA-module is geladen.

Loop:

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

Een succesvolle reparatie heeft drie nuttige indicaties: nvidia-smieen lijst van de GPU, lsmodeen weergave van de NVIDIA-modules en /proc/driver/nvidia/versioneen rapport van de actieve moduleversie. Voor CUDA-workloads is het ook raadzaam om de applicatie of het framework dat eerder de fout veroorzaakte opnieuw uit te voeren; nvidia-smidit bewijst op zichzelf al de stuurprogrammacommunicatie, niet dat elke CUDA-bibliotheek in uw omgeving compatibel is.

Ubuntu-terminal met succesvolle uitvoer van nvidia-smi en de door lsmod weergegeven NVIDIA-modules.
Een gezonde eindtoestand: nvidia-smi kan communiceren met de GPU en de NVIDIA-kernelmodules zijn geladen. De getoonde waarden zijn een voorbeeld, geen vereiste versie.

Als het nog steeds niet lukt: gebruik het symptoom om de volgende actie te kiezen.

"Versie van stuurprogramma/bibliotheek komt niet overeen"

Start de computer eerst opnieuw op. Vergelijk vervolgens de actieve kernelmoduleversie met de geïnstalleerde pakketten. Canonical merkt op dat bijgewerkte gebruikersruimtecomponenten tijdelijk kunnen conflicteren met een oudere module die nog in het geheugen is geladen. Als de discrepantie na het opnieuw opstarten aanhoudt, controleer dan op gemengde pakketbronnen en meerdere driverbranches.

“Geen apparaten gevonden” en Nouveau wordt geladen.

Rekening:

lsmod | grep nouveau

Volgens de serverdocumentatie van Ubuntu kan Nouveau in deze situatie conflicteren met het propriëtaire NVIDIA-stuurprogramma. Als Nouveau is geladen en u van plan bent het propriëtaire stuurprogramma te gebruiken, adviseert Canonical om het op de blokkeerlijst te zetten en de initramfs opnieuw op te bouwen.

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

Blokkeer Nouveau niet zomaar omdat het op de schijf staat; controleer eerst of het daadwerkelijk is geladen en of het de oorzaak van de fout is.

modprobe nvidiazegt dat de sleutel is afgewezen

Ga terug naar het pad voor beveiligd opstarten. Gebruik waar mogelijk ondertekende Ubuntu-modules of voltooi de MOK-registratie voor een DKMS-module. Het herhaaldelijk opnieuw installeren van dezelfde niet-ondertekende module zal de vertrouwensbeslissing niet veranderen.

De nieuwe kernel heeft geen compatibel modulepakket.

Start tijdelijk een oudere, werkende kernel op, houd het systeem up-to-date en controleer of Ubuntu een overeenkomende, vooraf gecompileerde module voor de nieuwere kernel levert. Als u bewust een aangepaste kernel gebruikt, is DKMS mogelijk geschikt, maar lees het buildlogboek en controleer of Secure Boot is ondertekend. Vermijd het permanent vastzetten van een oude kernel, tenzij u een onderhoudsplan voor beveiligingsupdates hebt.

Verzamel eerst de benodigde opdrachten voordat je om hulp vraagt.

Deze commando's bieden een compact diagnostisch pakket zonder het systeem te hoeven wijzigen:

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

Vermeld de Ubuntu-release van lsb_release -aof /etc/os-release, de exacte kernel van uname -ren of het stuurprogramma oorspronkelijk is geïnstalleerd via Ubuntu-pakketten, de NVIDIA-repository, een PPA of het zelfstandige installatieprogramma. Deze details zijn meestal belangrijker dan de algemene verklaring dat "het stuurprogramma na een update niet meer werkte".

Praktische preventie

  • Gebruik bij voorkeur de Ubuntu-workflow ubuntu-driversof de workflow voor extra stuurprogramma's voor normale desktopsystemen.
  • Zorg ervoor dat het kernel-flavor-metapakket geïnstalleerd blijft, zodat toekomstige kernelupdates de bijbehorende NVIDIA-modules kunnen bevatten.
  • Start de computer opnieuw op na kernel- of NVIDIA-stuurprogramma-updates in plaats van door te gaan met een gemengde opslagstructuur (geheugen/schijf).
  • Zorg dat je ten minste één werkende kernel beschikbaar hebt totdat je hebt bevestigd dat de nieuwe kernel opstart met het GPU-stuurprogramma.
  • Vermijd het combineren van Ubuntu-pakketten, PPA's, de zelfstandige installer van NVIDIA en meerdere repositories, tenzij je de gevolgen bewust wilt beheersen.

Officiële referenties

De huidige procedures van Canonical staan ​​beschreven in NVIDIA-stuurprogramma's installeren — Ubuntu Desktop en NVIDIA-stuurprogramma's installeren — Ubuntu Server . Voor DKMS-specifieke instructies raadpleegt u Uw eigen NVIDIA-modules bouwen met het DKMS-pakket . De documentatie van NVIDIA is beschikbaar in de NVIDIA-stuurprogramma-installatiehandleiding voor Ubuntu .

De exacte driverbranch, kernel-ABI en pakketnamen zijn afhankelijk van de release. Vervang altijd de waarden die door uw systeem en APT worden gerapporteerd in plaats van de voorbeeldversies als universeel te beschouwen.

Laat een reactie achter

Hoe los je het probleem op dat NVIDIA-stuurprogramma's niet laden na een kernelupdate in Ubuntu?

Hoe los je het probleem op dat NVIDIA-stuurprogramma's niet laden na een kernelupdate in Ubuntu?

Los problemen op met NVIDIA-stuurprogramma's die niet meer laden na een Ubuntu-kernelupdate door te controleren op kernelmodules, Secure Boot, DKMS, headers, Nouveau en versieconflicten.

Hoe installeer je Pardus 23 op oudere hardware: stapsgewijze handleiding

Hoe installeer je Pardus 23 op oudere hardware: stapsgewijze handleiding

Installeer Pardus 23.4 XFCE op oudere 64-bits pc's met Legacy BIOS, een opstartbare USB-stick, veilige partitionering en controles na de installatie voor hardware met lage specificaties.

Het beveiligingsmodel van Gooroom OS uitgelegd: Trusted Boot, OS-bescherming en browser-sandboxing.

Het beveiligingsmodel van Gooroom OS uitgelegd: Trusted Boot, OS-bescherming en browser-sandboxing.

Leer hoe Gooroom OS vertrouwde opstart-, uitvoerbare- en besturingssysteembeveiliging, en browserbeheer combineert, en wat gebruikers moeten controleren met betrekking tot sandboxing.

Debian 12 draaien op een VPS met weinig RAM zonder geheugenproblemen die MySQL platleggen.

Debian 12 draaien op een VPS met weinig RAM zonder geheugenproblemen die MySQL platleggen.

Diagnoseer de geheugenproblemen van Debian 12, optimaliseer de grootte van MariaDB of MySQL, voeg op de juiste manier swapgeheugen toe en controleer of uw VPS de werklast aankan.

How to Configure VPN Connections on Pardus Linux Desktop

How to Configure VPN Connections on Pardus Linux Desktop

Set up OpenVPN, WireGuard, OpenConnect, or IPsec VPN connections on Pardus 25 Desktop, then verify routing, DNS, and tunnel status.

SLES 15 versus RHEL 9: Vergelijking van de serverprestaties in de zakelijke markt

SLES 15 versus RHEL 9: Vergelijking van de serverprestaties in de zakelijke markt

Vergelijk de prestatiegegevens van SLES 15 en RHEL 9, inclusief kernelstreams, TuneD-profielen, workloadvariabelen en methoden om beide systemen eerlijk te benchmarken.

Los het probleem op dat een SUSE Linux-server vastloopt tijdens het herstarten bij het afsluiten van systemd.

Los het probleem op dat een SUSE Linux-server vastloopt tijdens het herstarten bij het afsluiten van systemd.

Leer hoe u een SUSE Linux-server die vastloopt tijdens het afsluiten met systemd kunt diagnosticeren en repareren door vastgelopen taken te vinden, de vorige opstart te bekijken en de blokkerende service of mount te corrigeren.

Hoe pas je het XFCE-paneel aan in Pardus Linux voor Windows-gebruikers?

Hoe pas je het XFCE-paneel aan in Pardus Linux voor Windows-gebruikers?

Zorg ervoor dat Pardus XFCE vertrouwd aanvoelt met een taakbalk onderaan, een applicatiemenu, favoriete launchers, knoppen voor geopende vensters, een systeemvak en een klok. Leer wat je kunt veranderen en hoe je de lay-out kunt testen.

How to Set Up Automated Headless Debian Upgrades with Unattended-Upgrades

How to Set Up Automated Headless Debian Upgrades with Unattended-Upgrades

Configure unattended-upgrades on a headless Debian server, verify systemd timers, test safely, control reboots, and monitor automatic security updates.

Los het probleem op dat de Cockpit-webconsole geen verbinding maakt op SUSE Linux Enterprise Server.

Los het probleem op dat de Cockpit-webconsole geen verbinding maakt op SUSE Linux Enterprise Server.

Los problemen met Cockpit op SUSE Linux Enterprise Server op door de HTTPS-URL, de systemd-socket, de geïnstalleerde pakketten, de firewalld-zone, certificaten en logbestanden te controleren.