Return to site

Install Refind Mac

broken image


You installed Windows on an Intel Mac via Boot Camp, and want to usevirtualization in it. But there’s an issue — hardware virtualization extensionsare not available. Luckily, this can be worked around easily with the help ofrEFInd, an alternate boot manager.

Many software development workflows involve virtualization. WSL, Docker forWindows, and the Android Emulator are some examples of commonvirtualization-based tools. Then there are general virtualizationtools/hypervisors, such as VMware Workstation, Hyper-V or VirtualBox. All thesetools require hardware virtualization extensions (Intel VT-x, AMD-V) or atleast are very slow without them. Virtualization extensions are not enabled bydefault in the CPU, they must be enabled by something. On typical PCs, this isoften a firmware-level setting (that might be disabled by default), or it mightbe unconditionally enabled by the firmware. On a Mac, however, enabling VT-x isdone by macOS, as part of the boot process. This means that Windows running inBoot Camp will start without virtualization, unless you want to boot into macOSfirst and then reboot into Windows. That setup isn’t quite ergonomic (and whatif macOS refuses to shut down, as it often does for me?).

Restart your computer and rEFInd will appear. Select the USB or disc drive containing the Linux system and boot it on your Mac. Launch your Linux distribution’s installer and go through the installation process. On Ubuntu, launch the Install Ubuntu application from the desktop and install Ubuntu as you normally would. Configure and install rEFInd¶ To set ue rEFInd, you’ll need to boot into macOS. Download rEFInd from the author’s website — you want the file named A binary zip file. Extract this archive anywhere on your system (/Downloads is fine). First, you’ll need to change the configuration file refind/refind.conf-sample. REFInd is a fork of the rEFIt boot manager. Like rEFIt, rEFInd can auto-detect your installed EFI boot loaders, and it presents a pretty GUI menu of boot options. REFInd goes beyond rEFIt in that rEFInd better handles systems with many boot loaders, gives better control over the boot loader search process, and allows users to define their own boot loader entries. After correctly installing and configuring rEFInd, we need to make it boot by default on every startup. In order to do so, restart your Mac and press and hold down the Option key. When the startup manager gets displayed, release the Option key. Now press and hold the Control key and without releasing the Control key, boot into the rEFInd.

Instead, we’re going to userEFInd, a boot manager forEFI-based systems that can boot into various OSes and also handle otherparts of the boot process. But first, let’s prepare our system for this.

DISCLAIMER: Those steps may make your Mac fail to boot. I don’t take anyresponsibility whatsoever if that happens. Prepare for the worst — makebackups, perhaps have install media ready, plan some downtime.

Step 1. Install Windows in Boot Camp the usual way¶

Refind

The first thing you should do is install Windows 10 in Boot Camp, withthe help of the Boot Camp Assistant. The Assistant will take some timeto partition your drive and do other preparations (and show barelyinformative progress bars, but I ranted about that Apple design “feature”already).There are no special preparations for this, the standard process willwork. If you already have Windows installed, you can go to the nextstep.

Step 2. Ensure the setup is stable¶

We’ll be making changes to how the machine boots, and as such, it’sgood to have other things working correctly and in line with yourexpected configuration. Make sure that:

  • Both macOS and Windows boot correctly

  • You can change the OS you boot into by holding the Option key afterpressing Power (requires disabling the firmware password 1)

  • Disk encryption (FileVault, BitLocker) is enabled (if you want that, ofcourse) and fully configured (initial encryption is complete)

  • Windows setup (including Boot Camp drivers) is complete

  • The OSXRESERVED partition that the Boot Camp Assistant createdhas been deleted (that should have happened when booting into macOS for thefirst time after installing Windows — complete with a slowly movingprogress bar and no other information, as is usual for this OS — butif that didn’t happen, use Disk Utility in macOS or Recovery OS to dothat — pick your drive, click Partition and delete the partition,this will grow the macOS partition)

  • System Integrity Protection is enabled (the procedure is a bit saferthat way)

Step 3. Create a partition for rEFInd¶

