9

I installed Ubuntu 16.04 Desktop on my MacBook Pro, and cannot boot OS X now. My disk partition table is:

Device         Start       End   Sectors   Size Type
/dev/sda1         40    409639    409600   200M EFI System
/dev/sda2     409640 392401823 391992184 186.9G Apple HFS/HFS+
/dev/sda3  392402944 490233855  97830912  46.7G Linux filesystem

I added menuentry in /etc/grub.d/40_custom as follows:

menuentry "OS X" {
        insmod hfsplus
        set root=(hd0,gpt2)
        multiboot /boot
}

and run update-grub, then reboot.

Now I can see entry for "OS X", but when I choose it, it says:

error: disk 'hd0,gpt2' not found.
Press any key to continue...

How can I fix it?

  • Did you install in EFI boot mode? http://askubuntu.com/questions/732611/while-installing-ubuntu-on-a-mac-should-i-install-it-under-efi-or-bios – oldfred Apr 30 '16 at 03:53
  • To elaborate: If GRUB is in EFI mode, it should be able to boot to OS X by launching the OS X boot loader, but the GRUB stanza you presented will not do that. Typing sudo update-grub should detect the OS X boot loader and add it automatically, but this seems to fail sometimes. Many Mac users prefer using my rEFInd boot manager to manage the boot process, rather than GRUB. – Rod Smith Apr 30 '16 at 20:52

4 Answers4

12

Adding the following codes to /etc/grub.d/40_custom file worked fine for me:

menuentry "OS X" {
    insmod hfsplus
    search --set=root --file /System/Library/CoreServices/boot.efi
    chainloader /System/Library/CoreServices/boot.efi
}

and then running

sudo grub-mkconfig -o /boot/grub/grub.cfg

Tested on iMac 17,1 (Macbook retina late 2015), Ubuntu 16.04 LTS, Mac OS El Captain

Mos
  • 191
  • Worked like a charm for me, macOS Sierra v10.12.3, MacBook Pro Retina 15" – soywod May 16 '17 at 23:58
  • This stopped working after a High Sierra upgrade. Now I get a prohibitory sign. I also tried a different path/file : /com.apple.boot.S/boot.efi but unfortunately that does not change anything (why this file? Because the timestamp on this boot.efi corresponds to my high sierra upgrade). There is something missing but I dunno what. In the mean time for desperate people, you can still boot MacOS via the Option key. After the Mac Sound, press option key until a menu appears, select "Macintosh HD" and your crappy high sierra will start. Unfortunate that the GRUB option stopped working. – Thomas Feb 24 '18 at 23:10
  • 1
    High Sierra uses APFS on SSDs by default. You might need to find apfs.efi online and add it to /boot/grub/x86_64-efi or wherever your other .mods or .efis are. – PapaSloth Jun 24 '18 at 10:49
3

Make sure, that the following command lists a /boot/efi partition: cat /etc/fstab If /boot/efi is not present, you will not be able to boot into Mac OS X, if it exists you have to add the menu entry in grub like this:

  1. Open the file /etc/grub.d/40_custom with your favorite text editor as root. Example with the terminal: gksudo gedit /etc/grub.d/40_custom or sudo vi /etc/grub.d/40_custom
  2. Then add the following lines at the end of the file:

    menuentry "MacOSX" {
      # Search the root device for Mac OS X's loader.
      search --file --no-floppy --set=root /usr/standalone/i386/boot.efi
      # chainload the loader, pass parameters like -v directly
      chainloader (${root})/usr/standalone/i386/boot.efi #-v
    }
    
  3. Save and quit

  4. Update the grub configuration like this: sudo update-grub

I answered step by step so anyone who finds this answer can easily reproduce the steps. This was tested on Ubuntu 16.04 with Ubuntu installed in EFI-mode. Mac OS X: El Capitan, Mac mini.

Zanna
  • 70,465
0

Just run

os-prober

Form linux and tha rerun

grub-mkconfig -o /boot/grub/grub.cfg

and final reinstall grub with

grub-install /dev/sda
Pablo Bianchi
  • 15,657
0

I have my general solution for the problem. Recently I have installed Ubuntu 16.04LTS Gnome on my iMac with Sierra Mac OS X. The reason was that OS became sluggish and I wanted something faster (and after 17th years with Linux the solution was obvious). I follower a nice tutorial Ubuntu on iMac

Everything went great until rebooting the iMac after Ubuntu installation. The only booting system was Linux, moreover I could not see the GRUB menu... Hopefully it was booting) The Linux works great, just some Wireless and graphic drivers were missing (used Xorg instead), but after plugging it via Ethernet cable to my modem I made all updates and installed the drivers. A link to Wifi drivers installation: Ubuntu mac wifi drivers

Graphic drivers are selectable via Sytem settings GUI

So, coming back to dual booting Linux and Mac OS X. I played around with GRUB, none of the methods worked for me!!! Pressing "Option key" did not work any more (GRUB has overwritten the iMacs MBR).

I almost gave up to make it before weekend, but then I tried rEFInd:

sudo apt-add-repository ppa:rodsmith/refind
sudo apt-get update
sudo apt-get install refind

was everything I needed to get my dual boot working perfect for Linux and Mac OS X. Now I have at the boot rEFInd booting menu and easily select between booting partitions.

The only problem remained is still with GRUB splash menu, I cannot see any options I guess due to some wrong graphic menu. I tried console mode, I does not work, some error message about graphical regime at the boot. I will report here ASAP I solve it!

PS01:

Then i did some tweaks useful for all Ubuntu installations: How to speedup Ubuntu

Especially preload worked for me as a magic: usually sluggish on start Gimp now loads in a half-second!