0

After applying Yosemite to my triple-boot MacBook Pro, it fails to boot either Windows or Ubuntu.

I installed rEFInd, and I can now see all three operating systems in the rEFInd menu, but when I select anything other than MacOS X, the boot fails with "No bootable media".

Any hints?

  • Is it possible that this is because the systems I am trying to boot are 32-bit systems? Do I need to put in an explicit description of these because they are 32-bit while the EFI is 64-bit? – Lars Poulsen Oct 22 '14 at 15:54
1

I fixed this issue by using efibootmgr. I don't have Windows installed, but the process should work similarly for you.

If you can't boot into Ubuntu, use a live version.

First make sure you have efibootmgr installed

$ sudo apt-get install efibootmgr

Then check the partitions from which EFI can boot

$ sudo efibootmgr
BootCurrent: 0000
Timeout: 5 seconds
BootOrder: 0000,0082
Boot0000* ubuntu
Boot0080* Mac OS X
Boot0081* Mac OS X
Boot0082* 
BootFFFF* 

In my case it lists 4 partitions. Boot0000 is the Ubuntu partition where Grub is installed, by default I want to boot this partition.

I found out that Boot0080 is the recovery partition of the old Mavericks installation, while Boot0081 is the Yosemite recovery partition. The partition where Yosemite is actually installed, in my case, is Boot0082

Grub is not able to load Mac OS X directly, but I can configure EFI to load the Mac OS X partition when Grub exits.

So I've run

$ sudo efibootmgr -o 0000,0082

Which, to recap, means Boot0000, where Grub is installed, will be run first, then if you exit grub (by pressing c end then typing the command exit) you can boot into Mac OS X

To make the process of booting Mac OS X more comfortable you can add an entry to the Grub boot menu which exits and thus starts Mac OS X. Just edit /etc/grub.d/40_custom and append the following

menuentry "Exit to Max OS X" {
  exit
}

And reload the Grub configuration with

sudo update-grub

All should work

0

The problem turned out to be simple: The Yosemite upgrade had overwritten the "fake" MBR partition table with a new one which did not contain the existing windows and Ubuntu partitions.

The solution: 1) Boot into the rEFInd command shell 2) Execute the command gptsync_x64.efi 3) Answer the questions with a Y: (paraphrased) the partition tables do not match, would you like to see what it would like like if I fixed it? and would you like me to fix it?

I then rebooted and everything is good.

Going forward, OSX is 64-bit only, and the early Intel-Macs cannot run systems later than Lion. But the 64-bit EFI boots 32-bit OS-es jsut fine.

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.