First, back up your data before making changes to your hard drivelayout. We’ll need to create a new partition for rEFInd to live on. Thisis the safest option — you could install it to the EFI System Partition (ESP),but macOS might want to put its own stuff there, and it’s safer not touse it.

The rEFInd partition doesn’t need to be large (50 MB will be enough); it must use the HFS+ (Mac OSExtended) file system. To create it, you have three options:

  • From macOS, by shrinking the macOS partition: open Disk Utility,choose your drive, select Partition, add a new partition, set itssize and file system (in that order!). This will take a few minutes(10-15, or possibly more), and you won’t be able to use your Macduring the resize.

  • From Recovery OS, by shrinking the macOS partition: same steps apply,but it might be a bit safer than doing it from within macOS.

  • From Windows, by shrinking the Windows partition: open DiskManagement (press the Windows key and type partition, or openComputer Management from Administrative Tools), right click yourWindows partition, select Shrink Volume. Enter the desired size andclick Shrink. Then, right click the unallocated space and create aNew Simple Volume. For now, choose FAT32 or exFAT; you’ll need toreformat it as HFS+ from within macOS later (Erase in Disk Utility). Thiswill take a few seconds — and even if you include the time to reboot, it’sfaster.

After you create the new partition and make sure it’s HFS+ (Mac OSExtended), you can proceed with the setup. Also, if you don’t want thepartition to be visible in the Finder, run the following command (insertthe correct volume path for your system):

Step 4. Configure and install rEFInd¶

To set ue rEFInd, you’ll need to boot into macOS. DownloadrEFInd from theauthor’s website — you want the file named A binary zip file. Extractthis archive anywhere on your system (~/Downloads is fine).

