osx_logoI have a few USB flash drives that are formatted with an NTFS file system which I use in my office when working on my Windows machine there. I work off of these flash drives to be able to easily access my development work while on the go by just ejecting the drive and taking it with me, then inserting them into my Windows machine at home and being exactly where I left off in the office. I recently purchased a beefy new Macbook Pro and want to be able to work from those same flash drives on it. Problem is that by default OS X mounts NTFS drives in read only mode.

I searched google for solutions, but most partially worked or were outdated. The easiest one and also the one that worked for me was this:

  1. Install Homebrew. It’s quite easy following the instructions on their site.
  2. Using Homebrew install ntfs-3g by opening a Terminal window and typing brew install ntfs-3g
  3. The previos command should install ntfs-3g and all of its dependencies which include fuse4x-kext (the kernel extension; requires reboot after install), and fuse4x. Note in the brew command output for fuse4x-kext it tells you a few commands to install the kernel extension which should be something like the following (note the version numbers may be different):
    sudo /bin/cp -rfX /usr/local/Cellar/fuse4x-kext/0.9.2/Library/Extensions/fuse4x.kext /Library/Extensions
    sudo chmod +s /Library/Extensions/fuse4x.kext/Support/load_fuse4x
  4. Finally, if you want to replace the default Mac OS X auto mounter with the one that ntfs-3g uses issue the following commands which will back up the current mount command and then link to the ntfs-3g mount command. Doing this will make it so whenever you plug an NTFS formatted USB drive into your Mac it should mount it using ntfs-3g and therefore be writable. Here are those commands (note again that version numbers in directory paths may be different than yours so you may need to cd to the /usr/local/Cellar/ntfs-3g directory to get the proper version number directory for the last command):
    sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
    sudo ln -s /usr/local/Cellar/ntfs-3g/2012.1.15/sbin/mount_ntfs /sbin/mount_ntfs