Ich aktualisiere von Ubuntu 15.10 auf 16.04 und seitdem startet VirtualBox 5.0.18 meine VMs nicht mehr. Es beschwert sich, dass 'vboxdrv' nicht geladen ist. Also versuche ich es zu laden und erhalte folgende Fehlermeldung:
$ sudo modprobe vboxdrv
modprobe: ERROR: could not insert 'vboxdrv': Required key not available
Ich glaube, dass es sich um einen sicheren Start handelt, den ich verwende und den ich weiterhin verwenden möchte. Eigentlich funktionierten mit Ubuntu 15.10 Secure Boot und VirtualBox einwandfrei.
Ich habe auch versucht $ sudo apt-get --reinstall install virtualbox-dkms
, das Kernel-Modul erfolgreich zu bauen, aber dieses Problem nicht gelöst.
Haben Sie eine Idee, wie Sie vboxdrv laden können, während der sichere Start aktiviert bleibt?
Update 2 : Auch ich habe versucht auszuführen sudo mokutil --disable-validation
. Wenn ich diesen Befehl ausführe, werde ich beim nächsten Start aufgefordert, den sicheren Start zu deaktivieren, einen Schlüssel oder einen Hash von der Festplatte hinzuzufügen. Da ich den sicheren Start nicht deaktivieren möchte, scheint dies auch mein Problem nicht zu lösen. Außerdem möchte ich UEFI für eine parallele Windows-Installation aktiviert lassen.
Hinweis : Wenn Sie sich nicht kümmern sicheres Boot zu deaktivieren, siehe Warum ich „Required Schlüssel nicht verfügbar“ beim 3rd - Party - Kernel - Module installieren oder nach einem Kernel - Upgrade? stattdessen.
aptitude install virtualbox virtualbox-dkms
wird das Modul bei der Installation signiert und Sie nach einem Einmalpasswort (?) Gefragt. Starten Sie neu, geben Sie MOK config ein und registrieren Sie den Schlüssel mit diesem Kennwort.Antworten:
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. Da Sie Secure Boot beibehalten möchten, besteht der nächste logische Schritt darin, diese Module zu signieren .
Also lass es uns versuchen.
Erstellen Sie Signaturschlüssel
Option : Um zusätzliche Sicherheit zu gewährleisten, überspringen Sie den Schalter -nodes, der Sie nach einem Kennwort fragt. Bevor Sie mit dem nächsten Schritt fortfahren, vergewissern Sie sich, dass
export KBUILD_SIGN_PIN='yourpassword'
Signieren Sie das Modul (vboxdrv für dieses Beispiel, wiederholen Sie dies jedoch für andere Module,
ls $(dirname $(modinfo -n vboxdrv))/vbox*.ko)
um den vollen Funktionsumfang zu erhalten.)Bestätigen Sie, dass das Modul signiert ist
Registrieren Sie die Schlüssel für Secure Boot
Sie werden aufgefordert, ein Kennwort einzugeben, um den Import im nächsten Schritt zu bestätigen.
Starten Sie den Computer neu und befolgen Sie die Anweisungen zum Registrieren von MOK (Machine Owner Key). Hier ist ein Beispiel mit Bildern. Das System wird noch einmal neu gestartet.
Bestätigen Sie, dass der Schlüssel registriert ist
Wenn VirtualBox immer noch nicht geladen wird, liegt dies möglicherweise daran, dass das Modul nicht geladen wurde (dies
sudo modprobe vboxdrv
wird behoben) oder dass der Schlüssel nicht signiert ist. Wiederholen Sie einfach diesen Schritt und alles sollte gut funktionieren.Ressourcen: Ausführlicher Website- Artikel zur Implementierung der Modulsignatur in Fedora und Ubuntu . @zwets für zusätzliche Sicherheit . @shasha_trn für die Erwähnung aller Module .
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. Checke mein vboxsign ursprünglich auf GitHub aus .quelle
sudo apt install --reinstall virtualbox-dkms
die Anweisungen ausführen, bevor ich sie befolgte .KBUILD_SIGN_PIN
Umgebungsvariable richtig einstellt ?export KBUILD_SIGN_PIN=password
undexport KBUILD_SIGN_PIN="password"
vor Schritt 2 führten beide zuSSL error:0907B068:PEM routines:PEM_READ_BIO_PRIVATEKEY:bad password read: pem_pkey.c:117
Auf meinem System habe ich Folgendes getan, damit es funktioniert:
Führen Sie mokutil aus:
Dann bat mich mokutil, ein Passwort für den MOK Manager festzulegen. Nach dem Neustart des PCs zeigte das BIOS einen Dialog zur Konfiguration des MOK-Managers. Ich habe SecureBoot in diesem Dialogfeld deaktiviert. Es wurden mehrere Zeichen aus dem Kennwort abgefragt (z. B. Zeichen (5) eingeben usw.).
Nach dem Booten sind die vboxdrv Module korrekt geladen.
Interessanterweise zeigt mokutil immer noch, dass SecureBoot aktiviert ist:
quelle
Sie können die Validierungsprüfung deaktivieren, indem Sie
Danach sollten DKMS-Pakete installiert werden.
quelle
Ich habe auch nach dem Upgrade eine Fehlermeldung über vboxdrv erhalten. Es gab jedoch ein Problem mit der alten Version (5.0.14) von Oracle VM VirtualBox Extension Pack. Ich habe eine neuere Version (5.0.18) dieses Pakets heruntergeladen und installiert und das Problem ist verschwunden.
quelle
Okay, nach ein paar Tests bin ich mir ziemlich sicher, dass dies ein sicheres Boot-Problem ist.
Als ob es aktiviert ist, wird dies geworfen:
Wenn jedoch der sichere Start deaktiviert ist, wird die VirtualBox ohne Fehler geladen.
Ich habe immer noch mein BIOS als UEFI eingestellt.
quelle
Ich hatte heute das gleiche Problem, ich hatte Windows 10 und Ubuntu 15.10 in einem Dual-Boot mit uefi auf Bios aktiviert (ich habe es nicht deaktiviert, damit ich das vorinstallierte Windows ausführen kann).
Nach dem Upgrade auf Ubuntu 16.04 hat VirtualBox das Laden meiner VMs mit der gleichen Fehlermeldung abgebrochen:
Ich habe ein UEFI-Problem vermutet, weil ich beim Aktualisieren des Installationsprogramms gefragt wurde, ob ich es deaktivieren möchte, worauf ich mit Nein geantwortet habe (weil Ja mein Windows möglicherweise unbrauchbar macht).
Ich ging zu Bios und aktivierte die Unterstützung für den Legacy-BIOS-Start, OHNE den sicheren Start zu deaktivieren.
Virtualbox funktioniert jetzt einwandfrei.
Update : Wie @zwets im Kommentar richtig angegeben hat, wird durch das Aktivieren älterer Module der sichere Start deaktiviert.
quelle