Stuck on UEFI interactive shell with Mac OS X High Sierra VM
UEFI requires intervention because EFI firmware on the Mac's motherboard cant find valid OS-specific EFI boot firmware in the standard location on disk. However, assuming you have a macOS recovery partition on that disk, it should contain a copy of boot.efi
(macOS-specific boot firmware) that you can boot into the OS with.
Your immediate objective is to help EFI locate and execute os-specific boot firmware. Ultimately, the objective is provide a boot partition that contains macOS boot.efi
. By now you may have surmised boot.efi
is an EFI standard filename that lives at an EFI standard path in a disk partition, and it contains os-specific boot firmware (e.g. Windows, Linux, etc... have their own flavors of boot.efi
).
In my case, after installing macOS into a Virtual Machine according to these instructions (running macOS installer from an ISO downloaded from Apple), on first boot, the boot partition was present but unconfigured (probably no boot image installed). After manually directing EFI to boot into macOS for the first time, macOS automatically fixed-up the boot partition, and subsequent boots worked properly.
I was able to fix the UEFI problems as follows (credit to VirtualBox forum):
At UEFI prompt: Type exit
You'll be brought into an EFI text-mode GUI.
Select Boot Maintenance Manager and click.
Select Boot From File and click
You should see two entries in a list (they are cryptic looking PCI bus paths).
The first PCI path in the list is probably the boot partition that doesn't contain bootable firmware. The second PCI path is probably to the recovery partition, the one you need to boot from. If the 2nd partition isn't the recovery partition, look under the paths in the list to see if one of them is it. If the recovery partition isn't present and valid, these instructions won't work.
Click the 2nd entry, you should see (and then click):
macOS Install Data
Then click:
Locked Files
Then (if present), click
Boot Files
And finally click:
boot.efi
Installation will continue, or you will boot into the OS or get the Recovery Utilities menu (where macOS can be reinstalled from or Disk Utilities run). The ambiguity of that last statement is I did that awhile before writing this comment and I don't recall what I booted into first, only that it worked and was not hard to figure out what to do at that point. If you have a recovery partition, to boot directly into the Recovery Mode turn on the Mac and immediately press and hold (⌘)-R
In VM settings General > Basic > Version set "macOS 10.13 High Sierra (64-bit)", because likely now you have setting 32-bit version.