Ich verwende eine virtuelle Maschine für Mac OS X und starte immer EFI Shell. Ich möchte nur eine einfache Erklärung dessen, was dies ist und wie ich es, wenn möglich, beenden kann.
Die EFI-Shell ist ein Befehlszeilentool, dessen Konzept dem Bash in Linux/Unix/OS X oder einem Eingabeaufforderungsfenster in Windows ähnelt. Hier können Sie Dateien anzeigen, löschen, bearbeiten und umbenennen, um EFI-Start-Manager-Einträge usw. zu aktualisieren. Sie können die Shell verlassen, indem Sie exit
eingeben. Im Fall von VirtualBox wird dies Sie wahrscheinlich zu einem EFI-Menü führen, das genauso verwirrend sein kann.
Wenn Sie in Ihrer VirtualBox-Sitzung ein Betriebssystem installiert haben, ist wahrscheinlich ein Bootloader auf der EFI-Systempartition (ESP) installiert. Die meisten Betriebssysteme registrieren diese Bootloader mit der Firmware, die sich diese merkt und automatisch bootet. Eine Besonderheit von VirtualBox ist, dass diese Boot-Manager-Einträge normalerweise vergessen werden. Das Ergebnis ist, dass VM standardmäßig in die EFI-Shell hochfährt. Es gibt verschiedene Möglichkeiten, um mit diesem Problem umzugehen:
fs0:
ein, um auf das erste Dateisystem zuzugreifen, bei dem es sich normalerweise um das ESP handelt.cd EFI\{osname}
ein, wobei {osname}
der Name des Verzeichnisses ist, in dem Ihr Betriebssystem den Bootloader installiert hat. (Sie haben nicht angegeben, welches Betriebssystem Sie installiert haben, daher kann ich nicht sicher sein, was das ist. Wenn Sie ls EFI
eingeben, wird Ihnen angezeigt, was da ist.)grubx64.efi
. Für Windows ist es bootmgfw.efi
.startup.nsh
im Stammverzeichnis des ESP).EFI\BOOT\bootx64.efi
um. Hierbei handelt es sich um den Fallback-Dateinamen: fs0:
ein, um auf das erste Dateisystem zuzugreifen, bei dem es sich normalerweise um das ESP handelt.mv EFI\{osname} EFI\BOOT
ein, um das Verzeichnis umzubenennen, in dem sich der Bootloader befindet. Wie oben musst du selbst bestimmen, was {osname}
ist.mv EFI\BOOT\{loadername.efi} EFI\BOOT\bootx64.efi
ein, wobei {loadername.efi}
der Name des Bootloaders ist, z. B. grubx64.efi
für die meisten Linux-Installationen.Ich persönlich benenne den Bootloader am häufigsten vom Standard des Betriebssystems in EFI\BOOT\bootx64.efi
um. Dies ist am einfachsten zu implementieren und funktioniert gut genug. Ein Nachteil dieses Ansatzes ist, dass, wenn Ihr Betriebssystem den Bootloader aktualisiert, das Update wahrscheinlich an den ursprünglichen Speicherort verschoben wird, sodass Sie den Vorgang wiederholen müssen, wenn Sie den aktualisierten Bootloader verwenden möchten.