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?

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
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
  • 72,312
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
  • 17,371
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!