Dieses Problem tritt nur auf UEFI-Systemen mit aktiviertem Secure Boot auf.
Wenn ich versuche, DKMS-Module wie VirtualBox-, Nvidia- oder Broadcom-Treiber zu installieren, werden diese nicht installiert, und ich erhalte sie, Required key not available
wenn ich sie versuche modprobe
.
VirtualBox beschwert sich, dass vboxdrv
nicht geladen ist.
Der Broadcom- wl
Treiber wird lspci -k
als Kernelmodul angezeigt, aber nicht verwendet. sudo modprobe wl
wirft Required key not available
.
Dieses Problem kann auch auftreten, wenn ich einige Kernelmodule aus Git-Quellen installiere.
Dieses Problem kann nach einem Kernel-Update als deaktivierter WLAN-Adapter, schwarzer Bildschirm nach einem Neustart usw. auftreten.
Wie kann ich es reparieren?
kernel
uefi
secure-boot
dkms
Pilot6
quelle
quelle
Antworten:
Seit Ubuntu-Kernel 4.4.0-20 ist die
EFI_SECURE_BOOT_SIG_ENFORCE
Kernel-Konfiguration aktiviert. Dadurch wird verhindert, dass nicht signierte Module von Drittanbietern geladen werden, wenn UEFI Secure Boot aktiviert ist.Die einfachste Möglichkeit, dieses Problem zu beheben, besteht darin , den sicheren Start in den UEFI-Einstellungen (BIOS) zu deaktivieren .
In den meisten Fällen können Sie die UEFI-Einstellungen über das Grub-Menü aufrufen. Drücken Sie ESCTaste zum Booten, erhalten in Grub - Menü und wählen System - Setup. Die Option "Sicherer Start" sollte sich im Abschnitt "Sicherheit" oder "Start" der UEFI befinden.
Sie können direkt in UEFI einsteigen, dies hängt jedoch von Ihrer Hardware ab. Lesen Sie in Ihrem Computerhandbuch nach, wie Sie dorthin gelangen. Es kann sein Del, oder F2beim Booten oder etwas anderes.
Eine alternative Möglichkeit besteht darin, Secure Boot mit zu deaktivieren
mokutil
.Seit Ubuntu-Kernel-Build 4.4.0-21.37 kann dies durch Ausführen behoben werden
Es muss ein Passwort erstellt werden. Das Passwort sollte mindestens 8 Zeichen lang sein. Nach dem Neustart werden Sie von UEFI gefragt, ob Sie die Sicherheitseinstellungen ändern möchten. Wählen Sie "Ja".
Anschließend werden Sie aufgefordert, das zuvor erstellte Passwort einzugeben. Bei einigen UEFI-Firmware-Versionen wird nicht das vollständige Kennwort abgefragt, sondern die Eingabe einiger Zeichen, z. B. 1., 3. usw. Seien Sie vorsichtig. Einige Leute verstehen das nicht. Ich habe es auch nicht vom ersten Versuch bekommen ;-)
Update: Jetzt ist diese Kernelkonfiguration in allen unterstützten Ubuntu-Kerneln aktiviert. Betroffen sind Ubuntu 16.04, 15.10 und 14.04.
quelle
Wie von Benutzer @zwets vorgeschlagen, kopiere ich (mit Änderungen) eine Antwort hier:
Seit der Kernel-Version 4.4.0-20 wurde durchgesetzt, dass nicht signierte Kernel-Module bei aktiviertem Secure Boot nicht ausgeführt werden dürfen. Wenn Sie Secure Boot beibehalten und diese Module auch ausführen möchten, müssen Sie diese Module als nächsten logischen Schritt signieren .
Also lass es uns versuchen.
Erstellen Sie Signaturschlüssel
Unterschreiben Sie das Modul
Hinweis 1 : Es können mehrere Dateien für einen einzelnen Treiber / ein einzelnes Modul signiert werden.
/path/to/module
Möglicherweise müssen diese durch ersetzt werden$(modinfo -n <modulename>)
, z$(modinfo -n vboxdrv)
Anmerkung 2 :
sudo kmodsign sha512 ./MOK.priv ./MOK.der /path/to/module
Ist eine Alternative, wennsign-file
nicht verfügbar.Registrieren Sie die Schlüssel für Secure Boot
Geben Sie ein Kennwort für die spätere Verwendung nach dem Neustart ein
Reboot
und befolgen Sie die Anweisungen zum Registrieren von MOK (Maschinenbesitzerschlüssel). Hier ist ein Beispiel mit Bildern. Das System wird noch einmal neu gestartet.Wenn der Schlüssel ordnungsgemäß registriert wurde, wird er unter angezeigt
sudo mokutil --list-enrolled
.Bitte lassen Sie mich wissen, ob Ihre Module auf Ubuntu 16.04 so laufen würden (auf Kernel 4.4.0-21, glaube ich).
Ressourcen: Ausführlicher Website- Artikel zur Implementierung der Modulsignatur in Fedora und Ubuntu . (Sie haben daran gearbeitet) ;-)
Zusätzliche Ressource: Ich habe bei jedem
virtualbox-dkms
Upgrade ein Bash-Skript für meinen eigenen Gebrauch erstellt und überschreibe damit die signierten Module. Schauen Sie sich meinevboxsign
ursprünglich auf GitHub .Zusätzlicher Hinweis für das (extra-) Sicherheitsbewusste: ;-)
Da der von Ihnen erstellte private Schlüssel (
MOK.priv
in diesem Beispiel) von jedem verwendet werden kann, der Zugriff darauf hat, empfiehlt es sich, ihn sicher aufzubewahren. Sie könnenchmod
es verschlüsseln (gpg
) oder an einem anderen sicheren Ort aufbewahren (r). Oder entfernen Sie , wie in diesem Kommentar erwähnt , die Option-nodes
in Schritt 1. Dadurch wird der Schlüssel mit einer Passphrase verschlüsselt.quelle
Sie können Secure Boot (UEFI) im BIOS mit den folgenden Schritten deaktivieren:
Starten Sie Ihren Computer neu und rufen Sie das BIOS-Menü auf (in meinem Fall drücken Sie F2)
Suchen Sie nach Secure Boot und wechseln Sie zu Legacy
Auf einem ASUS-Motherboard:
quelle
Sie können Secure Boot auch im Shim-signierten Modus deaktivieren
sudo update-secureboot-policy
. Diese Wiki-Seite erklärt diese Methode:quelle