Dual Boot Apple

From XPUB & Lens-Based wiki

Purpose

To dual boot on an Apple machine, for instance between OS X and Debian.

Details

The default EFI boot manager on Apple machines is tuned for working best with OS X installations. What a surprise. In order to boot another operating system (OS), it is necessary to modify the partition table of your drive. Once this is done, the installation process of one or several other OS will vary depending the selected OS. Eventually you will be able to choose at boot time which OS you want to load. This tutorial focuses on Debian but should be helpful for other GNU/Linux distros too.

Please note that traditional and popular dual-boot systems for Apple machines tend to involve the installation of a third party EFI boot manager like refit (now refind). This tutorial makes no use of such software, in order to keep things as simple as possible.

Step by Step Recipe

  • We start assuming that your OS X installation is one single partition on an internal or external drive;
  • Start Disk Utility and resize the OS X partition to give enough room for the extra OS (for the record Mavericks and Yosemite needs at least 8GB, so reducing the OS X partition to 20GB should be enough for a basic install and a couple of closed source bloatware, however the Disk Utility may prevent you to limit the space that much, depending on the drive specs and your current configuration);
  • Download an (U)EFI compatible Debian netinst USB or ISO (for instance http://cdimage.debian.org/cdimage/unofficial/non-free/cd-including-firmware/daily-builds );
  • Burn the ISO or make the USB key with the desired installation software;
  • Reboot and access the Apple EFI boot manager by holding the alt button when your machine boots;
  • Select EFI boot for the CD or USB (If there is no mention of EFI for the installer, you probably have a non-EFI installer, get another one);
  • Proceed with the installation;
  • At the partition screen, select guided partitioning, using the largest continuous free space and select a partitioning scheme of your liking (to simply things here I assume "All files in one partition" has been selected)
  • The partition table should look like this:
    FREE SPACE
#1  ESP          EFI System
#2  hfs+         Your OS X install
#3  hfs+         Recovery HD
    FREE SPACE
#4  ext4         Debian
#5  swap
    FREE SPACE

Note: Here I edited #4 to name it Debian.

  • Finish partitioning and write changes to disk
  • Finish installation and reboot
  • At this point of the installation this what you will get:
    • default boot ends up with GRUB pointing to a working Debian entry and two non working Mac OS X entries
    • EFI manager boot (holding alt) ends up with the regular OS X startup

Fine Tuning

If Debian is your default OS, then this should be more than enough, otherwise here is some possible fine tuning

Troubleshooting

If you can't get back into OS X because you blessed the wrong partition or you managed to make a mess of GPT, you can always try the following: boot the machine, after the chime press the alt until you see a list of available OS X partitions that can be booted.