3

This is a Apple machine, not a Hackintosh. Before Apple switched to APFS, you could put this inside a menu entry in GRUB:

set root=(your OS X partition)
chainloader /System/Library/CoreServices/boot.efi

But that doesn't work with APFS, as GRUB can't read it, despite the EFI having drivers for AFPS.

Is there a way to have an option in the GRUB menu to boot MacOS? Some possibilities for how this might work:

  • Somehow get GRUB to utilize the EFI's built-in APFS driver to load the MacOS bootloader
  • Put the MacOS bootloader in a place where GRUB can read it
  • Use GRUB to launch a 3rd-party EFI program that can load MacOS

Sometimes typing exit in the GRUB console will load MacOS, but it's not consistent—it will sometimes power off the machine, load GRUB again, or load another OS that is installed.

1
  • I ended up using a rEFInd installation configured to boot straight into MacOS without a delay. REFInd can be loaded straight from GRUB.
    – whoKnows
    Nov 29, 2020 at 17:00

1 Answer 1

0

I haven't tested these, so I'm not 100% sure they work.

Somehow get GRUB to utilize the EFI's built-in APFS driver to load the MacOS bootloader

You can try copying the apfs driver located at /usr/standalone/i386/apfs.efi and load it to apfs volumes (I have no idea how GRUB will handle that)

Put the MacOS bootloader in a place where GRUB can read it

There's a boot.efi in the EFI partition that you can try chainloading.

Use GRUB to launch a 3rd-party EFI program that can load MacOS

Bootloaders that are used in hackintoshes such as Clover and OpenCore should work. Just disable or remove the kexts, drivers, and ssdt/dsdt patches.

1
  • I couldn't find a way to get GRUB to utilize an EFI filesystem driver. I don't seem to have a macos-related boot.efi file in my ESP. I ended up going with option #3, but it seems like the worst possible solution.
    – whoKnows
    Nov 29, 2020 at 17:03

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .