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. Prepare a boot medium, insert it in your computer, reboot, and hold down the Option (or Alt) key. The Mac's built-in boot menu should appear, enabling you to boot rEFInd from the removable disk. It should then let you boot your already-installed OS, whereupon you can follow the regular rEFInd installation instructions for that OS. Howto: Install rEFInd on Mac machine or USB Stick/Hard Drive Cool Tips: Free Ruler for Mac OS X to measure screen elements in pixels Howto: Make multiboot installation USB stick – Mountain Lion, Fedora 17, Windows 8, rEFInd.
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.
Install Refind Macbook
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?).
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¶
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.
Install Refind Mac Download
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).
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).
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.
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.
Hardware is mid-2011 Mac Mini. Partitioned Mac, installed Refind, then Leap 15.2 OS. Nothing after restart from Leap install. Used option key cold start to get back into Mac OS. Reinstalled Refind, restarted and was able to choose Leap from Refind menu. After doing usual post-install config stuff in Leap I rebooted and once again got blank screen. Same option key cold start got me back to Mac OS, same reinstall of Refind and restart got me menu again.
While in Leap I visited Sourceforge rEFInd page and downloaded the RPM file, then installed through YaST. This did not change anything. I eventually looked at Leap YaST Boot Loader Settings and unchecked 'Enable Secure Boot Support'. This gave me a better result, although not completely what I expected.
My current status is as follows: If I reboot Leap I do not receive the Refind menu but see the normal Leap 15.2 startup and OS load. The only way I can load Mac High Sierra is by using the option key during cold start or restart and choosing Mac OS. If I reboot from the Mac OS I get the normal Leap 15.2 startup and OS load.
My expectation and goal with this dual-boot system is to see the Refind menu after restarting either of the installed operating systems. Fairly sure I'm missing something here, with the inclination that I need to do something further with the Refind installation on the Leap side. I thought the Boot Loader drop down list in the YaST Boot Loader Settings might have an entry for Refind but it doesn't, and I'm not sure what 'Not Managed' is for. I didn't see any other settings in here that seemed relevant. System is usable at this point so that's good.