Setting up NTFS 3G on Mac OS Sierra

I recently found myself with a new Mac Book Pro and I have been slowly customizing it to suit me better.

One of the major gaps in the Mac OS capabilities is write support for the NTFS file system. I do not know why this is not provided, especially since read support works fine — but I guess that’s just Apple being quirky…

The last time I had a Mac Book, I had gone with Paragon NTFS for this capability and I was just googling around to see what the state of the art was this time around when I came across NTFS 3G.

NTFS 3G is an open source driver for NTFS. It uses the FUSE file system interface so that it can talk to any Unix like OS including the Mac OS. The folks behind NTFS 3G then went on to build a commercial version of the driver specifically for the Mac OS called Tuxera NTFS. The main differences seem to be in additional tools and capabilities for checking and formatting the disk.

Disclaimer: I installed this on my Mac Book only yesterday and I have been using this with my external hard drive to copy and paste a few small to medium sized files. It’s worked so far but I haven’t connected the hard drive to a windows or a linux machine as yet. Take backups before attempting this.

So with the disclaimer out of the way — on with the installation process ! I did this with Mac OS Sierra but it should work fine on older versions as well.

Let’s start with Homebrew, because, let’s face it, most useful things on the Mac OS start with Homebrew… In case you haven’t yet installed Homebrew the instructions on the website are pretty good, just remember to install command line tools for Xcode as pre-requisite — xcode-select --install.

The latest version of Homebrew has incorporated the cask command so the following section is not really needed anymore; you can skip to the section on installing OSX FUSE and NTFS3G.

Once we have Homebrew installed we need Homebrew cask. Homebrew cask is an extension to the Homebrew package manager that makes handling binary installations much easier — brew install brew-cask

Next we will need to install OSX FUSE followed by NTFS 3G

brew cask install osxfuse
brew install ntfs-3g

Next we need to disable the system integrity protection so that we can replace the default read only NTFS driver with NTFS 3G. We do this by rebooting the Mac and holding Command+R at boot to get into the recovery console. Open up the terminal console from the “Utilities” menu and type in the following:

csrutil disable

Reboot the Mac once more, normally, and open a terminal. Let’s check the system integrity status if it is disabled:

csrutil status 

If the status indicates it is not disabled (may happen if you did not reboot cleanly from the recovery console) we need to repeat the steps above and ensure a clean reboot after disabling system integrity. Once system integrity is disabled we can replace the NTFS driver as follows:

sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.original
sudo ln -s /usr/local/sbin/mount_ntfs /sbin/mount_ntfs

Now we need to re-enable the system integrity protection. So lets reboot the Mac into the recovery console and in the terminal window, re-enable the system integrity console:

csrutil enable

Reboot the Mac again normally and that’s it! NTFS 3G would now be the driver being used for NTFS hard drives and we should be able to write to them. Don’t forget to check and ensure that system integrity is enabled properly.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.