Es kann sehr ärgerlich sein, beim Starten einer VirtualBox-VM in der UEFI Interactive Shell hängen zu bleiben. Normalerweise liegt das daran, dass die EFI-Firmware keinen passenden Bootloader findet und Sie daher nicht in Ihr Betriebssystem booten, sondern in diese Shell zurückgeworfen werden. Dies passiert häufig, wenn die Betriebssysteminstallation unvollständig war, Sie an den VM-Einstellungen herumgebastelt haben oder manchmal einfach, weil der EFI-Bootloader beschädigt ist oder fehlt. Die gute Nachricht ist, dass es verschiedene Möglichkeiten gibt, dies zu beheben – manche schnell, manche etwas aufwändiger, aber effektiv. Im Grunde geht es darum, der VM mitzuteilen, wo sie den Betriebssystem-Loader findet, oder einfach zu einer Bootmethode zu wechseln, die in der VirtualBox-Umgebung besser funktioniert. Diese Anleitung führt Sie durch mehrere Optionen, um Ihre VM wieder normal booten zu lassen.
So beheben Sie, dass VirtualBox nur in die interaktive UEFI-Shell bootet
Deaktivieren Sie EFI in den VirtualBox-Einstellungen
Diese Option ist relativ unkompliziert und funktioniert gut, wenn Sie EFI einfach ganz aufgeben möchten. Die Idee dahinter ist, zum alten BIOS-Modus zurückzukehren, der in den meisten Fällen fehlerverzeihender und kompatibler ist. Bei aktiviertem EFI sucht die VM nach bestimmten EFI-Bootdateien, die manchmal verloren gehen oder beschädigt werden können, insbesondere nach einer fehlgeschlagenen Betriebssysteminstallation. Wenn Sie EFI deaktivieren, verwendet VirtualBox den Standard-BIOS-Modus, der die Bootanweisungen direkt aus dem MBR der Festplatte liest. Normalerweise behebt dies den Bootvorgang problemlos, insbesondere bei Windows- oder Linux-Installationen, die EFI nicht unbedingt benötigen.
- Stellen Sie sicher, dass Ihre VM vollständig ausgeschaltet ist – nicht angehalten oder im gespeicherten Zustand.
- Öffnen Sie VirtualBox, klicken Sie mit der rechten Maustaste auf Ihre VM und wählen Sie „Einstellungen“.
- Navigieren Sie zu System > Motherboard.
- Deaktivieren Sie das Kontrollkästchen neben EFI aktivieren.
- Klicken Sie auf OK und starten Sie die VM erneut.
Ihr System umgeht die UEFI-Shell und bootet direkt in Ihr Betriebssystem. Bei manchen Setups funktioniert dieser Fix sofort. Bei anderen kann es ein oder zwei Neustarts erfordern, aber es ist normalerweise der schnellste Weg, um wieder in das Betriebssystem zu gelangen, sofern EFI keine zwingende Voraussetzung für Ihr Setup ist.
Manuelles Booten von der EFI-Shell
Wenn Sie den EFI-Bootvorgang lieber reparieren als deaktivieren möchten, können Sie versuchen, das Betriebssystem manuell aus der EFI-Shell auszuwählen. Es ist zwar etwas seltsam, aber sobald Sie sich in der Shell-Eingabeaufforderung befinden (normalerweise Shell>), können Sie nach Ihren Betriebssystemdateien suchen. Diese Vorgehensweise ist praktisch, wenn Ihr Bootloader noch intakt, aber nicht registriert oder automatisch ausgewählt ist.
- Starten Sie die VM und warten Sie auf die Eingabeaufforderung der EFI-Shell.
- Geben Sie „map“ ein und drücken Sie die Eingabetaste. Dadurch werden alle Festplatten und Partitionen angezeigt.
- Suchen Sie nach Laufwerken mit der Bezeichnung FS0:, FS1: usw. Dies sind Ihre EFI-Partitionen und Systemfestplatten.
- Geben Sie den Laufwerksnamen mit einem Doppelpunkt ein (z. B.
FS0:) und drücken Sie die Eingabetaste. - Geben Sie „dir“ ein, um die Dateien aufzulisten. Suchen Sie nach einem EFI- Ordner.
- Wechseln Sie mit in das Verzeichnis EFI
cd EFIund drücken Sie die Eingabetaste. - Navigieren Sie nun zu dem Ordner, der Ihrem Betriebssystem entspricht, z. B.
cd Microsoft\Bootfür Windows odercd ubuntuLinux. - Führen Sie abschließend die Bootloader-Datei aus, unter Windows normalerweise:
bootmgfw.efi.
Geben Sie bei Bedarf den vollständigen Pfad ein, zum Beispiel: \EFI\Microsoft\Boot\bootmgfw.efi. Wenn der Pfad geladen wird, sollte das Betriebssystem normal booten – dies ist jedoch nur eine vorübergehende Lösung. Für eine dauerhaftere Lösung können Sie Befehle zu einem Startskript hinzufügen oder den Bootloader in den Fallback-Pfad kopieren (siehe unten).
Verwenden Sie den integrierten Boot-Manager
Dies ist eine kleine Abkürzung: Anstatt Skripte zu schreiben oder Dateien zu kopieren, können Sie einfach in die UEFI-Boot-Manager-Oberfläche springen und das richtige Boot-Gerät auswählen. Geben Sie in der EFI-Shell-Eingabeaufforderung „ exit“ ein und drücken Sie die Eingabetaste. Normalerweise gelangen Sie dann zu einem Menü, in dem Sie Ihr Boot-Laufwerk oder Betriebssystem auswählen können. Dies ist eine praktische Möglichkeit zur Fehlerbehebung, ohne viel Aufwand betreiben zu müssen.
Kopieren und Umbenennen des Bootloaders in den UEFI-Fallback-Pfad
Ziemlich raffiniert, aber durch das Kopieren Ihres Betriebssystem-Loaders \EFI\Boot\bootx64.efikann die UEFI-Firmware automatisch in Ihr Betriebssystem booten und diesem Fallback-Pfad vertrauen. Denn natürlich muss Windows es Ihnen unnötig erschweren. Dies ist die zuverlässigste Lösung, insbesondere wenn Ihr EFI-Boot-Eintrag beschädigt ist.
- Booten Sie zunächst von der ISO-Datei Ihrer Betriebssysteminstallation. Fügen Sie in VirtualBox die ISO-Datei als optisches Laufwerk im Speicher hinzu und starten Sie die VM.
- Drücken Sie unter Windows nach dem Booten, Shift + F10um die Eingabeaufforderung zu öffnen.
- Verwenden Sie
diskpartzum Suchen der EFI-Partition: list volGeben Sie die kleine FAT32-Partition mit der Bezeichnung „EFI“ oder „System“ ein und suchen Sie sie.- Beenden Sie diskpart mit
exit. - Weisen Sie bei Bedarf einen Laufwerksbuchstaben zu und navigieren Sie dann zum EFI-Ordner:
- Kopieren Sie für Windows den Bootloader wie folgt:
copy S:\EFI\Microsoft\Boot\bootmgfw.efi S:\EFI\Boot\bootx64.efi
Für Linux-Gäste wie Ubuntu:
- Booten Sie von einem Linux Live USB und mounten Sie die EFI-Partition:
sudo fdisk -lum Ihre EFI-Partition zu finden (wahrscheinlich /dev/sda1).- Montieren Sie es mit:
sudo mount /dev/sda1 /mnt. - Kopieren Sie den Bootloader:
sudo cp /mnt/EFI/ubuntu/grubx64.efi /mnt/EFI/Boot/bootx64.efi.
Starten Sie die VM anschließend normal neu. Dank des Fallback-Bootpfads sollte sie nun direkt in Ihr Betriebssystem booten. Beachten Sie außerdem: Die Boot-Sicherung kann den Bootvorgang beeinträchtigen. Wenn Secure Boot aktiviert ist, müssen Sie es möglicherweise deaktivieren oder durch shimx64.efi ersetzen.
Wie mache ich diese Lösung dauerhaft?
Am besten kopieren Sie den EFI-Bootloader Ihres Betriebssystems direkt in den Fallback-Speicherort \EFI\Boot\bootx64.efi. Auf diese Weise wird diese Datei standardmäßig geladen, auch wenn der EFI keinen richtigen Boot-Eintrag hat. Unter Windows kopieren Sie einfach die Datei bootmgfw.efi wie oben gezeigt. Unter Linux gilt dasselbe: Kopieren Sie grubx64.efi (oder shim, wenn Secure Boot aktiviert ist).Dies bleibt in der Regel auch nach Neustarts und sogar VM-Snapshots erhalten. Denken Sie jedoch daran: Wenn der Bootloader aktualisiert wird oder Sie die Festplatte wechseln, müssen Sie dies möglicherweise erneut durchführen.
Sollten weiterhin Probleme auftreten, reicht es manchmal aus, EFI vollständig zu deaktivieren (siehe Methode oben), um die Shell zu verlassen und in eine normale Boot-Schleife zu gelangen. Bedenken Sie jedoch, dass manche Betriebssysteme oder Setups tatsächlich EFI benötigen. In diesem Fall ist die Reparatur des Bootloaders oder des EFI-Eintrags die Lösung.
Das war’s auch schon. Das Beheben von EFI-Problemen in VirtualBox kann eine ziemliche Herausforderung sein, aber meistens geht es darum, den Boot-Pfad wiederherzustellen oder den Boot-Modus zu ändern. Nachdem man eine Weile mit EFI herumgespielt hat, ist es irgendwie seltsam, wie das Umstellen einer Einstellung oder das Kopieren einer Datei einen solchen Unterschied machen kann.