First, you’ll need to change the configuration filerefind/refind.conf-sample. Locate the setting namedenable_and_lock_vmx, uncomment it (remove the # at the startof the line), and set its value to true. You can also make otherconfiguration changes — the default timeout of 20 seconds islikely to be too much for your needs.

When your configuration file is ready, you can install rEFInd. You canuse the refind-install tool, or perform a manual install (checkout the installationdocs for moredetails).

Before installing, you’ll need to get the device name of your rEFIndpartition. Open Disk Utility, select the partition from the left pane,and check the Device field (for example, disk9s9 — it will bedifferent on your system, depending on your partition layout).

Install Refind Mac El Capitan

Open a Terminal, cd into the directory where rEFInd was extracted,and run the following command (replace disk9s9 with the devicename on your system):

Install refind mac software

The first thing you should do is install Windows 10 in Boot Camp, withthe help of the Boot Camp Assistant. The Assistant will take some timeto partition your drive and do other preparations (and show barelyinformative progress bars, but I ranted about that Apple design “feature”already).There are no special preparations for this, the standard process willwork. If you already have Windows installed, you can go to the nextstep.

Step 2. Ensure the setup is stable¶

We’ll be making changes to how the machine boots, and as such, it’sgood to have other things working correctly and in line with yourexpected configuration. Make sure that:

  • Both macOS and Windows boot correctly

  • You can change the OS you boot into by holding the Option key afterpressing Power (requires disabling the firmware password 1)

  • Disk encryption (FileVault, BitLocker) is enabled (if you want that, ofcourse) and fully configured (initial encryption is complete)

  • Windows setup (including Boot Camp drivers) is complete

  • The OSXRESERVED partition that the Boot Camp Assistant createdhas been deleted (that should have happened when booting into macOS for thefirst time after installing Windows — complete with a slowly movingprogress bar and no other information, as is usual for this OS — butif that didn’t happen, use Disk Utility in macOS or Recovery OS to dothat — pick your drive, click Partition and delete the partition,this will grow the macOS partition)

  • System Integrity Protection is enabled (the procedure is a bit saferthat way)

Step 3. Create a partition for rEFInd¶

First, back up your data before making changes to your hard drivelayout. We’ll need to create a new partition for rEFInd to live on. Thisis the safest option — you could install it to the EFI System Partition (ESP),but macOS might want to put its own stuff there, and it’s safer not touse it.

The rEFInd partition doesn’t need to be large (50 MB will be enough); it must use the HFS+ (Mac OSExtended) file system. To create it, you have three options:

  • From macOS, by shrinking the macOS partition: open Disk Utility,choose your drive, select Partition, add a new partition, set itssize and file system (in that order!). This will take a few minutes(10-15, or possibly more), and you won’t be able to use your Macduring the resize.

  • From Recovery OS, by shrinking the macOS partition: same steps apply,but it might be a bit safer than doing it from within macOS.

  • From Windows, by shrinking the Windows partition: open DiskManagement (press the Windows key and type partition, or openComputer Management from Administrative Tools), right click yourWindows partition, select Shrink Volume. Enter the desired size andclick Shrink. Then, right click the unallocated space and create aNew Simple Volume. For now, choose FAT32 or exFAT; you’ll need toreformat it as HFS+ from within macOS later (Erase in Disk Utility). Thiswill take a few seconds — and even if you include the time to reboot, it’sfaster.

After you create the new partition and make sure it’s HFS+ (Mac OSExtended), you can proceed with the setup. Also, if you don’t want thepartition to be visible in the Finder, run the following command (insertthe correct volume path for your system):

Step 4. Configure and install rEFInd¶

To set ue rEFInd, you’ll need to boot into macOS. DownloadrEFInd from theauthor’s website — you want the file named A binary zip file. Extractthis archive anywhere on your system (~/Downloads is fine).

First, you’ll need to change the configuration filerefind/refind.conf-sample. Locate the setting namedenable_and_lock_vmx, uncomment it (remove the # at the startof the line), and set its value to true. You can also make otherconfiguration changes — the default timeout of 20 seconds islikely to be too much for your needs.

When your configuration file is ready, you can install rEFInd. You canuse the refind-install tool, or perform a manual install (checkout the installationdocs for moredetails).

Before installing, you’ll need to get the device name of your rEFIndpartition. Open Disk Utility, select the partition from the left pane,and check the Device field (for example, disk9s9 — it will bedifferent on your system, depending on your partition layout).

Install Refind Mac El Capitan

Open a Terminal, cd into the directory where rEFInd was extracted,and run the following command (replace disk9s9 with the devicename on your system):

This command will produce an error if you have SIP enabled — but thiserror is not important for us, the install will work without the changethat SIP prevented. 2

You can now shut down your Mac and use the Option key while starting upto choose the OS. You should see three options: Macintosh HD, EFI Boot,and Boot Camp. The EFI Boot option is rEFInd — pick that, boot intoWindows (Microsoft EFI boot), et voilà — Windows can now run virtualization software.

There are a few more things that you can do now, depending on your OSpreferences.

  • You can make rEFInd the default boot loader. Hold Control on theApple boot device selection screen and click the Power icon under theEFI Boot drive (source for thetip).

  • You can use rEFInd to boot into macOS, although this might not workwith Big Sur according to the author (it seems to work for me, butYMMV). You can use the standard boot method for macOS (by defaultingto Macintosh HD, or by choosing it from the Power+Option picker) andrEFInd exclusively for Windows (and set your timeout to a low value).

  • You can modify rEFInd’s configuration — in this scenario, the configfile is /Volumes/rEFInd/System/Library/CoreServices/refind.conf.You can set a custom background image, for example (rEFInd’ssite can help you figure outwhat options are available and what you can set them to).

Install Refind Macbook Pro

1

If the firmware password is important to you, you can restore it afterthe setup is done — this will mean using rEFInd to boot both Windows andmacOS, although I decided to remove the firmware password and bootinto macOS from the Power+Option boot menu.

2

The failing operation is marking the rEFInd partition bootable in the Macsense, using the bless command. However, the drive is consideredbootable as an EFI-compliant boot volume (it has *.efi files in specificplaces), and this is the boot method we’re using here. SIP aside, thebless utility is a bit buggy, and we can use rEFInd without a blessedpartition just fine.





broken image