Nach einer Aktualisierung des Nvidia-Treibers wird beim Booten für einen kurzen Moment ein grauer Bildschirm angezeigt
Was das Upgrade im Hintergrund bewirkt
- GSP-Firmware & Kernel-Module passen nicht zusammen: Das Paket
firmware-nvidia-gspwurde separat aktualisiert. Wenn das Initramfs beim APT-Upgrade nicht sauber neu gebaut wird, lädt der Kernel beim Booten kurz die alte Firmware aus dem Boot-Image, bevor das System auf die neue Treiberversion auf der Festplatte umschaltet. Dieser Umschaltmoment ist genau der graue Bildschirm. - DKMS-Kompilierung im laufenden Betrieb: Das Open-Kernel-Modul (
nvidia-kernel-open-dkms) wird beim Upgrade für deinen aktuellen Kernel neu kompiliert. Dabei werden alte Modul-Leichen oft erst nach einem vollständigen Bereinigen (purge) sauber entfernt.
So verhinderst du das Problem dauerhaft
Anstatt den Treiber nach jedem Update manuell neu zu installieren, kannst du Debian so konfigurieren, dass es bei jedem Nvidia-Update automatisch alle Aufräumarbeiten durchführt.
1. DKMS & Early KMS erzwingen (Nvidia direkt beim Booten laden)
Damit der Grafiktreiber lädt, bevor der Display-Manager startet (wodurch das graue Flackern entfällt), trage die Nvidia-Module direkt in die Initramfs-Konfiguration ein:
sudo nano /etc/initramfs-tools/modules
Füge am Ende folgende Zeilen hinzu:
nvidia nvidia_modeset nvidia_uvm nvidia_drm
2. APT-Hook anlegen (Automatische Bereinigung nach Updates)
Du kannst Debian anweisen, nach jedem Nvidia-Update automatisch das Boot-Image neu zu generieren.
Erstelle eine neue APT-Konfigurationsdatei:
sudo nano /etc/apt/apt.conf.d/99nvidia-initramfs
Füge folgenden Inhalt ein:
DPkg::Post-Invoke {
"if dpkg -l | grep -q firmware-nvidia-gsp; then update-initramfs -u -k all; fi";
};
3. Einmalig gründlich aufräumen
# 1. DKMS-Module für alle Kernel neu bauen sudo dkms autoinstall # 2. Initramfs für alle installierten Kernel erzwingen sudo update-initramfs -u -k all # 3. GRUB aktualisieren sudo update-grub
Durch die Einträge und das einmalige Aufräumen, war bei mir der graue Bildschirm verschwunden.
Hier ist ein fertiges Shell-Skript, das alle drei Schritte vollautomatisch ausführt. Es richtet das Early KMS, den APT-Hook für zukünftige Updates sowie die einmalige Bereinigung sauber ein.
Skript erstellen
Wir erstellen eine neue Datei, z. B. fix-nvidia-boot.sh:
#!/bin/bash
set -e
if [ "$EUID" -ne 0 ]; then
echo "Fehler: Bitte starte das Skript mit sudo oder als root."
exit 1
fi
echo "=== 1. Nvidia-Module für Early KMS eintragen ==="
MODULES_FILE="/etc/initramfs-tools/modules"
NVIDIA_MODULES=("nvidia" "nvidia_modeset" "nvidia_uvm" "nvidia_drm")
for mod in "${NVIDIA_MODULES[@]}"; do
if ! grep -q "^${mod}\$" "$MODULES_FILE"; then
echo "$mod" >> "$MODULES_FILE"
echo " -> Modul '$mod' hinzugefügt."
else
echo " -> Modul '$mod' bereits vorhanden."
fi
done
echo ""
echo "=== 2. Autostart-APT-Hook anlegen ==="
HOOK_FILE="/etc/apt/apt.conf.d/99nvidia-initramfs"
cat << 'HOOK_EOF' > "$HOOK_FILE"
DPkg::Post-Invoke {
"if dpkg -l | grep -q firmware-nvidia-gsp; then update-initramfs -u -k all; fi";
};
HOOK_EOF
echo " -> APT-Hook erfolgreich unter $HOOK_FILE angelegt."
echo ""
echo "=== 3. DKMS, Initramfs und GRUB aktualisieren ==="
echo " (Kann einen Moment dauern...)"
if command -v dkms &> /dev/null; then
echo " -> Baue DKMS-Module..."
dkms autoinstall
fi
echo " -> Aktualisiere Initramfs für alle Kernel..."
update-initramfs -u -k all
if command -v update-grub &> /dev/null; then
echo " -> Aktualisiere GRUB-Bootloader..."
update-grub
fi
echo ""
echo "=== Fertig! Das System ist jetzt optimal für Nvidia-Upgrades konfiguriert. ==="
Skript ausführen
Machen das Skript ausführbar und starten es mit Root-Rechten:
chmod +x fix-nvidia-boot.sh sudo ./fix-nvidia-boot.sh
Sobald das Skript einmal durchgelaufen ist, greift der APT-Hook bei jedem künftigen Update von firmware-nvidia-gsp oder dem Treiber automatisch im Hintergrund.
