Unable to chainload OS X Clover bootloader from GRUB
Solution 1:
You MUST pay attention to your boot mode: BIOS/CSM/legacy or EFI/UEFI.
The last I checked, Chimera was strictly a BIOS-mode boot loader. Because GRUB can't change from EFI-mode to BIOS-mode (or vice-versa), this implies that your GRUB is (or at least was) also installed in BIOS mode. If you've switched GRUB from BIOS-mode to EFI-mode, that's a critical detail.
Clover, OTOH, is more complex. Its core is as an EFI-mode boot manager that launches OS X's EFI-mode boot loader; however, Clover includes a complete EFI implementation that runs like a BIOS-mode boot loader -- essentially, an EFI that runs as software on a BIOS-mode computer, rather than as firmware. Thus, Clover can run on either BIOS-mode computers or on EFI-based computers. If you've made no changes to GRUB, you will be able to launch Clover from GRUB only if you've also installed Clover's BIOS-mode EFI "emulator" software; and then you'll need to launch Clover much as you had been launching Chameleon. Your first couple of Clover examples (the ones that referenced bootx64.efi
) would work on an EFI-based computer running an EFI-mode version of GRUB, but will not work if you're using a BIOS-mode computer. Your final example (with the chainloader +1
line) is for a BIOS-mode boot, and so might work if you've installed Clover's BIOS-mode components.
Stepping back a bit, you may want to examine your other OS components, as well as your computer's capabilities. If your computer was introduced in mid-2011 or later, it's probably EFI-based; but if it's older, it's probably a BIOS-only machine. Ubuntu is easy to switch between boot modes, providing you know how to install suitable boot loaders for each mode. Windows is a little trickier, since it ties its partition table type to its boot mode -- Windows boots in BIOS mode only from MBR disks and in EFI mode only from GPT disks. (I've heard of some exceptions to this rule, but they're pretty exotic.) Thus, switching the Windows boot mode requires changing the partition table and installing a new boot loader.
Between all these issues, there's a lot of complexity in your triple-boot setup, and you've omitted the most important details -- namely, the partition table types and boot modes of most of your OSes (although I've inferred some of that information). This makes it difficult to offer specific advice. One point, though: Clover configuration and setup is well beyond the scope of this site. If you want to use GRUB as your primary boot manager, though, you must pay attention to your boot mode and install follow-on boot loaders in the same mode (BIOS/CSM/legacy vs. EFi/UEFI) that GRUB uses.
EDIT:
Given your new information, there are several possible ways to proceed. One is, as you suggest, to convert both Windows and Ubuntu to boot in EFI mode. Another is a hybrid setup. One way to do this would be as follows:
- Download a USB flash drive or CD-R version of my rEFInd boot manager and create a boot medium from it.
- Boot to rEFInd. It should show an option for Ubuntu, and possibly some others. (If there's an OS X option, ignore it; it won't work. If there's a Clover option, it might work.)
- Boot Ubuntu.
- Install the PPA or Debian package version of rEFInd.
- Edit
/boot/efi/EFI/refind/refind.conf
: Uncomment thescanfor
line and addhdbios
to the list of options. - Remove the rEFInd external boot medium and reboot in EFI mode. rEFInd should come up and enable you to boot Ubuntu, and maybe Clover (and from there, OS X). There should also be one or more gray diamond-shaped icons, one of which should boot Windows.
- If you see just one gray icon-shaped icon and it doesn't boot Windows, you must edit
refind.conf
again, and uncomment theuefi_deep_legacy_scan
option. Note that you may need to mount your ESP manually, or add an option to/etc/fstab
to do so automatically.
You may need some more tweaking at this point, but that's the basic outline of it. In this configuration, rEFInd will enable you to boot Ubuntu (in EFI mode), Clover (in EFI mode), or Windows (in BIOS mode); and Clover should boot OS X (and may show options for Windows and/or Linux, too).
Something similar should be possible with Clover as the primary boot manager; however, with this setup, Clover will show options for OS X (in EFI mode), GRUB (in BIOS mode; or in EFI mode if you install the grub-efi
package), and Windows (in BIOS mode). I don't know the exact steps you'd take to set this up. Whether you prefer Clover or rEFInd as your primary boot menu is a matter of personal preference.
Your plan to convert everything to EFI mode is also workable, but will involve more effort and slightly more risk in the short term. Once set up, you could use GRUB, Clover, or rEFInd as your primary boot manager. If you used GRUB or rEFInd as the primary boot manager, you'd still need Clover to boot OS X; and if you used Clover as the primary boot manager, you'd need to use GRUB or rEFInd to boot Ubuntu.
You could use rEFInd on a USB flash drive or CD-R to play with some of these options to see how they'd work, with negligible risk to your configuration, since you'll make no changes to your hard disk.
In sum, you've got a lot of options for how to proceed, with no clear winner in terms of ease of use or complexity -- they all should work pretty well, but you'll need two boot managers for at least one OS boot path.