NVIDIA-Treiber auf Bare-Metal- und Passthrough-GPU-Systemen neu installieren oder auf eine ältere Version zurücksetzen
NVIDIA-Treiber sind essenziell, um GPU-Beschleunigung auf Bare-Metal-Servern zu aktivieren. Kommt es jedoch zu Fehlern wie Versionskonflikten, fehlgeschlagenen Updates oder NVML-bezogenen Fehlfunktionen, kann dies die Leistung beeinträchtigen oder das System instabil machen. In solchen Fällen ist es sinnvoll, eine stabile Version wiederherzustellen oder den aktuellen Treiber vollständig neu zu installieren, um den normalen GPU-Betrieb wiederherzustellen.
Hinweis
Diese Anleitung gilt sowohl für Bare-Metal-GPU-Server als auch für Passthrough-GPU-VMs, die mit einem GPU-fähigen Betriebssystemimage erstellt wurden.
Bare Metal: Die Treiber laufen direkt auf der dedizierten Hardware.
Passthrough: Die Treiber befinden sich innerhalb einer VM, der der Host eine physische GPU zuweist. Fabric Manager wird hier nicht benötigt, da Initialisierung und GPU-Kommunikation im Gasttreiber stattfinden; NVSwitch wird hingegen vom Host gesteuert.
Wenn du dein System aus einem Basis-OS aufsetzt, folge NVIDIA’s offiziellen Installationsanleitungen. Diese Anleitung gilt nicht für vGPU-Umgebungen, bei denen der Hypervisor die Treiberversionen verwaltet. Weitere Informationen zu vGPU findest du in How to Manage vGPU on Cloud GPU Instances.
Nutze diese Anleitung, um NVIDIA-Treiber vollständig zu entfernen, neu zu installieren oder auf eine ältere Version zurückzustufen – sowohl auf Bare-Metal- als auch auf Passthrough-GPU-Systemen –, damit deine GPU-Workloads zuverlässig arbeiten.
Voraussetzungen
Bevor du beginnst, überprüfe Folgendes:
- Du verwendest eine Bare-Metal- oder Passthrough-Instanz mit GPU und bist mit einem Nicht-Root-Benutzer mit sudo-Rechten angemeldet.
- Es dürfen keine aktiven GPU-Workloads laufen, während du Treiber installierst oder entfernst.
DKMS-Paket installieren
Der NVIDIA-Treiber nutzt das DKMS-Framework (Dynamic Kernel Module Support), damit Kernelmodule nach System- oder Kernelupdates automatisch neu kompiliert werden. Dadurch funktionieren die NVIDIA-Module auch nach Kernel-Patches ohne manuelle Eingriffe weiter.
Aktualisiere den Paketindex.
$ sudo apt update
Installiere das DKMS-Paket.
$ sudo apt install -y dkms
Prüfe die installierte DKMS-Version.
$ dkms --version
Wenn eine Versionsnummer angezeigt wird, ist DKMS korrekt eingerichtet.
Bestehende NVIDIA-Treiber entfernen
Bevor du Treiber neu installierst oder eine ältere Version einspielst, müssen alle vorhandenen NVIDIA-Pakete – inklusive CUDA – entfernt werden. So vermeidest du Paketkonflikte.
Entferne CUDA-, cuBLAS- und Nsight-Pakete.
$ sudo apt-get --assume-yes --purge remove "*cublas*" "cuda*" "nsight*"
Entferne alle NVIDIA-Treiber und zugehörige Bibliotheken.
$ sudo apt-get --assume-yes --purge remove "*nvidia*"
Starte das System neu, um verbliebene Treiberreste zu entfernen.
$ sudo reboot
Offizielles NVIDIA-Repository konfigurieren
Um korrekte NVIDIA-Treiber zu installieren, muss das offizielle NVIDIA-Repository aktiviert werden. Dieses stellt spezifische Treiberversionen bereit und sorgt für konsistente Updates.
Setze die Ubuntu-Version als Variable.
$ UBUNTU_VERSION=$(lsb_release -rs | sed -e 's/\.//')
Lade das NVIDIA-Keyring-Paket herunter.
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/x86_64/cuda-keyring_1.1-1_all.deb
Installiere das Keyring-Paket.
$ sudo dpkg -i cuda-keyring_1.1-1_all.deb
Lade den Repository-Signaturschlüssel herunter.
$ wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/x86_64/cuda-archive-keyring.gpg
Verschiebe den Key in das Keyring-Verzeichnis.
$ sudo mv cuda-archive-keyring.gpg /usr/share/keyrings/cuda-archive-keyring.gpg
Füge das CUDA-Repository hinzu.
$ echo "deb [signed-by=/usr/share/keyrings/cuda-archive-keyring.gpg] https://developer.download.nvidia.com/compute/cuda/repos/ubuntu${UBUNTU_VERSION}/x86_64/ /" | sudo tee /etc/apt/sources.list.d/cuda-ubuntu${UBUNTU_VERSION}-x86_64.list
Aktualisiere erneut den Paketindex.
$ sudo apt update
Neueste NVIDIA-Treiber installieren
Die benötigten Treiberpakete hängen von der jeweiligen GPU-Generation ab. Die folgenden Anweisungen funktionieren sowohl für Bare-Metal- als auch Passthrough-Systeme, da beide direkten GPU-Zugriff bieten.
B200-Serie und neuer (Fabric Manager nicht erforderlich)
Installiere die offenen NVIDIA-Treiber, das CUDA-Toolkit und die NVLink-Bibliotheken.
$ sudo apt install --assume-yes nvidia-open cuda-toolkit nvlink5
Installiere die NVIDIA-Container-Runtime und die dazugehörigen Komponenten.
$ sudo apt install --assume-yes nvidia-container-toolkit nvidia-container-toolkit-base libnvidia-container-tools libnvidia-container1
Starte das System neu, um die neuen Treiber zu laden.
$ sudo reboot
Überprüfe die Installation mit nvidia-smi.
$ nvidia-smi
H100 und ältere GPU-Generationen (Fabric Manager erforderlich)
Diese GPUs nutzen NVLink- und NVSwitch-Technologien, weshalb der Fabric Manager notwendig ist, um die volle Konnektivität zwischen den Karten zu aktivieren.
Installiere CUDA-Treiber, Fabric Manager und das CUDA-Toolkit.
$ sudo apt install --assume-yes cuda-drivers-fabricmanager cuda-toolkit
Installiere die NVIDIA-Container-Runtime und die benötigten Bibliotheken.
$ sudo apt install --assume-yes nvidia-container-toolkit nvidia-container-toolkit-base libnvidia-container-tools libnvidia-container1
Starte das System neu.
$ sudo reboot
Überprüfe den Status des Treibers.
$ nvidia-smi
Aktiviere den Fabric Manager und starte ihn sofort.
$ sudo systemctl enable --now nvidia-fabricmanager
Prüfe den Dienststatus.
$ sudo systemctl status nvidia-fabricmanager
Ausgabe:
● nvidia-fabricmanager.service – NVIDIA fabric manager service
Loaded: loaded (/lib/systemd/system/nvidia-fabricmanager.service; enabled; vendor preset: enabled)
Active: active (running)
Main PID: 4811 (nv-fabricmanage)
Spezifische NVIDIA-Treiberversionen installieren
NVIDIA bietet verschiedene Treiberzweige an. Jede GPU-Generation benötigt eine bestimmte Mindestversion:
- HGX-2 / HGX A100 → mindestens 450.xx
- HGX H100 → mindestens 525.xx
- HGX B200 / B100 → mindestens 570.xx
Hänge einfach die gewünschte Versionsnummer an den Paketnamen, um einen bestimmten Zweig zu installieren:
- nvidia-open-570 – installiert den offenen Treiberzweig 570
- cuda-drivers-550 – proprietärer Zweig 550 für H100-GPUs
- cuda-toolkit-12-8 – installiert CUDA Toolkit 12.8
Hinweis: Für die Container-Toolkits bietet NVIDIA keine versionierten Branches an. Um eine bestimmte Version zu installieren:
$ sudo apt install nvidia-container-toolkit=VERSION
Beispiel: Installation der 570-Treiber mit CUDA 12.8
B200 und neuere GPUs
Installiere den offenen 570-Treiberzweig, das CUDA-Toolkit 12.8 und die passenden NVLink-Bibliotheken.
Treiber, Toolkit und NVLink-Bibliotheken installieren:
$ sudo apt install --assume-yes nvidia-open-570 cuda-toolkit-12-8 nvlink5-570
Installiere die Container-Runtime.
$ sudo apt install --assume-yes nvidia-container-toolkit nvidia-container-toolkit-base libnvidia-container-tools libnvidia-container1
Starte neu, damit die neuen Treiber aktiviert werden.
$ sudo reboot
Überprüfe den GPU-Status.
$ nvidia-smi
H100 und ältere GPUs
Installiere die 570-Treiber, den Fabric Manager und das CUDA-Toolkit 12.8.
Treiber, Fabric Manager und Toolkit installieren:
$ sudo apt install --assume-yes cuda-drivers-fabricmanager-570 cuda-toolkit-12-8
Installiere die Container-Runtime.
$ sudo apt install --assume-yes nvidia-container-toolkit nvidia-container-toolkit-base libnvidia-container-tools libnvidia-container1
Starte das System neu.
$ sudo reboot
Prüfe die aktiven Treiber.
$ nvidia-smi
Aktiviere und starte Fabric Manager.
$ sudo systemctl enable --now nvidia-fabricmanager
Prüfe den Dienststatus.
$ sudo systemctl status nvidia-fabricmanager
Ausgabe:
● nvidia-fabricmanager.service – NVIDIA fabric manager service
Loaded: loaded
Active: active (running)
Main PID: 4811 (nv-fabricmanage)
Fazit
Du hast erfolgreich NVIDIA-Treiber auf Bare-Metal- oder Passthrough-GPU-Systemen neu installiert oder auf eine ältere Version zurückgesetzt und überprüft, dass die korrekte Version aktiv ist. Wenn Fabric Manager erforderlich war, hast du die NVLink- und NVSwitch-Funktionen korrekt eingerichtet. Mit Treibern, CUDA-Toolkit und Container-Runtime ist dein System jetzt bereit für anspruchsvolle GPU-Workloads und containerisierte GPU-Umgebungen.


