Die Tage stand ich mal wieder vor der Frage, wie man ggf. auf einem PC mit BIOS UEFI-Funktionen emulieren kann. Wer sich mit dem Thema Hackintosh befasst, weiß, dass es entsprechende Lösungen auf Softwarebasis für Mac OS X gibt. Aber so weit wollte ich nicht gehen, denn eigentlich reichte eine UEFI-Emulation in virtuellen Maschinen.
Anzeige
Eine kurze Recherche ergab, dass man EFI sowohl unter Virtualbox als auch unter VMware Workstation/Player freischalten könne.
UEFI unter Virtualbox
In diesem Dokument findet sich der Hinweis, dass eine EFI-Unterstützung seit Virtuabox 3.1 gegeben ist. Es reicht, für eine virtuelle Maschine auf Ändern zu gehen und dann auf der Registerkarte Hauptplatine der Kategorie System die Option "EFI aktivieren" zu markieren.
Der Pferdefuß bei dem Ansatz ist aber, dass Virtualbox (zumindest bei mir) sofort beim Starten der VM mit folgendem Dialogfeld abstürzt – und teilweise sogar den Host temporär blockiert.
Anzeige
In diesem Virtualbox-Ticket ist das Problem adressiert und es wird angedeutet, dass die Reduzierung des Speichers von 128 MB auf 64 MByte das Problem manchmal löst. Auch hier wird das Thema adressiert. Ich konnte auf diese Weise eine 64-Bit-Windows 8-Installation erfolgreich in EFI booten.
Allerdings war dies nur ein Teilerfolg, denn mein Versuch, in der EFI-Umgebung ein 64-Bit-Windows 8 zu installieren, scheiterte. Der Installer startete zwar, hingt aber beim schwarzen Bildschirm mit dem Windows-Schriftzug fest.
EFI-Unterstützung bei VMware Workstation
In den Einstellungen von VMware Workstation gibt es bis zur Version 8 (bzw. bis zu Player 4) keine Option, um eine EFI-Unterstützung einzuschalten. Mit einem Eingriff in die Konfigurationsdateien lässt sich eine EFI-Emulation aber erzwingen.
Man muss die .vmx-Datei der betreffenden Maschine in einem Editor öffnen und die Zeile:
firmware = "efi"
in die Konfigurationsdatei eintragen (siehe auch). Die Angabe:
firmware = "bios"
erzwingt dagegen wieder den BIOS-Boot. Bei aktiviertem EFI kann man mittels der ESC-Taste den EFI-Manager aufrufen. Dieser meldet sich mit der folgenden Seite.
Über die Menübefehle lassen sich dann Konfigurationsseiten für die Bootoptionen aufrufen. Hier sind z. B. die Boot-Devices aufgelistet und man kann die Reihenfolge des Bootvorgangs konfigurieren.
Ist das Booten in die EFI Internal Shell eingestellt (ist unsupported), erscheint die folgende Ausgabe.
In der EFI-Shell können dann verschiedene Befehle ausgeführt werden. Mit dem Befehl help wird eine Hilfeseite mit den Befehlsnamen eingeblendet. Eine Liste der EFI-Shell-Befehle ist hier dokumentiert. Die Shell lässt sich mit dem exit-Befehl verlassen und man kommt in den obigen EFI-Boot-Screen zurück.
Neben diesen beiden Ansätzen gibt es – meist im Mac-Umfeld noch ein paar EFI-Emulatoren. Der Cameleon-Bootlader des Hackintosh-Projekts ist ein solches Beispiel, welches die Mac OS X-Installation auf einem PC ermöglicht. Andere Produkte sind Empire-EFI, XPC EFI Bootloader, oder Rebel-Efi von Psystar.com (siehe auch).
Für Entwickler, die mit EFI-Implementierungen experimentieren möchten, ist DUET (Developer's UEFI Environment) verfügbar. DUET scheint auch bei Virtualbox und VMware zum Einsatz zu kommen.
Links:
1: UEFI-Wiki
Ähnliche Artikel:
a: UEFI-Emulation auf PCs
b: Windows 7-Installation per USB-Stick auf EFI-Systemen
Anzeige
Interessant, ich hab's mal mit VirtualBox und einer Win 7 64-CD versucht.
Absturz erfolgt keiner, den Speicher hatte ich auf 64 MB gesetzt.
Im BIOS-Modus lässt sich das Setup einwandfrei starten, im EFI-Modus allerdings landet man nach dem "Drücken Sie eine Taste, um von CD zu starten" trotzdem in der EFI-Shell. Wenn ich dort
Shell> Fs0:
fs0:> \EFI\BOOT\BOOTX64.EFI
mache, wird wiederum die CD angesprochen, es erscheint wieder das "Drücken sie eine Taste…" – prima – aber weiter passiert nichts.
Schadé.
Hallo Günter,
Nachtrag: mit VMWare-Player hat's geklappt. Was du für Workstation beschrieben hattest, ging damit ebenfalls. Irgendwie wollte die VM im Efi-Modus zwar auch nicht vom ISO-File booten und landete auch in der EFI-Shell, aber im Gegensatz zu VirtualBox konnte man hier manuell das Setup über Bootx64.efi zum Laufen bringen. Jetzt hab ich tatsächlich ein EFI-Windows auf wirrtueller GPT-Platte.
Danke für die Info. :-)
@HPM: Danke für das Feedback. Werde es bei Gelegenheit auch mal antesten. Kannst Du mir die erforderlichen Befehle zum Aufrufen des Bootx64.efi hier als Kommentar posten? Momentan bin ich in Windows 8 Manuskript versunken und komme kaum zum Testen.
Mittlerweile klappen hier alle Möglichkeiten, die EFI zum Booten der CD anbietet. Also entweder wie oben beschrieben in der EFI-Shell:
Shell> Fs0:
fs0:> \EFI\BOOT\BOOTX64.EFI
oder man beendet die Shell mit "exit" und wählt im EFI-Bootmgr den Start von CD oder man geht zum "Boot Maintenance Manager" und wählt dort "Boot from File". Da öffnet sich der File-Manager, in dem man sich zum obigen Pfad durchhangeln kann…
All das hatte ich in VirtualBox auch schon versucht, nur bootet dort das ISO oder die DVD selbst ums Verrecken nicht.
Wenn man in Windows einen Neustart macht, landet man mit F8 im EFI-Bootmanager.
@HPM: Danke für die Infos – hört sich cool an.