Secure Boot on ubuntu with nvidia – Easy way

Nachdem ChatGPT mal wieder sehr viel Quatsch zu dem Thema ausgespuckt hat, hier der eigentlich recht einfache Weg. Ich gehe davon aus, dass Secure Boot noch deaktiviert ist.

Erstmal erzeugen wir ein passendes Schlüsselpaar

openssl req -new -x509 -newkey rsa:2048 -keyout /etc/secureboot/MOK.key -out /etc/secureboot/MOK.crt -nodes -days 3650 -subj "/CN=My Secure Boot/"

openssl x509 -in /etc/secureboot/MOK.crt -outform DER -out /etc/secureboot/MOK.cer

Dann importieren wir das in die Firmware

mokutil --import /etc/secureboot/MOK.cer

Hier muss ein Passwort gesetzt werden, welches wir uns natürlich merken.

Dann tragen wir den Pfad zu Key und Zertifikat noch bei DKMS ein, sodass neue Module automatisch signiert werden. Dazu in /etc/dkms/framework.conf folgende Optionen setzen:

mok_signing_key=/etc/secureboot/MOK.key
mok_certificate=/etc/secureboot/MOK.cer

Jetzt sollte der nvidia Treiber einmal neu gebaut werden. Ich habe ihn gleich einmal komplett neu installiert per apt. Es würde theoretisch aber auch ausreichen, ihn per DKMS neu zu bauen.

Anschließend den Rechner neu starten und im UEFI-Setup Secure Boot aktivieren und speichern.

Beim Start sollte dann ein blaues Menü aufploppen, bei dem wir den Key, den wir per mokutils eingespielt haben, „enrollen“ können, sodass er zu den gültigen Keys gehört. Dabei wird nochmal das Passwort von oben abgefragt.

Wenn alles gutgegangen ist, sollte das System nun normal starten (heißt mit geladenem Nvidia-Treiber).