I’m trying to create a multiple boot situation using grub2. Please forgive me as I am fairly new at this. However, I feel like I am fairly close I am just missing the ability to boot from an EFI partition. Here are the particulars on my situation:
- Ubuntu version 15.10 64 bit on /dev/sba – hd1
- Windows 10 64 bit on /dev/sdc – hd0
- OS X 64 bit booting from an EFI partition. On /dev/sdb – hd2
Each OS is on a separate hard drive.
All boot perfectly fine standalone. i.e. (w/o) grub.
I am able to successfully boot to both Ubuntu and Windows 10. The issue that I am having is booting to the EFI partition on my OS X drive.
After extensive research on the Internet I have come up with the following grub2 menu for the EFI partition.
menuentry "OSX" {
insmod chain
insmod part_gpt
insmod search_fs_uuid
search --fs-uuid --no-floppy --set=root 8366-0C13
chainloader /EFI/CLOVER/CLOVERX64.efi
}
This is loaded into the 40_custom
file. After loading this I then run sudo grub-mkconfig -o /boot/grub/grub.cfg
and then sudo update-grub
the menu comes up fine but when I select the Yosemite item I get errors.
- The Windows 10 and Ubuntu items boot fine.
- The hd2 part 1 has a UUID of 8366-0C13
- The
CLOVERX64.efi
file does exist in that location.
If I run an ls command the partition and all the files come up fine.
The error I received when running the OSX menu item is invalid signature
. I tried changing the last line to boot
instead of chainloader
and then I get an error you need to load the kernel first
. I have researched the kernel and at this point I am not finding any answers. This is strictly a test system so I’m not too concerned about crashing the system.
If anyone has any ideas please let me know.
Best Answer
Edit: Just remembered that Clover is a Hackintosh bootloader not an official Apple bootloader and a Mac, what I expected when I wrote this answer.
invalid signature
sounds like your OSX install expects a secure boot chain like Secure Boot on Windows platforms. I'm not sure if this applies here but usuallyhfs-bless
or Macsbless
command were used to allow EFI booting of non-OSX installations on Macs. Similar to how Linux Foundations preloader bridges the gap of an unsigned EFI loader,bless
theoretically should enable the foreign loader (GRUB) to start OSX.hfs-bless
is available in the Mactel PPA.Btw.
chainloader
should be correct andsudo grub-mkconfig -o /boot/grub/grub.cfg
andsudo update-grub
are the same, just do awhereis
to find the path and look atupdate-grub
in an editor. ?