Refind Mac Install

/ Comments off

I recently decided to run Kali Linux on my MacBook. I originally thought I'd just build it into a Virtual Machine (using Parallels), but was concerned that I might not have the control over the hardware that I'd need in order to make Kali effective as a learning environment. So, I set about working on a dual-boot scenario. Needless to say, I failed miserably when I opted to have Kali install Grub and it overwrote my primary Boot Manager on the Mac and rendered the system unbootable (and eventually unrecoverable). Thank goodness for good backups...

WARNING: Do not proceed with any of these steps unless you have the ability to restore a bare-metal backup. Everything I'm doing has the potential to trash all of the data on your computer, requiring a clean installation of macOS and subsequent data recovery from backups. I use a combination of Time Machine, CrashPlan, and Arq to back up my system, you should too.

Prior to version 0.8.4, refind-install installed rEFInd to the macOS root partition by default. I changed this because the default configuration for macOS 10.10 ('Yosemite') makes this placement unusable. Instead, refind-install now installs to the ESP under macOS, just as it does under Linux.

Triple Boot the Right Way

Refind Download Mac. Refind Boot Manager Windows. This page describes rEFInd, my fork of the rEFIt boot manager for computers based on the Extensible Firmware Interface (EFI) and Unified EFI (UEFI). Like rEFIt, rEFInd is a boot manager, meaning that it presents a menu of options to the user when the computer first starts up, as shown below. I am trying Clover now. It shows a Mac OS Icon to boot that, but that is all. There is no Ubuntu icon (assume I need to manually add that to the config somewhere?) and even selecting the Mac install eventually fails. When using the Multibeast (or was it UniBeast?) USB, I am using the -x PCIRootUID=0 argument to boot Mac OS successfully. If this is a Mac, then I should install rEFInd from MacOS Since my disc containing MacOSX was failing and this was to be its replacement, I simply ignored these warnings and carried on with the installation. REFInd was nicely installed in /EFI/refind/ on the UEFI partition (sdX1, mounted on /boot/temp-efi, so in my case in /boot/temp-efi/EFI. Just search for refind themes and you’ll find quite a few. Most of them on GitHub. Let’s use this one as an example and change the default view into something like this: If the theme you want to use is available on GitHub, GitLab etc, you might want to install git on your mac first. The easiest way to do that is via Homebrew with brew.

If you're interested in triple booting your MacBook Pro, and Windows is going to be one of the Operating Systems you're going to boot, then take my word for it, this is the only way you want to accomplish this feat.

At a high level, the process goes like this:

  1. Install Apple's Bootcamp and use it to install Windows 10
  2. Use Windows 10 to shrink the Bootcamp partition, freeing up space to install Linux
  3. Install Linux (I used Kali) into the newly freed space
  4. Install rEFInd as a Boot Manager for all 3 OSes

To be fair, a lot of my instructions and the guide I initially followed, can be found here. However, several of the steps in that guide I didn't have to use at all, so I'm documenting my process here.

Install Apple's Boot Camp

Refind mac install

Apple provides a supported method of installing Windows as a dual-boot option for Macintosh owners. There are several advantages to using Apple's process:

  1. Apple supports this as a way to boot Windows
  2. Apple provides native drivers for the hardware under Windows
  3. You will have supported ways to control the Windows and macOS boot process on your MacBook from within Windows (via the Boot Camp Control Panel)

Apple's official documentation for Boot Camp is found here.

Follow Apple's instructions for installing Windows, but make sure you create the Windows partition approximately 64GB larger than what you want to end up with for Windows, that space will end up being given to Linux. Adjust if you wish, I used a 196GB partition for Windows 10, then split it into 128GB for Windows and 64GB for Linux (FYI, a Windows 10 installation with Office 365 installed takes up 68GB, so give yourself enough room under Windows).

Note: Apple only supports Windows 8.1, or newer, for hardware released after 2014. There is no way to install an earlier version of Windows using Boot Camp on newer hardware. See this table to check your hardware and what versions of Windows are supported on it.

Now that you have an Apple-supported dual-boot system running macOS and Windows 10 (presumably), it's time to perform the Linux installation.

Create Partition for Linux

For the purposes of this article, I'm going to install Kali Linux, that's what I used, but installation with ANY version of Linux should work the same way.

The first step is to shrink the Windows partition to make some space for Linux:

  1. Boot into Windows 10
  2. Right-click on the Start Menu and select Disk Management
  3. Select the BOOTCAMP partition, right-click and select Shrink Volume
  4. Enter the size, in megabytes, by which to shrink the volume. I shrunk mine by 64GB, so I entered 65,536

This image is AFTER I did my initial shrink and subsequent installation of Kali linux, you'll have fewer partitions when you do this. I also have an SD card mounted.

The shrinking process took a LONG time (~30 minutes), don't worry about it, let it run to completion and do not interrupt.

After the Volume shrinking process is completed, it's time to download some files to perform the installation; however, you probably want to do this under macOS, so first boot back to your macOS volume and the download them both:

  1. Kali Linux, 64-bit, can be downloaded here
  2. rEFInd, can be downloaded here

Place all of the rEFInd files (after unzipping) on a removable volume (SD Card, USB drive, or even a secondary HFS+ volume) so you can use it in the next step.

Install rEFInd

For all macOS versions starting with El Capitan (10.11) Apple has enabled System Integrity Protection (SIP). This security feature of macOS prevents changes to various areas of the Operating System including System-owned files. That means that you cannot install rEFInd directly on drives where SIP is enabled. In order to install rEFInd you will have to boot into Recovery. Make sure the rEFInd files are available on a drive that macOS can see and use, then follow these instructions:

  1. Reboot the computer and hold down Command-R
  2. Once in Recovery mode select Terminal from the Utilities menu
  3. Find the volume where you have rEFInd stored (start with ls /Volumes)
  4. Change into the rEFInd directory and run ./refind-install
  5. You will still get a warning that SIP is enabled, but you can ignore it (SIP is enabled on the boot volume, but you're not installing it there

Full installation instructions can be found on the rEFInd site.

You may also want to theme rEFInd to look more 'mac-like'. I used the OSX Standard Theme 1.0 found here. Upate 20200906: This theme's installation instructions ask you to 'replace the EFI folder' in the rEFInd install you just did, it ALSO replaces the more curent version of rEFInd and the cryptographic keys that were provided. You probably shouldn't do that, though your milage may vary on getting this to work. At the time of this article's original publication, they were both the same version, but now, 3 years later, the theme's version of rEFInd is woefully outdated. Use with caution or update the components in the theme with the newer versions. (thank you Phillip!)

Test that rEFInd is installed and operational. Just reboot and you should be taken to the rEFInd boot menu, from there you should be able to boot into either macOS or Windows 10.

Note: rEFInd will automatically find what it believes to be bootable volumes. They probably all won't be bootable, through trial-and-error you should be able to find the correct macOS and Windows 10 volumes. You can then configure rEFInd to ignore some volumes, but save that for after you have everything working properly.

Install Linux##

Boot into macOS and have a USB key available to be reformatted, it can be pretty small (small works better), an 8GB drive is perfect.

In order to create a bootable USB drive, you can use the Terminal:

  1. Run the Terminal from the Utilities folder under Applications
  2. Change the directory to where you downloaded the ISO for your Linux installation, e.g. kali-linux-2016.1-amd64.iso
  3. Find your USB key by running: diskutil list, note the drive name, e.g. disk2
  4. Run the command: dd -if=kali-linux-2016.1-amd64.iso -of=/dev/disk2 bs=1m
  5. The above command will take a long time to run, as it is imaging the ISO onto the USB drive. Once it finishes you should have a bootable USB key for Kali Linux (or whatever)

Alternatively, if you want a graphical imaging process, you can use UNetbootin as documented here for Ubuntu (just use Kali or whatever image you want).

You're now ready to install Linux. The reason you had to install rEFInd before installing Linux was that, in my experience, I could not get the standard macOS boot manager to recognize the USB drive I had prepared with Kali Linux. However, if you reboot now, you'll see the rEFInd boot menu. You can then insert your USB drive, then hit ESC to refresh the volumes and you should see the Linux installation drive appear. Select it for booting.

Follow the instructions for installing Linux, making sure to select the correct partition that you created while you were under Windows 10 earlier.


You should now have a triple-booting MacBook Pro. Using rEFInd you can select the appropriate OS and it should boot cleanly on your hardware.

In the event that rEFInd gets clobbered (you'll know, because a power-cycle takes you to the built-in macOS boot manager) you should still be able to boot into Windows, but you'll probably lose the ability to boot into Linux. Just follow the instructions and re-install rEFInd again and it should come back and allow you to boot again.

by Roderick W. Smith, [email protected]

Originally written: 4/19/2012; last Web page update:3/13/2021, referencing rEFInd 0.13.2

Many external drives are formatted to NTFS by default, as Windows is more widely used than macOS. Because it's a proprietary file system Apple hasn't licensed, your Mac can't write to NTFS natively. When working with NTFS files, you'll need a third party NTFS driver for Mac if you want to work with the files. Windows, Linux, macOS: CAR-2013-02-012: User Logged in to Multiple Hosts: February 27 2013: Valid Accounts; Windows, Linux, macOS: CAR-2013-03-001: Reg.exe called from Command Shell: March 28 2013: Query Registry; Modify Registry; Dnif, Pseudocode: Windows: CAR-2013-04-002: Quick execution of a series of suspicious commands: April 11 2013.

My guess is the external HD is formatted as NTFS which is a PC format. OS X can read a NTFS drive and copy data on it to your iMac but it cannot write to NTFS. If the drive is going to be only used with a Mac then it needs to be reformatted in Mac OS Extended )Journaled). Paragon HFS+ does cost $20, but it also offers a 10-day free trial. If you just need to recover files from a drive, 10 days is plenty of time to install this file system driver, copy your files over, and uninstall it. If you want to use Mac drives on Windows on an ongoing basis, paying $20 so you can use the drive properly is a pretty good deal. Paragon Driver for macOS (10.10 to 10.15) This driver provides write access for Seagate external drives in Mac OS without having to reformat. Supported on Intel based Mac's only.

This Web page is provided free of charge and with no annoying outside ads; however, I did take time to prepare it, and Web hosting does cost money. If you find this Web page useful, please consider making a small donation to help keep this site up and running. Thanks!

Donate $1.00Donate $2.50Donate $5.00Donate $10.00Donate $20.00Donate another value

This page is part of the documentation for the rEFInd boot manager. If a Web search has brought you here, you may want to start at the main page.

Although EFI implementations should be able to load drivers prior to rEFInd's launch, in my experience, most EFI implementations offer such poor control over EFI driver loading that they can't be counted on to do this. Thus, if you want to use EFI drivers, rEFInd's ability to do so can be useful. This page tells you why you might want to use drivers, how you can install and use rEFInd's own drivers, where you can go to find other drivers, and provides tips on a few specific drivers.

Install Refind Mac Recovery

Why Should You Use EFI Drivers?

EFI supports drivers, which can activate hardware or filesystems in the pre-boot environment. At the moment, EFI drivers are few and far between; but you can or might want to use them for various reasons:

  • You can load a filesystem driver to gain access to files on a filesystem other than FAT (or HFS+ or APFS on Macs or ISO-9660 on some systems). This is most likely to be useful on a Linux installation, since a filesystem driver can enable you to store a Linux kernel with EFI stub loader or for use by ELILO on a Linux-native filesystem if your EFI System Partition (ESP) is getting crowded.
  • You can load a driver for a plug-in disk controller to give the EFI access to its disks. Note that this is not required if you place your boot loader (and perhaps your OS kernel) on another disk, or if the plug-in disk controller includes EFI-capable firmware. It could be handy, perhaps in conjunction with a filesystem driver, to enable the EFI to read a boot loader or kernel from a disk on a plug-in controller, though. I've received one report of the NVMe driver from Clover being useful to boot from an aftermarket NVMe disk on a Mac, for instance.
  • You can load a driver for a plug-in network card to enable the computer to boot from the network, or to access the network without booting an OS.
  • You can load a video card driver to set an appropriate video mode or to support a plug-in card that lacks EFI support in ts own firmware.
  • You can load a mouse or touchscreen driver to enable the mouse or touchscreen to work even if your firmware lacks this support. (Note that you must also explicitly activate rEFInd's mouse or touch support in refind.conf for the driver to be useful.) Note that I've not tested this myself or heard of it working, but in theory it should work, provided you find a compatible driver.

Note that most of these uses are theoretical, at least to me; I don't know of any specific examples of EFI drivers (available as separate files) for most hardware, although the Clover boot loader project provides a few such drivers. I haven't tested these, though. Hardware drivers are often embedded in the firmware of the devices themselves, and should be loaded automatically by the EFI. Chances are good that a few such drivers are available, unknown to me, and more may become available in the future. If you happen to have a device and need support for it under EFI, searching for drivers is certainly worth doing.

To the best of my knowledge, the best reason to want EFI driver support in rEFInd is to provide access to filesystems. EFI filesystem drivers can help to improve your installation and configuration options, particularly if you've found yourself 'boxed in' by awkward installation or bugs, such as a too-small ESP created by an OS installation or the bug that prevents a Linux kernel with EFI stub loader support from booting from the ESP of at least some Macs.

As a side note, using an ISO-9660 driver can theoretically help you keep the size of a custom Linux boot CD/DVD down to a reasonable value. This is because EFI systems normally boot from optical discs by reading a FAT image file in El Torito format and treating that file as an ESP. If you need to store the kernel both in that file and directly in the ISO-9660 filesystem (to maintain bootability on BIOS systems), that can represent an unwanted extra space requirement. Placing rEFInd and an ISO-9660 driver in the FAT image file should enable you to store the kernel on the disc only once. Unfortunately, this doesn't work in practice. When the ISO-9660 driver is loaded from the El Torito image, the driver discovers that the optical disc is in use and refuses to access it. It's possible to use EFI shell commands to give the ISO-9660 driver access to the shell device, but this causes the El Torito access to go away, which means that anything loaded from the El Torito image (such as rEFInd) is likely to malfunction. Also, some EFI implementations include ISO-9660 drivers, so you might not need a separate ISO-9660 driver if you're building a disc for a particular computer.


Installing rEFInd's EFI Drivers

If you install rEFInd via the refind-install script or by installing an RPM or Debian package in a Linux distribution, the script should install the driver that matches the filesystem on which your kernels are stored automatically, with a couple of important caveats:

  • The driver must be included with the rEFInd package. As described in the next section, Selecting an EFI Driver, drivers for ext2fs, ext3fs, ext4fs, ReiserFS, Btrfs, and a few non-native filesystems come with rEFInd. If your kernels reside on XFS, JFS, ZFS, or some other more exotic filesystem, you'll need to track down drivers elsewhere, as described in Finding Additional Drivers, and install them manually.
  • If you run refind-install from macOS, the script installs only the ext4fs driver, and that only if the script finds an existing Linux partition. Thus, if you install rEFInd before installing Linux, chances are refind-install will not install any Linux driver. Also, if you use any filesystem other than ext2/3/4fs to hold your kernel, refind-install won't install the correct driver. If you install rEFInd followed by Linux and want to use rEFInd's driver, you can either re-install rEFInd or install the appropriate driver manually. The refind-install script installs all the available drivers if you pass it the --alldrivers option. (I do not recommend using this feature except for creating general-purpose USB flash drives with rEFInd, since having too many drivers can cause various problems.) See the Installing rEFInd page for details.

Mac Ntfs Driver Seagate

rEFInd's filesystem drivers reside in the refind/drivers_arch subdirectory of the rEFInd .zip file, where arch is a CPU architecture code, such as x64 or ia32. If you installed rEFInd using an RPM or Debian package, chances are the relevant files will be stored in /usr/share/refind/refind/drivers_x64/ or a similar location. You can type find /usr/share/ -name 'ext4*' to find the exact location, or use your package manager to list all the files installed from the refind package. The files are named after the filesystems they handle, such as ext4_x64.efi for the x86-64 ext4fs driver.

To install a driver, you must copy it from the package .zip file or from where the rEFInd RPM or Debian package placed it to the drivers or drivers_arch subdirectory of the main rEFInd installation directory. The main rEFInd directory is usually either EFI/refind or EFI/BOOT on the EFI System Partition (ESP). How to identify and access the ESP varies from one OS to another:

  • Under Linux, the ESP is normally mounted at /boot/efi, or sometimes /boot or /efi.
  • On macOS, the ESP is not normally mounted, but the mountesp script that comes with rEFInd will mount it and identify the mount point.
  • Windows also does not normally mount the ESP, but it can be mounted from an Administrator command prompt window by typing mountvol R: /S. (You can change R: to another drive identifier, if you like.)

Be careful to install drivers only for your own architecture. Attempting to load drivers for the wrong CPU type will cause a small delay at best, or may cause the computer to crash at worst. I've placed rEFInd's drivers in directories that are named to minimize this risk, but you should exercise care when copying driver files.

When you reboot after installing drivers, rEFInd should automatically detect and use the drivers you install. There's likely to be an extra delay, typically from one to five seconds, as rEFInd loads the drivers and tells the EFI to detect the filesystems they handle. For this reason, and because of the possibility of drivers harboring bugs, I recommend installing only those drivers that you need. If you like, you can install drivers you don't plan on using to some other directory, such as /drivers on the ESP's root. You can then load these drivers manually with the EFI shell's load command if the need arises in the future. You can then tell the shell to re-assign drive identifiers with map -r:

Selecting an EFI Driver

rEFInd ships with a small collection of read-only EFI filesystem drivers. These are:

  • Ext2fs—This driver originated with rEFIt. It's useful for reading Linux kernels from a separate /boot partition, or even from a root (/) filesystem, if you use ext2fs on it. Although it's called an 'ext2fs' driver, it also works with ext3fs.
  • Ext4fs—Stefan Agner modified the rEFIt/rEFInd ext2fs driver so that it could handle ext4fs. I'm including this as a separate driver from the ext2fs driver, although the ext4fs version can handle ext2fs and ext3fs, too. Providing both drivers enables easy filesystem separation—for instance, you can use ext2fs on a /boot partition and ext4fs on your root (/) partition, to have the EFI scan only the former. This driver has some limitations and may not work with all ext4 filesystems. Although it supports (as of version 0.10.4) 64-bit pointers, this support is untested on over-16TiB volumes. As of version 0.6.1, this driver supports the meta_bg feature, which can also be used on ext2fs and ext3fs. Thus, it can handle some ext2fs and ext3fs partitions that the ext2fs driver can't handle. Beginning with rEFInd 0.13.0, this driver supports activation of the filesystem-level encryption code, but can not read encrypted files. (The OS can encrypt directories that rEFInd doesn't read, though.) You can learn about your ext2/3/4 filesystem features by typing dumpe2fs /dev/sda2 grep features, changing /dev/sda2 to your filesystem's device.
  • ReiserFS—This driver originated with rEFIt. It can be used in the same way as the ext2fs and ext4fs drivers. Caution: If you use this driver, you should use the notail option in Linux's /etc/fstab file for the partition(s) you want the EFI to read. This is because the driver doesn't properly handle ReiserFS's 'tail-packing' feature, so files can seem to be corrupted in EFI if you use this feature, which is disabled by notail. In my tests, this is the fastest of rEFInd's EFI filesystem drivers, so if you find your kernel load times are slow, you might consider moving your kernel to a ReiserFS /boot partition. (Such problems affect a small subset of EFI-based computers.)
  • Btrfs—Samuel Liao contributed this driver, which is based on the rEFIt/rEFInd driver framework and algorithms from the GRUB 2.0 Btrfs driver. I've tested this driver with simple one-partition filesystems on several installations, and with a filesystem that spans two physical devices on one (although I've made no attempt to ensure that the driver can actually read files that span both devices). Samuel Liao has used the driver with a compressed Btrfs volume. The driver will handle subvolumes, but you may need to add kernel options if you're booting a Linux kernel directly from a filesystem that uses subvolumes. For instance, prior to rEFInd 0.10.0, when booting Ubuntu from Btrfs, also_scan_dirs + @/boot must be set in refind.conf. (The option is set by default beginning with rEFInd 0.10.0.) With any version of rEFInd, [email protected] must be added to the kernel options in refind_linux.conf. If @/boot is not scanned, rEFInd can not locate the kernel; and without the [email protected] kernel option, the boot fails with a message to the effect that the initial RAM disk could not find /sbin/init. The refind-install and mkrlconf scripts should pick up the root flags, assuming the system is booted into the regular installation. These additions make it easier to set up rEFInd to work with Btrfs. Nonetheless, some distributions may have distribution-specific Btrfs peculiarities, so you should be alert to this possibility.
  • ISO-9660—This driver originated with rEFIt's author, but he never released a final version. Its code was improved by Oracle for use in its VirtualBox product, and then further modified by the authors of the Clover boot loader. If your firmware doesn't provide its own ISO-9660 driver, this one can be helpful; however, you may need to install it on your hard disk before you can read an optical disc.
  • HFS+—Oracle wrote this driver, apparently with some code taken from open source Apple examples. It was then further modified by the Clover authors. I expect this driver to have limited appeal to most rEFInd users. Macs don't need it, since Apple's EFI implementation provides its own HFS+ driver, and HFS+ isn't normally used on UEFI-based PCs. Some CDs are mastered with both ISO-9660 and HFS+, or even with HFS+ alone, and it's conceivable that an HFS+ driver would be useful when accessing such discs. Also, one unusual feature of this driver is that it can read files from within an Apple LVM setup, which Apple's own EFI HFS+ driver can't do. The upshot of this feature is that if you load this driver on a Mac that uses Apple's LVM, rEFInd is likely to show two macOS boot options. Ordinarily this is pointless, but it could be helpful if your Recovery HD volume becomes damaged. I'm providing the driver mainly because it compiled cleanly with no extra work, aside from providing a Makefile entry for it.
  • NTFS—Samuel Liao contributed this driver. As of rEFInd 0.11.5, this driver is not built by default; see the Warning sidebar to the right. Note that this driver is not required to boot Windows with rEFInd, since Windows stores its EFI boot loader on the (FAT) ESP, and the BIOS boot process (generally used when dual-booting on a Mac) relies only on the partition's boot sector, which is read without the benefit of this driver. Reasons to use this driver include:
    • If you want to use Windows to write large files, such as RAM disk images, to be read from EFI.
    • If you have a Mac and NTFS data partitions, loading this driver should exclude those data partitions from the boot menu. (rEFInd provides several other means of hiding unwanted boot entries, though.)
    • If you have a Mac that dual-boots with Windows, using this driver should provide NTFS volume names in the boot menu.

All of these drivers rely on filesystem wrapper code written by rEFIt's author, Christoph Phisterer.

Although Linux filesystems are all case-sensitive, these drivers treat them in a case-insensitive way. Symbolic links work; however, rEFInd gnores symbolic links, since many distributions use them in a way that creates redundant or non-functional entries in the rEFInd menu. You should be able to use hard links if you want to use a single kernel file in multiple ways (say for two distributions).

Finding Additional EFI Drivers

As already noted, I know of few EFI drivers for EFI hardware, aside from those that are built into motherboards' EFI implementations. I do, however, know of a few EFI filesystem drivers, in addition to those provided with rEFInd:

  • Pete Batard's efifs drivers—This project is an EFI driver wrapper around GRUB 2's filesystem drivers. Once compiled, the result is that GRUB 2's drivers become standalone EFI filesystem drivers, loadable independently or by rEFInd. (rEFInd version 0.8.3 or later is required.) The last time I checked (driver version 1.3; February, 2020), several drivers, including NTFS, exFAT, ext2fs, ReiserFS, Btrfs, JFS, and XFS, are usable. The previous time I tested them (version 0.7), some drivers were slow, and they hung on some computers, such as one of my Macs. They may have improved since then, and are likely to improve more in the future. Note that the ext2fs driver from this set works with ext3fs and ext4fs, too. In addition to the main link, you can check the github repository for the source code.
  • The LKL driver project—I have yet to look closely at this project, but I think it's a porting of the Linux kernel's filesystem drivers to EFI. The developer stated on the EFI developers' mailing list that they aren't yet stable, as of November 2016, and as of February of 2021, there appears to have been no development in several years.
  • rEFIt's ext2fs and ReiserFS drivers—You can gain read-only access to ext2fs, ext3fs, and ReiserFS volumes with these drivers, originally written by Christoph Pfisterer. You can use the binaries in the refit-bin-0.14/efi/tools/drivers directory of the binary package directly on a Mac. On a UEFI-based PC, though, you'll need to break the Mac-style 'fat' binary into its 32- and 64-bit components. You can use my thin program for this job. As a practical matter, there's no advantage to using these drivers over rEFInd's drivers, since the latter are updated versions of the former.
  • Clover EFI's ISO-9660, ext2fs, ext4fs, and HFS+ drivers—This project is an offshoot of Tianocore, the main UEFI project, combined with a fork of rEFIt that's independent of rEFInd. Clover is primarily a Hackintosh boot loader, but it includes drivers for ISO-9660, ext2fs, ext4fs, and HFS+; however, building them requires a fair amount of expertise. These drivers are closely related to rEFInd's own drivers; however, Clover has a large number of developers working on it, and some of its drivers (especially the HFS+ driver) have diverged significantly from rEFInd's version.
  • VirtualBox's HFS+ and ISO-9660 drivers—These drivers are available in source code form, and come with VirtualBox binaries. I've not attempted to compile them myself, but I've seen a report that suggests they may include assumptions that require use of MinGW, a GCC-based compiler for Windows (and cross-compiler to build Windows executables under Linux). I don't know of a source for binaries suitable for use on EFI-based computers; if you want to use them, you'll need to figure out how to compile them yourself. As noted earlier, rEFInd's drivers are closely related to these.
  • Ext2Pkg—This driver, which hasn't been updated since 2012, appears to be an ext2fs/ext3fs driver built independently of the driver written by Christoph Pfisterer. The linked-to sites provide access to source code via git but do not provide binaries. When I built binaries, they failed to work. Under VirtualBox, the driver loaded but then hung when I tried to access an ext2 filesystem. On a 32-bit Mac Mini, I got error messages when I tried to access an ext2 filesystem. As I write, the code was last updated in March of 2012. If you check the project and it's been updated more recently, it might be worth trying. Otherwise, I can't recommend this driver. I mention it here only in case it improves in the future.
  • Paragon's UFSD—According to this 2013 blog post, Paragon Software has ported its Universal File System Drivers (UFSD) to EFI, providing 'transparent access to NTFS, HFS+, ExFAT, and ExtFS' (sic). Neither the blog post nor the main UFSD page provides any download links, and it's unclear if the product is (or will be) available for free, on a pay basis, or even at all.
  • Apple's APFS—Apple provides an EFI driver for its Apple Filesystem (APFS), which is an optional feature of macOS 10.12 ('Sierra') and a mandatory feature of macOS 10.13 ('High Sierra') when using flash storage devices such as SSDs. When updating to macOS 10.13, your firmware should receive an update that includes this driver, so you shouldn't need to do anything to use APFS (with one caveat, described shortly). Apple also provides the driver as an EFI binary file, stored at /usr/standalone/i386/apfs.efi in the installed OS. You can load this driver from rEFInd, but doing so is likely to be pointless—on Macs, the driver should be built into the firmware, and on non-Macs, APFS is unlikely to hold files that rEFInd could use. On the off chance that a firmware update failed, though, copying this file to the rEFInd drivers subdirectory may enable you to boot macOS. Note that APFS includes built-in LVM-like features, similar to Btrfs. Under EFI, APFS volumes are identified by directories with UUIDs as filenames. This fact means that rEFInd 0.11.1 needed modifications to locate the macOS boot loader, since its location changed, as viewed from rEFInd. If you had used rEFInd 0.11.0 or earlier, update to macOS 10.13, and find that you can no longer boot macOS, try updating rEFInd to 0.11.1 or later.

The rEFIt, Clover filesystem, and VirtualBox drivers are related, and all of themhave fed into rEFInd's drivers. Specific versions can have their ownquirks, though. For instance, the Clover (and I suspect VirtualBox) driversdon't return volume labels, which causes rEFInd to display loaders on thosevolumes as being on a disk called Unknown. (I fixed that bug forrEFInd's version, and it wasn't present in the original rEFIt drivers.)Most of these drivers also suffer from speed problems on some computers.This is worst with the ext2fs drivers under VirtualBox; on my maincomputer, that combination takes 3 minutes to load a Linux kernel andinitial RAM disk file! Most real computers don't suffer nearly so badly,but some can take an extra five seconds or so to boot a kernel. I've fixedthe worst of the speed problems in rEFInd's drivers as of version 0.7.0; however, I still see occasional reports of speed problems on specific computers.

Although I know of no readily-available hardware drivers, I do know of a couple of non-hardware non-filesystem drivers:

  • CrScreenshot—This driver adds a screenshot capability to any EFI. Note that it's available only as source code that requires the Tianocore EDK2 to build. I have not tested it. (Note also that rEFInd provides its own screen shot capability; pressing F10 takes a screen shot within rEFInd.)
  • RamDiskPkg—This is a rudimentary RAM disk driver. It must be compiled with a RAM disk image; the resulting binary is hard-coded with a fixed RAM disk image. It's therefore useful mostly for developers.
  • Clover's non-filesystem drivers—In addition to its filesystem drivers, Clover includes a number of hardware drivers, such as one for NVMe devices (nvmexpressdxe-64.efi) and two mouse drivers (ps2mousedxe-64.efi and usbmousedxe-64.efi, for PS/2 and USB mice, respectively). I haven't tested these drivers, but I've received a report that the NVMe driver, at least, is useful to enable booting OSes installed on NVMe devices. The easiest way to obtain these drivers is likely to be to download the .iso file, mount it, and copy the drivers from the efi/clover/drivers* directories (there are several, with varying purposes). I recommend caution when testing them, though; using an inappropriate driver could cause a system hang.

The first two of these drivers are useful mainly for developers, but the Clover filesystem drivers could be useful to ordinary people.

Driver availability could increase in the future. If you know ofadditional EFI drivers, please tellme about them, so I can share the information here.

Once you've obtained an EFI driver, you can install it in rEFInd just as you would install rEFInd's own drivers, as described earlier.

copyright © 2012–2021 by Roderick W. Smith

This document is licensed under the terms of the GNU Free Documentation License (FDL), version 1.3.

If you have problems with or comments about this Web page, please e-mail me at [email protected] Thanks.

Return to my main Web page.

HFS+ is one of the primary file systems of macOS. If you work on Windows computer and need to read or write files from HDD, SSD or flash drive formatted under macOS, you need HFS+ for Windows by Paragon Software.

Stable Operation

Fail-safe operability across compatible hardware and software systems for both general-purpose and specialized applications

Data Safety

Install Refind Mac Catalina

Protection of data integrity and prevention of accidental data corruption and possible loss

Mac Ntfs Drive Reddit

Guaranteed Performance

Steady throughput and balanced goodput with effective flow control, reduced overheads, and congestion avoidance

Efficient Use

Thrifty usage of processor, memory, and disk resources

Native look and feel

  • It simply works out of the box too – previously inaccessible drives suddenly show up like any other, and you can now easily transfer data to and from a Mac using an external HFS+ formatted drive as an intermediary. There’s no performance penalty either – we happily transferred multi-gigabyte files via a USB 2 connection at around 40MB/s, for example.

    PC Advisor Magazine
  • Paragon HFS+ runs in the background and automatically starts on bootup, so accessing your Mac drives will feel exactly like accessing normal Windows drives.

  • Paragon HFS+ does cost $20, but it also offers a 10-day free trial. If you just need to recover files from a drive, 10 days is plenty of time to install this file system driver, copy your files over, and uninstall it. If you want to use Mac drives on Windows on an ongoing basis, paying $20 so you can use the drive properly is a pretty good deal. As a bonus, Paragon HFS+ doesn’t require you have the insecure Java installed.


How it Works


Download and install the HFS+ for Windows by Paragon Software


Your drive will show up in Explorer

  • Straightforward UI for working with HFS+ partitions as easily as native volumes
  • Easy to navigate all features from a single application menu
  • Check the integrity of HFS+ partitions to fix errors and view status report
  • Quickly access HFS + partitions from the Windows taskbar


Supported Operating Systems

  • Windows 10 (32/64-bit)
  • Windows 8 / 8.1 (32/64-bit), expected
  • Windows 7 SP1 (32/64-bit)
  • Windows Server 2008 R2 SP1 (64-bit)
  • Windows Server 2012 (64-bit)
  • Windows Server 2016 (64-bit)

Supported File Systems

  • HFS Plus (Mac OS Extended)
  • HFSX (Mac OS Extended Case-Sensitive)

Write Access

When a volume is mounted in write mode, you can do everything with files and folders it contains: read, edit, delete, rename, create new.


HFS+ for Windows by Paragon Software mounts supported volumes automatically at startup, so you don’t need to bother about it each time you restart the operating system or power your computer on. However, this feature can be disabled at any moment in the program interface.


HFS+ for Windows by Paragon Software supports all alphabets supported by your operating systems, including those that use non-Roman and non-Latin characters, so you will never face a problem of not getting access to file names on volumes mounted in non-native OS.

Support for journaling

HFS+ for Windows by Paragon Software supports native HFS+ journaling, thus ensuring that in case of any failure the disk file system is not irreversibly corrupted and can be put back on track easily.

Compatible with Apple Boot Camp

HFS+ for Windows by Paragon Software is fully compatible with Apple Boot Camp software and provides direct read and write access to Mac partitions from Windows installed on a Boot Camp.

Compatible with 3rd party software

HFS+ for Windows by Paragon Software is compatible with popular virtualization and encryption applications including VMware Fusion and Workstation, Parallels Desktop, TrueCrypt and its forks.

Need APFS support for Windows 10?

Macos Ntfs Driver Free

  • Full support of Windows 10, 8/8.1, 7 SP1

  • Availability to read and write data on APFS-formatted disks

  • Automount

Frequently Asked Questions

Due to the specifics of Windows 8 or Windows 10 Fast Startup feature, we highly recommend that you disable it before installing the driver to avoid possible file system corruption. For more details, please refer to the Microsoft Knowledge Base ››

Can I try the product for free before buying?
Sure, you can try HFS+ for Windows by Paragon Software for ten days completely for free. After that it will be locked until you activate a purchased license.
What versions of the HFS file system are supported?
HFS+ for Windows by Paragon Software supports HFS+ (Mac OS Extended), JHFS+ (Journaled Mac OS Extended), HFSX (Case-sensitive Mac OS Extended), and JHFSX (Case-sensitive, Journaled Mac OS Extended).
Is APFS supported?
If you need to read files from APFS volumes, download APFS for Windows by Paragon Software.
Is BootCamp supported?
Yes, we completely support all BootCamp configurations.
Is Core Storage supported?
Apple Core Storage is a logical volume format introduced by Apple that serves the basis for FileVault (Full Disk Encryption) and Fusion Drive technologies. Our product supports Core Storage on single disk only, and doesn’t support Fusion Drive or FileVault configurations.
How many times can I re-activate my license?
You can re-activate it 4 times. If you need to re-activate your license more than 4 times, please contact our Support or file a support ticket and we will help you to release the counter of licenses.
It doesn’t work! My HFS+ drive is not recognized in Windows, even after installing HFS+ for Windows by Paragon Software
There are several issues that may lead to this problem. For instance, if you are running HFS+ for Windows by Paragon Software in a BootCamp configuration, you won’t be able to see the Mac OS X system drive due to Core Storage restrictions. You can disable Core Storage to solve this problem. Check the HFS+ for Windows section of our knowledge base for more information here >
The product doesn’t run on Windows Server 2012 R2.
Please make sure that Microsoft Visual C++ 2015 Redistributable Update 3 RC is installed on your computer. After that open Control Panel -> Uninstall Program -> Microsoft Visual C++ 2015 Redistributable -> Change -> Repair.
Can I open my Time Machine backup using HFS+ for Windows?
No, Time Machine volumes are not supported. They can be opened only using the corresponding application on macOS.
I frequently work with NTFS, HFS+, APFS-formatted partitions on my Mac and Windows PC. Can I get a discount, if I buy all drivers at once?
Yes, you can purchase our new Paragon Mac ToolBox for just $39.95. The Suite contains six tools to guarantee seamless cross-platform data exchange and disk space management:
  • Microsoft NTFS for Maс by Paragon Software
  • APFS for Windows by Paragon Software
  • HFS+ for Windows by Paragon Software
  • Paragon CampTune
  • APFS to HFS+ Converter by Paragon Software
  • NTFS to HFS Converter by Paragon Software

required file system drivers based on your it environment regardless of os.


Current Version

Download Paragon HFS+ for Windows by Paragon Software

Product Documentation

Download HFS+ for Windows by Paragon Software One Pager

Product Tour

View Product Tour

Need help?

Contact Support or file a support ticket

Paragon Technology Center

Want to learn more about the technology behind Microsoft NTFS for Mac by Paragon Software? Check out the Paragon Technology Portal!