it-swarm.com.de

So verlassen Sie EFI Shell in einer virtuellen Box

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.

11
Dan

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:

  • Sie können den Bootloader manuell über die EFI-Shell starten:
    1. Geben Sie fs0: ein, um auf das erste Dateisystem zuzugreifen, bei dem es sich normalerweise um das ESP handelt.
    2. Geben Sie 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.)
    3. Starten Sie den Bootloader, indem Sie seinen Namen eingeben. Auch hier kann ich nicht wissen, was das ist. Für Linux ist es normalerweise grubx64.efi. Für Windows ist es bootmgfw.efi.
  • Automatisieren Sie den obigen Vorgang mit einem EFI Shell-Startskript (startup.nsh im Stammverzeichnis des ESP).
  • Benennen Sie den Bootloader in EFI\BOOT\bootx64.efi um. Hierbei handelt es sich um den Fallback-Dateinamen:
    1. Geben Sie fs0: ein, um auf das erste Dateisystem zuzugreifen, bei dem es sich normalerweise um das ESP handelt.
    2. Geben Sie 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.
    3. Geben Sie 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.
  • Registrieren Sie den Bootloader mithilfe der Shell-Tools bei der VirtualBox-Firmware. Ich kenne keine prägnante Beschreibung, wie das im Web getan werden kann, und ich habe keine Zeit, es hier aufzuschreiben. Ohne genaue Anweisungen ist es wahrscheinlich frustrierend, da es viele nicht offensichtliche Fallstricke gibt, die Sie vermeiden müssen.

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.

14
Rod Smith