Startseite
» PC-Tipps
»
Wie man das Problem behebt, dass Nvidia-Treiber nach einem Kernel-Update unter Ubuntu nicht geladen werden
Wie man das Problem behebt, dass Nvidia-Treiber nach einem Kernel-Update unter Ubuntu nicht geladen werden
Ein Kernel-Update kann dazu führen, dass Ubuntu mit einem Anmeldebildschirm mit niedriger Grafikauflösung, einem schwarzen Bildschirm oder einem Desktop ohne NVIDIA-Beschleunigung angezeigt wird. Das bedeutet nicht automatisch, dass die Grafikkarte defekt ist. Ein Kernel-Update ändert den Kernel, gegen den ein externes NVIDIA-Modul kompiliert werden muss, und Secure Boot kann das Laden eines Moduls verweigern, dessen Signaturschlüssel nicht als vertrauenswürdig eingestuft wird.
Beginnen Sie mit der Identifizierung des Fehlers. Wenn der vorherige Kernel mit funktionierender NVIDIA-NVIDIA-Technologie bootet, liegt die Ursache wahrscheinlich im neuen Kernel oder dessen Modul-Build. Falls das Modul installiert zu sein scheint, der Kernel aber eine Schlüssel- oder Signaturablehnung meldet, überprüfen Sie Secure Boot und die MOK-Registrierung (Machine Owner Key). Diese Anleitung verwendet den Treiber-Workflow von Ubuntu; Menübezeichnungen und Treiberzweige können je nach Ubuntu-Version und Hardware variieren.
Beispielhafte GRUB-Ansicht: Die Auswahl eines zuvor installierten Kernels kann helfen, einen funktionierenden Desktop wiederherzustellen, während Sie den aktualisierten Kernel diagnostizieren.
Kann man den vorherigen Kernel gefahrlos zuerst starten?
Ja, falls es noch installiert ist. Starten Sie den Computer neu und öffnen Sie das GRUB-Menü. Bei vielen Systemen wird es angezeigt, wenn Sie im Legacy-BIOS die Umschalttaste gedrückt halten oder im UEFI während des Startvorgangs die Esc-Taste drücken. Wählen Sie unter Ubuntu die erweiterten Optionen und anschließend den älteren Kernel ohne „Wiederherstellungsmodus“. Die genauen Tastenkombinationen und Menübezeichnungen hängen von der Firmware und der GRUB-Konfiguration ab. Falls das Menü ausgeblendet ist, beobachten Sie das Startverhalten des Computers, anstatt willkürlich Firmware-Einstellungen zu ändern.
Sobald das System gestartet ist, überprüfen Sie den laufenden Kernel uname -r. Ein funktionierender älterer Kernel bietet Ihnen eine Möglichkeit zur Wiederherstellung und Zeit, Pakete zu überprüfen. Dies ist keine dauerhafte Lösung: Sicherheitsupdates sind weiterhin wichtig. Kehren Sie daher nach der Reparatur des Treibers zum neuen Kernel zurück. Falls keiner der Kernel normal startet, sichern Sie wichtige Daten mithilfe des Ubuntu-Wiederherstellungseintrags oder eines Live-USB-Sticks, bevor Sie Paketänderungen vornehmen.
Was sollten Sie überprüfen, bevor Sie irgendetwas neu installieren?
Öffnen Sie ein Terminal (oder eine Textkonsole mit Strg+Alt+F3, falls die grafische Anmeldung nicht verfügbar ist) und erfassen Sie eine kurze Basislinie:
uname -rIdentifiziert den aktiven Kernel. mokutil --sb-stateGibt an, ob Secure Boot aktiviert ist. dkms statusZeigt an, ob ein Build mit dynamischer Kernelmodulunterstützung für diesen Kernel registriert ist. nvidia-smiTestet die Kommunikation mit dem geladenen NVIDIA-Treiber; dies ist ein Diagnose-, kein Reparaturbefehl. Das Kernelprotokoll kann ein fehlendes Modul, einen fehlgeschlagenen Build oder eine Signaturablehnung aufdecken. Das Fehlen einer übereinstimmenden Protokollzeile beweist nicht, dass der Treiber fehlerfrei funktioniert.
Verwenden Sie den aktiven Kernel, den DKMS-Status und das NVIDIA-Dienstprogramm zusammen, um ein fehlendes Build von einem Problem mit dem geladenen Treiber zu unterscheiden; die Beispielausgabe kann je nach Version variieren.
Konnte das NVIDIA-Modul für den neuen Kernel nicht kompiliert werden?
Falls DKMS NVIDIA nur für einen älteren Kernel auflistet oder kein NVIDIA-Modul verfügbar ist uname -r, installieren Sie die passenden Kernel-Header und lassen Sie Ubuntu den mitgelieferten Treiber reparieren. Die Header enthalten die Dateien, die zum Erstellen eines externen Moduls für den laufenden Kernel benötigt werden. Stellen Sie zunächst sicher, dass Sie über Netzwerkzugriff und ausreichend Speicherplatz verfügen, und führen Sie dann Folgendes aus:
Das von Ubuntu empfohlene ubuntu-driversTool wählt einen passenden Treiber für das System aus. Überprüfen Sie die von APT vorgeschlagenen Pakete, bevor Sie sie akzeptieren. Falls der Treiber bereits installiert ist und der DKMS-Build unvollständig erscheint, ermitteln Sie das installierte Paket, anstatt einen Branch zu erraten.
dpkg -l 'nvidia-dkms-*' 'nvidia-driver-*'
ubuntu-drivers list
Installieren Sie anschließend das passende DKMS-Paket, das auf Ihrem System angezeigt wird (ersetzen Sie den Paketnamen durch den exakten Paketnamen). sudo apt install --reinstall nvidia-dkms-<branch>Vermeiden Sie es, eine Treibernummer aus einer anderen Ubuntu-Version zu kopieren oder Ubuntu-Pakete mit dem eigenständigen NVIDIA-Installer zu mischen; konkurrierende Installationsmethoden können Dateien überschreiben oder Secure Boot beeinträchtigen. Wenn APT nicht erfüllte Abhängigkeiten, blockierte Pakete oder einen fehlgeschlagenen DKMS-Build meldet, lesen Sie die vollständige Fehlermeldung, bevor Sie weitere Befehle ausführen. Das entsprechende Build-Protokoll befindet sich üblicherweise unter /var/lib/dkms/; verwenden Sie den in der Fehlermeldung angegebenen Pfad, anstatt die DKMS-Verzeichnisse zu löschen.
Installieren Sie die Header für den laufenden Kernel und reparieren Sie anschließend das exakte Ubuntu-DKMS-Paket, das bereits für das System ausgewählt wurde. Paketname und APT-Ausgabe können variieren.
Blockiert Secure Boot ein integriertes Modul?
Das kann sein. Bei aktiviertem Secure Boot prüft der Ubuntu-Kernel die Signaturen von Drittanbieter-Kernelmodulen. Die Ubuntu-Paketverwaltung kann einen MOK-Signaturschlüssel erstellen und Sie auffordern, diesen zu registrieren. Falls während der Installation eine Aufforderung zur Festlegung eines Einmalpassworts angezeigt wurde, der nächste Neustart aber direkt zu Ubuntu führte, wurde der Schlüssel möglicherweise nicht registriert. Überprüfen Sie mokutil --sb-statedas Kernel-Protokoll auf Meldungen zur Schlüsselverifizierung oder -ablehnung.
Wenn die Ubuntu-Paketinstallation eine MOK-Registrierung in die Warteschlange gestellt hat, starten Sie den Computer neu und folgen Sie den Anweisungen im blauen MOK-Manager-Bildschirm: Wählen Sie „MOK registrieren“ , fahren Sie fort, bestätigen Sie den Schlüssel, geben Sie das Einmalpasswort ein, das Sie während der Paketinstallation erstellt haben, und starten Sie den Computer neu. Dieses Passwort ist nicht unbedingt Ihr Ubuntu-Anmeldepasswort. Lesen Sie die Anweisungen auf dem Bildschirm sorgfältig; die Menübezeichnungen können variieren. Wenn keine Registrierung in die Warteschlange gestellt wurde, kann die Neuinstallation eines unterstützten Ubuntu-Treiberpakets zur Einrichtung eines Schlüssels auffordern. Registrieren Sie keine unbekannte Schlüsseldatei und geben Sie das Einmalpasswort nicht weiter.
Der MOK Manager-Registrierungsbildschirm wird während eines Neustarts aufgerufen, wenn eine Schlüsselregistrierung aussteht; wählen Sie "MOK nur für den Schlüssel registrieren", dem Sie vertrauen möchten.
Was passiert, wenn der Build auch mit installierten Headern fehlschlägt?
Prüfen Sie, ob der neue Kernel vollständig installiert ist und ob seine Header exakt übereinstimmen: uname -rSie sollten mit dem installierten Header-Paket übereinstimmen. Untersuchen Sie anschließend den DKMS-Fehler von APT und das Build-Protokoll. Ein neuer Kernel kann Inkompatibilitäten mit einem älteren NVIDIA-Treiberzweig aufdecken; ein erneutes Kompilieren kann Quellcode, der diese Kernel-Schnittstelle nicht unterstützt, nicht reparieren. Verwenden Sie die Treiberauswahl von Ubuntu, um einen unterstützten Zweig für Ihre Version zu installieren, und starten Sie den Computer neu. Wenn Sie den Treiber mit dem NVIDIA-Installationsprogramm (.run) installiert haben, befolgen Sie die Deinstallationsanweisungen von NVIDIA, bevor Sie wieder auf Ubuntu-Pakete umsteigen; verwenden Sie keine überlagerten Paketmanager.
Für den temporären Zugriff starten Sie den älteren Kernel über GRUB und lassen Sie ihn installiert, bis der Treiber des neuen Kernels korrekt geladen wird. Wenn Sie einen benutzerdefinierten Kernel, eine nicht standardmäßige Kernel-Variante oder eine Grafik-Rechner-/Serverkonfiguration verwenden, entspricht die automatische Desktop-Empfehlung von Ubuntu möglicherweise nicht Ihrer gewünschten Konfiguration. Konsultieren Sie die Dokumentation für den jeweiligen Kernel oder die jeweilige Anwendung, anstatt ein generisches Paket zu erzwingen.
Wie kann man überprüfen, ob die Reparatur funktioniert hat?
Nach der Reparatur der Pakete oder der Registrierung des Schlüssels starten Sie den Computer neu und booten Sie den neuen Kernel. Führen Sie anschließend die Befehle `npm install` uname -r, dkms status`npm install` und `npm nvidia-smiinstall` erneut aus. Ein erfolgreiches Ergebnis zeigt einen DKMS-Eintrag für den laufenden Kernel, keine Ablehnung der Modulsignatur im Kernel-Log des aktuellen Bootvorgangs sowie nvidia-smidie Anzeige der GPU- und Treiberinformationen an. Prüfen Sie außerdem, ob die normale Desktop-Sitzung startet und ob eine Anwendung, die GPU-Beschleunigung benötigt, die NVIDIA-GPU nutzen kann. Hybrid-Laptops verwenden möglicherweise absichtlich die integrierte Grafik für den Desktop; daher ist eine unauffällige GPU allein kein Beweis für einen Fehler.
Sollte der Fehler weiterhin bestehen, speichern Sie die vollständige DKMS-Build-Ausgabe, die aktive Kernel-Version, die Ubuntu-Version cat /etc/os-release, den Secure-Boot-Status und die relevanten Kernel-Logzeilen. Anhand dieser Informationen lässt sich feststellen, ob der nächste Schritt ein unterstützter Treiberzweig, ein Signaturproblem oder ein Kernel-Kompatibilitätsproblem ist. Die offizielle Ubuntu-Anleitung empfiehlt diesen ubuntu-driversWeg für die meisten Systeme, insbesondere wenn Secure Boot aktiviert ist; siehe Ubuntu Desktop: NVIDIA-Treiber installieren , Ubuntu Server: NVIDIA-Treiberinstallation und Ubuntu Security: UEFI Secure Boot . Detaillierte Informationen zur Treiberkompatibilität auf niedriger Ebene finden Sie in der Linux-Treiberinstallationsdokumentation von NVIDIA . Die verfügbaren Treiberversionen und die genauen Anweisungen variieren je nach Ubuntu-Version und GPU-Unterstützungsstatus.