How to Install Windows and Linux on a Mac: Materials

This post is Part 1 of a multi-part series:

  1. How to Install Windows and Linux on a Mac: Materials
  2. How to Install Windows and Linux on a Mac: Installing Windows 10 Externally
  3. How to Install Windows and Linux on a Mac: Adding Linux to the Mix

In this tutorial, I’ll walk you through the process of adding Windows and Linux to a recent Macintosh computer. We’ll cover how to get around the limitations of a small internal drive by using an external hard drive for both operating systems. We’ll also cover how to get around the security restrictions imposed by the security chips in Apple’s most recent hardware.

Before we get into all the details, let’s go over what hardware and software I’ll be referring to in the tutorial. (Note: your specific hardware may vary.)

The Hardware

2018 Mac mini: This tutorial will apply to any Mac from the last few years, but I’m going to focus on the 2018 Mac mini for a couple reasons. First, it’s the only recent model that I have access to. Second, it will illustrate some of the unique challenges posed by Apple’s “T2” security chip and a relatively small internal hard drive.

External Drive Enclosure: Because I purchased the base model Mac mini, I’m stuck with a minuscule (by today’s standards) 256 GB internal drive. Even if I wasn’t installing multiple operating systems, that’s not nearly enough space for all my applications, photos, music, movies, programming projects, and other documents. More significantly, the T2 chip built into the 2018 Mac mini and other recent Apple computers encrypts the internal drive in such a way that it cannot be seen by current Linux distributions. (My understanding is that some smart hackers have been working on this, but I think they still have some work to do.) I’m using an OWC Mercury Elite Pro Mini for my enclosure. I like this enclosure because it’s fanless (so it’s quiet), it attaches via USB 3.1 gen 2 (so it’s fairly fast), and it’s bootable.

Solid State Drive: I’m using an old 512 GB Samsung 850 Pro that I pulled from a broken laptop. You can use any model, as long as it’s compatible with your enclosure, but I strongly encourage using an SSD instead of a traditional spinning HDD. Since you’re going to be using this as a boot drive, you want it to be as fas as possible. I should also point out that you don’t need to purchase a separate drive and enclosure. There are plenty of self-contained USB 3.1 SSDs on the market. The SanDisk Extreme is particularly well-priced, but I haven’t actually tried this on it. If you’re going to go for an all-in-one solution, just try to do some research on whether the drive is bootable. (My understanding is that some chipsets and drive controllers are less compatible than others.)

(What about Thunderbolt drives? Aren’t they even faster than USB? Technically, yes. You’re welcome to try one. That said, I have a Thunderbolt 3 HDD, and I’ve found it to be a bit wonky. It doesn’t always show up in Linux, and even Windows has occasionally had trouble seeing it. USB 3 has been far more reliable for me.)

The Software

macOS: I’m going to assume that this is already installed on your computer. I’m using Catalina, the latest operating system, but this tutorial will probably work on the previous few versions as well.

Windows 10: You’re going to want to download the latest version from Microsoft as an ISO. More on this later! Any edition (e.g. Home, Professional, Education) will do. If you’ve never installed Windows on this machine before, you’ll likely need to buy a new copy of the software to obtain a license and/or activation code.

Ubuntu 20.04 (Linux): You can probably use other Linux distributions, but Ubuntu 20.04 is the one that I’ve tested. Whatever distribution you use, I strongly recommend going for the most recent release you can find. The open source community has only recently added basic support for T1- and T2-equipped Macs to the Linux kernel. You may have trouble getting some of your hardware (or even the entire computer) to work on an older distro. (I couldn’t even boot using Ubuntu 19.04, for instance, although the version prior to that did work.)

Boot Camp: If you intend to install Windows on your internal hard drive, you don’t technically need to follow my tutorial. You can just use Apple’s built-in Boot Camp Assistant, which more or less walks you through the process. But even if you will be following my tutorial, which places Windows on your external drive, you’ll still need to use Boot Camp Assistant to download the Windows drivers for your computer.

Virtual Box: This free, open source application allows you to run an operating system in a virtual machine. We’re still going to install Windows natively. The problem is that it isn’t technically possible to install Windows on a Mac’s external drive. (Even installing Windows to an external drive on a PC can get a little complicated.) But by using the emulator, we’re able to play a sort of trick on the computer that actually makes this possible.

rEFInd: This boot manager allows you to choose which operating system you want to run when you start your computer. Technically, macOS has this functionality built in, but in my experience, it sometimes struggles to see Windows on an external drive without help. The rEFInd boot manager provides that help. You’ll also need it to boot into Linux.

The next two parts of this series detail the installation and setup process for Windows and Linux, respectively. Depending on your needs, feel free to follow just one or both sets of instructions.