Startseite
» LINUX
»
Wie man einen VirtualBox-VM-Startfehler unter Linux behebt
Wie man einen VirtualBox-VM-Startfehler unter Linux behebt
Wenn eine VirtualBox-VM unter Linux nicht startet , lesen Sie die genaue Fehlermeldung, bevor Sie etwas neu installieren. Eine häufige Ursache auf dem Host-System ist, dass das benötigte vboxdrvKernelmodul fehlt, für einen anderen Kernel kompiliert wurde oder durch Secure Boot blockiert wird. Andere Meldungen weisen auf eine VM-Einstellung, eine Versionsinkompatibilität oder eine Funktion hin, die das Extension Pack benötigt.
1. Fehler protokollieren und Hostversionen überprüfen
Notieren Sie den vollständigen Dialogtext und den Fehlercode und überprüfen Sie anschließend, welche VirtualBox-Version und welcher Linux-Kernel ausgeführt werden:
VBoxManage --version
uname -r
Nutzen Sie die Fehlermeldung selbst, um die nächste Überprüfung auszuwählen. Wenn VirtualBox zwar startet, aber eine VM fehlschlägt, konzentrieren Sie sich auf das Protokoll und die Einstellungen dieser VM. Wenn alle VMs mit einer Hosttreiber-Meldung fehlschlagen, beginnen Sie mit vboxdrv…
Nur ein Beispiel: Verwenden Sie die auf Ihrem eigenen Linux-Host angezeigten Fehlercode- und Versionswerte.
2. Überprüfen Sie, ob der VirtualBox-Hosttreiber geladen ist.
Linux verwendet das vboxdrvHost-Kernelmodul zum Ausführen virtueller Maschinen. Prüfen Sie, ob VirtualBox-Module vorhanden sind, und versuchen Sie dann, den Haupttreiber zu laden:
lsmod | grep '^vbox'
sudo modprobe vboxdrv
Falls modprobeein Fehler auftritt, notieren Sie sich dessen genauen Wortlaut. Falls der Vorgang erfolgreich ist, versuchen Sie es erneut mit der VM. Die Installationsanleitung von Oracle für Linux-Hosts erklärt, dass VirtualBox Host-Kernelmodule und die entsprechenden Kernel-Header benötigt.
Ein erfolgreicher Aufruf modprobeliefert möglicherweise keinen Text zurück; der wichtige Hinweis ist eine Fehlermeldung.
3. Erstellen Sie das Modul für den Kernel neu, mit dem Sie gebootet haben.
Nach einem Linux-Kernel-Update ist es möglich, dass das VirtualBox-Modul noch nicht mit dem aktuell ausgeführten Kernel kompatibel ist. Stellen Sie sicher, dass die Entwicklungsdateien für genau diesen Kernel verfügbar sind.
uname -r
ls -ld "/lib/modules/$(uname -r)/build"
Falls der buildLink fehlt, installieren Sie die passenden Kernel-Header oder das Entwicklungspaket mithilfe des Paketmanagers Ihrer Distribution. Unter Ubuntu oder Debian, wenn VirtualBox aus dem Distributions-Repository stammt, sieht die typische Vorgehensweise zur Behebung wie folgt aus:
Die Paketnamen unterscheiden sich auf Fedora, Arch Linux, openSUSE und anderen Systemen. Installieren Sie die Header für den laufenden Kernel und das Host-Modul-Paket, das Ihrer VirtualBox-Installation entspricht. Verwenden Sie nicht den Oracle-Installer zusammen mit den VirtualBox-Paketen Ihrer Distribution; nutzen Sie ausschließlich eine Paketquelle und deren Anweisungen zum Neuaufbau. Der Paketindex von Ubuntu zeigt an, welche Versionen aktuell VirtualBox bereitstellen virtualbox-dkms.
Die Kernel-Version und ihr Build-Verzeichnis müssen mit dem gleichen laufenden Kernel übereinstimmen.Dieser Paketbefehl gilt für Ubuntu- oder Debian-Installationen aus deren Repositories; verwenden Sie an anderer Stelle die Paketnamen Ihrer Distribution.
4. Überprüfen Sie Secure Boot, falls Linux das Modul ablehnt.
Secure Boot kann das Laden unsignierter Kernelmodule von Drittanbietern verhindern. Überprüfen Sie dessen Status und suchen Sie nach entsprechenden Kernelmeldungen:
Wenn die Ausgabe besagt, dass der Schlüssel abgelehnt wurde oder das Modul unsigniert ist, befolgen Sie die Anweisungen Ihrer Distribution zur Modulsignierung. Unter Ubuntu können DKMS-Module mit einem Machine Owner Key (MOK) signiert werden. Falls Sie während der Installation zur Registrierung eines Schlüssels aufgefordert werden, schließen Sie die Registrierung beim nächsten Neustart ab. Canonical dokumentiert den Secure-Boot- und MOK-Prozess . Die Deaktivierung von Secure Boot sollte nicht als erste Lösung versucht werden.
Verwenden Sie das Kernel-Log, um ein abgelehntes Modul von einem fehlenden oder fehlgeschlagenen Build zu unterscheiden.
5. Überprüfen Sie das Erweiterungspaket nur, wenn die Fehlermeldung dies erfordert.
Das Erweiterungspaket ist keine allgemeine Voraussetzung für den Start einer normalen VM. Es fügt spezifische Funktionen hinzu, darunter USB 2.0- und 3.0-Unterstützung sowie Fernanzeigefunktionen. Wenn die Fehlermeldung eine Erweiterung oder eine dieser Funktionen nennt, überprüfen Sie das installierte Paket.
VBoxManage list extpacks
Falls installiert, muss die Version mit der VirtualBox-Hostversion übereinstimmen. Aktualisieren oder entfernen Sie ein veraltetes Erweiterungspaket über die VirtualBox-Erweiterungsverwaltung oder laden Sie die passende Version von der offiziellen VirtualBox-Downloadseite herunter . Installieren Sie kein altes Erweiterungspaket, nur weil eine VM nicht startet.
Vergleichen Sie die Version des Erweiterungspakets mit der Host-Version von VBoxManage --version.
6. Verwenden Sie das VM-Protokoll für Fehler, die nur einen Rechner betreffen.
Wenn nur eine VM ausfällt, öffnen Sie deren Protokolldatei VBox.logim VM- LogsOrdner. Der Standardpfad ist ` / ~/VirtualBox VMs/VM-name/Logsvar/www ...
Die Log-Auszüge variieren je nach Fehler; verwenden Sie das tatsächliche Log der VM, die nicht gestartet wurde.
Wenn die Meldung besagt, dass Hardwarevirtualisierung nicht verfügbar ist, aktivieren Sie Intel VT-x oder AMD-V (manchmal auch SVM genannt) in der Host-Firmware. Läuft Linux selbst in einer anderen virtuellen Maschine (VM), muss der übergeordnete Hypervisor die verschachtelte Virtualisierung bereitstellen. Vermeiden Sie Änderungen an nicht relevanten VM-Einstellungen, es sei denn, der Fehler weist darauf hin.
Die Bezeichnungen und das Layout der Manager variieren je nach VirtualBox-Version; die Fehlermeldung sollte Hinweise darauf geben, welche Einstellung zu überprüfen ist.
7. Vermeiden Sie riskante Berechtigungsänderungen.
Führen Sie keine Reparaturversuche an VirtualBox chowndurch /usr. Das Systemverzeichnis gehört normalerweise dem Benutzer root, und eine Änderung der Besitzrechte kann paketverwaltete Dateien beschädigen, ohne das Kernelmodul zu reparieren. Installieren Sie nach dem Kompilieren der korrekten Header oder dem Neukompilieren des Treibers den Computer neu und starten Sie die VM mit dem gewünschten Kernel. Versuchen Sie es anschließend erneut.
Falls es weiterhin fehlschlägt, notieren Sie sich den genauen Dialogtext, die Linux-Distribution und Kernel-Version, die VirtualBox-Version, dkms statusdie Ausgabe und das relevante Ende der Datei VBox.log. Anhand dieser Details lässt sich feststellen, ob der nächste Schritt mit dem Host-Treiber, Secure Boot, einer VM-Konfiguration oder einer Versionsinkompatibilität zusammenhängt.