How to Install and Dual-Boot Linux on a Mac

John John (304)
15 minutes

Boot Camp is a great feature of mcOS, but it won't help you install Linux. To do that we're going to use a tool called rEFInd. rEFInd is a boot manager that will help you install Linux and switch between the operating systems easily.

Posted in these interests:
h/linux41 guides
h/mac128 guides
h/macos87 guides

Download rEFInd from SourceForge.

To install it, unzip and open the downloaded folder in Finder. Find the install script called refind-install and double click it. This will open up a new Terminal and you'll have to enter your password and confirm your intent a few times. That should complete the installation.

*Note: If your package comes as a .rar file, you may have trouble opening it on a Mac. We have a guide to help you open RAR files on a Mac.

Shut down your Mac

Shut down your Mac completely - a full shutdown, not a restart. Then boot up again. Upon boot, you should see the boot manager screen.

At this point, we'll have to shrink the OS X partition and make room for our Linux installation.

Press Cmd + Space, then type Disk Utility.

Select your Mac's hard drive on the left, and click Partition on the right. You will then be prompted to resize the existing partition. Don't add a partition, simply shrink the existing one. You can decide how much space you want to allocate to each operating system. Since I've got a 256GB SSD, I'm going to give 32GB to Ubuntu and 224GB to OS X. So I'll shrink my Macintosh HD to 224GB.

For this guide, we're going to use a USB stick to install Ubuntu. Follow our guide for how to make a bootable USB drive on Mac.

Reboot your computer, and when it comes back up rEFInd will find the bootable USB and give you the option to open the installer. Click on the installer and follow the installation instructions for your OS.

Make sure you check the option to "Install Ubuntu alongside macOS" (for Ubuntu) to make sure you don't overwrite

John John (304)
5 minutes

The Dirty Cow exploit is a serious exploit in the Linux kernel that allows users to gain root access to the system.