Nithin Bekal

Posts About Notes Slides

NTFS Support on OSX El Capitan

28 Sep 2014

Mounting NTFS formatted drives on OSX has always been a pain, and I seem to forget how to get it to work every time. Here’s the instructions for my future self when I’m tearing my hair out trying to make this work.

NOTE: This was originally written for OSX Mavericks, but has been updated to work with Yosemite and El Capitan. You just need to skip a couple of steps (as mentioned below) if you’re using Mavericks or older versions of OSX.

NTFS-3G is an open source implementation of NTFS and is available via homebrew. It depends on osxfuse, which you can install using the dmg file available in the releases page.

Next, install ntfs-3g using homebrew.

brew install homebrew/fuse/ntfs-3g

If you’re on OSX Yosemite or higher, the next step might be a bit tricky. Apple has introduced System Integrity Protection (SIP), a security feature, which prevents writing to the /sbin path.

To get around this, we will need to disable SIP by using recovery mode. (You can skip the steps to disable SIP if you’re on Mavericks or earlier.)

Steps to disable SIP:

  • Reboot the Mac, and hold Cmd+R to boot into recovery mode.
  • Open terminal (Utilities > Terminal in the menu bar)
  • Run the command csrutil disable.
  • Reboot and continue with the following steps.

Now we can use ntfs-3g’s drivers to access NTFS drives. The following commands back up the original /sbin/mount_ntfs file and link the version provided by ntfs-3g instead.

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

You now need to reboot your Mac to get it to work. Once you’ve checked that everything is working fine, it’s a good idea to enable SIP once the setup is done. To do this, follow the steps mentioned above for disabling, but replace csrutil disable with csrutil enable.

Hi, I’m Nithin Bekal, a software craftsman with over 7 years of experience in shipping web applications. I mostly use Ruby, but lately have also been exploring Elixir. Co-founder of CrowdStudio.in, and helping organize Rubyconf India. Tweet to me at @nithinbekal.