X.509-Zertifikat zur UEFI-Secure-Boot-Datenbank hinzufügen?

X.509-Zertifikat zur UEFI-Secure-Boot-Datenbank hinzufügen?

Ich habe vor Kurzem Fedora 20 auf einem benutzerdefinierten Desktop-PC mit einem ASUS Z87-K-Motherboard installiert. Aufgrund einiger allgemein bekannter Fehler habe ich den proprietären NVIDIA-Treiber für meine GeForce 630 installiert und den Nouveau-Treiber deaktiviert.

Nach der korrekten Installation des Treibers, bei der das Modul mit einem neu generierten Schlüsselpaar signiert wurde, wurde ein x.509-Zertifikat erstellt und automatisch in

/usr/share/nvidia/certificate.der.

Von diesem Moment an kann der Computer jedoch nicht mehr mit aktivierter UEFI-Secure-Boot-Option booten. Wenn ich in den Textmodus wechsle und ausführe nvidia-modprobe, stelle ich fest, dass das proprietäre NVIDIA-Modul nicht geladen wurde.

Wenn ich Secure Boot im UEFI-Menü deaktiviere, startet der Computer und läuft reibungslos mit dem installierten Treiber.

Um den Nachteil des Bootens im unsicheren Modus zu vermeiden, möchte ich wissen, wo ich das x.509-Zertifikat des NVIDIA-Moduls platzieren muss, damit es vom Kernel erkannt wird und ich Secure Boot nicht deaktivieren muss.

Antwort1

Sie sollten das Zertifikat laden können MokManager.efi, damit es von Shim erkannt und vom Kernel akzeptiert wird. Ich weiß nicht, ob Fedora seinen GRUB so einrichtet, dass Sie MokManager.efiihn selbst starten können. Wenn nicht, versuchen Sie, einen USB-Stick mit einer EFI-Shell zu booten (mit deaktiviertem Secure Boot) oderneu verfeinern.Sie sollten dann in der Lage sein, MokManager.efidie Zertifikatsdatei zu starten und zu laden. (Sie muss auf derselben Festplatte wie das MokManager.efiDienstprogramm gespeichert sein – wahrscheinlich /boot/efiinnerhalb von Fedora.)

Ich bin ziemlich sicher, dass es eine Möglichkeit gibt, das Zertifikat von Linux aus zum NVRAM hinzuzufügen, sodass Shim es bemerkt und beim nächsten Neustart fragt, ob es verwendet werden soll, aber ich weiß nicht genau, was das ist. Vermutlich müsste die Datei irgendwo im /sys/firmware/efiVerzeichnisbaum geschrieben werden.

Allerdings musste ich das noch nie selbst tun, da ich auf keinem meiner Computer proprietäre Grafiktreiber verwende. Es ist denkbar, dass Sie einen zusätzlichen Schritt unternehmen müssen.

Antwort2

Zum Registrieren des Schlüssels sollten Sie Mokutil verwenden.

sudo mokutil --import <der file>

Sie können testen, ob ein Schlüssel registriert ist mit

mokutil --test-key <der file>

verwandte Informationen