Nach einer Aktualisierung des Nvidia-Treibers wird beim Booten für einen kurzen Moment ein grauer Bildschirm angezeigt

 

Was das Upgrade im Hintergrund bewirkt

  1. GSP-Firmware & Kernel-Module passen nicht zusammen: Das Paket firmware-nvidia-gsp wurde 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.
  2. 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.