HOWTO - Read/Write to NTFS drives in OS X

macfuse_20070616.jpg

If you want to share an external drive between a Mac and a Windows machine, you typically format the drive with a FAT32 partition. One problem you'll run into, however, is that you can run into a file size limit if you're dealing with really large files. NTFS gets around this limitation, but unfortunately the OS X NTFS driver only supports reading from NTFS partitions.

Thankfully, there's a NTFS Fuse driver which you can use with the MacFUSE userspace filesystem driver. It supports full read/write capability, so you can use an external disk to swap large files between your Windows and Mac machines.

It's a bit of a pain to install, but here's the quick rundown:

Download and install MacFUSE - Link
Just get the DMG file and run the contained installer.

Download and install Fink. You need this for obtaining and building the NTFS Fuse driver - Link
- run the installer within the DMG file
- drag the FinkCommander application to your Applications folder
Get NTFS Fuse driver. You need to configure Fink to use unstable packages and then install the ntfs-3g Fuse driver. Open a terminal and run the following commands.
- /sw/bin/fink configure
Use defaults, except answer YES to use the unstable tree
- /sw/bin/fink selfupdate
- /sw/bin/fink index
- /sw/bin/fink scanpackages
- /sw/bin/fink install ntfs-3g
Reboot
Mount your drive
- First, make sure it's unmounted in disk utility (Applications/Utilities/Disk Utility - select drive - click unmount)
- Make a mount point: mkdir /Volumes/ntfsdrive
- Mount the drive: /sw/bin/ntfs-3g /dev/disk2s1 /Volumes/ntfsdrive
Replace /dev/disk2s1 with your external drive's device. You can find this in Disk Utility.

The last step is all that you'll need to repeat in the future to connect to your NTFS drive. After executing the mount command, the drive will appear on your desktop and you should be able to write files to it!


Recent Entries

Comments

Oldest comments listed first.

Posted by: SinaK on June 21, 2007 at 10:35 AM

These instructions don't work. You need to install the ntfs-3g package before you can use it, it doesn't come as part of the Fink library.

When I type in

/sw/bin/fink install ntfs-3g

I get

Failed: no package found for specification 'ntfs-3g'!

I think you need to install ntfs-3g (mac port), but there is no binary for this, only source files :(

Anyone have a fix?


Posted by: jason_striegel on June 21, 2007 at 3:43 PM

This was the same error I was getting before running the configure, enabling the unstable builds (ntfs_3g is not in the stable tree), and then doing the full update and reindex (which took forever). Did you run the other commands in the order listed in the post?

Also, do you have the OS X developer tools installed? Maybe it's not grabbing and building the source because it knows you don't have gcc installed or something.


Posted by: mp3murph on June 21, 2007 at 7:55 PM

does this work with Boot Camp? single hard drive, 2 partitions (1 OSX, 1 Win)


Posted by: jason_striegel on June 21, 2007 at 8:32 PM

I assume it would work with a BootCamp setup. You'd just need to figure out what device your NTFS partition is. If you open up disk utility, select the windows partition and click the info button, it'll tell you the device name. I'd make a guess that it's /dev/disk0s3, but maybe you or another BootCamp user can clue us in for sure.

I'd like to hear how that works out for you, by the way. Obviously, all the recommendations about backing up your important files, etc. should be taken care of before doing something like this. The ntfs_3g driver is not officially consindered stable yet, though I haven't heard of any major issues.


Posted by: deegeetwo on June 24, 2007 at 12:21 PM

I'm failing at the last steps - mounting the drive. Does this solution work for multiple drives/partitions?

I have a Western Digital My Book drive that is partitioned into two pieces that I've named Media Book and Music Book.

The device name for Media Book is disk1s1.
The device name for Music Book is disk1s2.

Whenever I follow the instructions and type the code into Terminal, I get a message that says "Not a directory."

I replaced the /dev/disk2s1/ with /dev/disk1s1 and 2... both resulting in the same error message.

How can I correct this?


Posted by: jason_striegel on June 24, 2007 at 12:48 PM

Deegeetwo, chances are you just need to make the directory that the drive will appear under after it's mounted.

So if you wanted it to mount under /Volumes/mediabook, first run:

mkdir /Volumes/mediabook

Then run:

/sw/bin/ntfs-3g /dev/disk1s1 /Volumes/mediabook


Posted by: deegeetwo on June 24, 2007 at 1:34 PM

Thanks for the quick response.

I guess this is a step in the right direction. I now get:

ntfs-3g: You must specify exactly one device and exactly one mount point.

ntfs-3g 1.616 - Third Generation NTFS Driver

Copyright (C) 2005-2006 Yura Pakhuchiy
Copyright (C) 2006-2007 Szabolcs Szakacsits

Usage: ntfs-3g [-o option[,...]]

Options: ro, force, locale=, uid=, gid=, umask=, fmask=, dmask=,
streams_interface=. Please see details in the manual.

Example: ntfs-3g /dev/sda1 /mnt/win -o force,locale=en_EN.UTF-8

Ntfs-3g news, support and information: http://ntfs-3g.org
----

I don't really know what to do with this information.


Posted by: Alex74 on June 25, 2007 at 11:20 AM

Hello,
I have tried this, but do not get any option in the /sw/bin/fink configure command that mentions Unstable Tree to choose? It only mentions the following:
Tarballs
Directory for the packages
Download pre-complied packages
How Verbose Fink should be
Proxy/Firewall
FTP Passive
Mirrors
and that's it.

When I type in

/sw/bin/fink install ntfs-3g

I get

Failed: no package found for specification 'ntfs-3g'!

Can anyone help?
I had run all the other commands no problems?
Thanks
Alessandro


Posted by: deegeetwo on June 25, 2007 at 1:43 PM

Alessandro... you have to install the XCode developer tool in order to get this to work.

Sign up for free for the Apple Developer Connection and download and install the software before attempting the steps.

If I can get past my last problem I am having, I'll post my completed solution to a blog. But as yet, I have not been successful in finishing this project.


Posted by: BvegasB on June 25, 2007 at 1:58 PM

alex. run the self update command in it select cvs update. then run the index and scanpackages. then go back and do the config, and then you will receive the unstable option. Also make sure you have the developer tools. there is a good link to them on the fink page.

I am now getting this error when i run the /sw/bin/ntfs-3g /dev/disk2s1 /Volumes/ntfsdrive command

Failed to create /dev/fuse: Operation not permitted
Error opening partition device: Permission denied
Tried to free NULL inode pointer (0x300bec)
Tried to free NULL attribute pointer (0x300c44)
Tried to free NULL inode pointer (0x300c40)
Tried to free NULL attribute pointer (0x300c58)
Tried to free NULL attribute pointer (0x300c54)
Tried to free NULL inode pointer (0x300c50)
Tried to free NULL attribute pointer (0x300c6c)
Tried to free NULL inode pointer (0x300c68)
Failed to startup volume: Permission denied
Failed to mount '/dev/disk0s3': Permission denied


Any help?


Posted by: BvegasB on June 25, 2007 at 2:20 PM

Also getting this error on another drive:
Failed to create /dev/fuse: Operation not permitted
$LogFile indicates unclean shutdown (0, 0)
Failed to mount '/dev/disk1s1': Operation not supported
Mount is denied because NTFS is marked to be in use. Choose one action:

Choice 1: If you have Windows then disconnect the external devices by
clicking on the 'Safely Remove Hardware' icon in the Windows
taskbar then shutdown Windows cleanly.

Choice 2: If you don't have Windows then you can use the 'force' option for
your own responsibility. For example type on the command line:

mount -t ntfs-3g /dev/disk1s1 /Volumes/The_B_Drive -o force

Or add the option to the relevant row in the /etc/fstab file:

/dev/disk1s1 /Volumes/The_B_Drive ntfs-3g defaults,force 0 0

I can't get the force command to work either


Posted by: masaman on June 25, 2007 at 3:07 PM

How to do it. Using Powerbook G4 with OS 10.4.10

1.) Get the latest install of XCode from Apple Developer Tools (2.4.1 as of this posting) and install it.
2.) Get Fink and install it as above.
http://www.finkproject.org/download/index.php?phpLang=en
3.) You can run Fink within the graphical environment if you like -- just run FinkCommander.app from the FinCommander folder.
4.) In the FInkCommander menu, choose Preferences, click the Fink tab and check "Use unstable packages"
5.) in the search window type "fuse", select the first package (0.4.0-3) and in the "Source" menu, choose "install"
6.) When this completes, type "ntfs" in the search window, and choose the first package "ntfs-3g 1.616-1" and Install this also.
7.) Quit FinkCommander.
8.) Follow the instructions above to dismount your ntfs drive from Disk Utility, select info to find out the "Disk identifier" which gives you the address in the command line, eg /dev/disk2s1.
9.) run the terminal command to mount the drive, and then to copy files most efficiently, use the command cp -R.
10.) Good luck/.


Posted by: kerker00 on June 27, 2007 at 11:36 AM

i dont know what i do wrong :(
i'am at the last point, to mount the disk and i do this in Terminal

- mkdir /Volumes/mmd
than
-/sw/bin/ntfs-3g /dev/disk1s1 /Volumes/mmd

but thats the answer

Failed to create /dev/fuse: Operation not permitted
mount_fusefs: fusefs@0 on /Volumes/babe: Operation not permitted

???


Posted by: kerker00 on June 27, 2007 at 11:41 AM

in the last line befor ???
babe = mmd

sorry but it does not work at all


Posted by: kerker00 on June 27, 2007 at 12:42 PM

Ok i try a lot an know i get

Failed to create /dev/fuse: Operation not permitted
kextload: /sw/lib/fuse/fusefs.fs/Support/fusefs.kext loaded successfully
mount_fusefs: fusefs@0 on /Volumes/DING: Operation not permitted

if i want to mount my Disk


Posted by: masaman on June 27, 2007 at 6:09 PM

Hi, try making the commands as root, and also make sure to set the user and group to yourself. You can find out your code number in Mac Utility "Netinfo Manager":
1.) Run the utility
2.) Select yourself under users in the upper window
3.) scroll down and find out your uid and gid numbers (maybe 501)

Then fill in those numbers in the code below (in Terminal) --
make sure to choose your disk number correctly by looking it up in Disk Utility!

mkdir /Volumes/ntfsdrive

then


sudo /sw/bin/ntfs-3g /dev/disk5 /Volumes/ntfsdrive -o uid=501,gid=501


Posted by: jason_striegel on June 27, 2007 at 8:22 PM

If you're running into permissions problems, make sure you check 2 things:

1. You need to run the commands as root. Put "sudo" before each of the commands, or run "sudo bash" to make yourself root before doing anything else.

2. Make sure the drive isn't mounted in OS X. Use disk utility to unmount the drive if it was mounted automatically.


Posted by: raphzahn on July 26, 2007 at 11:59 AM

hi,
i've created a small droplet which can remount ntfs drives writeable (macfuse + ntfs-3g) just drag the ntfsdrive to the droplet and schwups i will be mounted read/write - able
macfuse remount droplet - download

http://wb.raphaelwolfer.de/pages/mac-os-x/macfuse.php


Posted by: callthatkarma on August 1, 2007 at 2:05 PM

Help. I have a maxtor external that I just put in the ol' mac. I have a Power PC G3 running OS X 10.3.9 and would love to what my options are on opening up the maxtor for read write proposes. Thanks


Posted by: aristotlebyday on August 1, 2007 at 4:15 PM

i tried this and now my display is completely jacked (colors are funky and the fonts are nearly impossible to read). it permeates every application...oh yeah, and just prior to all of the icons coming onto the screen, my wallpaper looks normal and then switches to the disaster i have now...any suggestions?


Posted by: aristotlebyday on August 1, 2007 at 4:15 PM

i tried this and now my display is completely jacked (colors are funky and the fonts are nearly impossible to read). it permeates every application...oh yeah, and just prior to all of the icons coming onto the screen, my wallpaper looks normal and then switches to the disaster i have now...any suggestions?


Posted by: marcaurel on September 4, 2007 at 12:09 PM

Here is what I did and it worked !!!

I had a EXT HD formated Windows NT. I was able to mount it but with read only permissions. I wanted to erase the drive but could not. I downloaded Macfuse and Fink, checked in the Fink's pref pane-(under "fink") "unstable packages".
But i couldn't find the ntfs-3g. I went with solution of raphzahn who created a droplet to ease the process. (download it above in his message).

I dropped my mounted EXT HD on the dropplet of raphzan. I got a message saying something like everything is ok (mkdir....etc), clicked OK. The EXT HD was ejected. so I launched disk utility, saw my unmounted WIN NT EXT HD. But this time I had access to the erase options. So I could erase it and reformat it in MAC OS journaled extended.

This was simple. Thank you RaphZan.


Posted by: marcaurel on September 4, 2007 at 12:29 PM

ane more thing, you need to have apple dev tools installed for the dropplet to work...


Posted by: kotmotroskin on September 13, 2007 at 1:42 AM

Hi,
I have an external HDD (400GB Hitachi, NTFS). It's used as external hdd between pc and mac by lan. I'm stocked at the last step. I got next message "Failed to mount '/dev/disk1s1': Resource busy
Mount is denied because the NTFS volume is already exclusively opened.
The volume may be already mounted, or another software may use it which
could be identified for example by the help of the 'fuser' command." Yes, Hard is busy couse I can mount it only thru HDD utility (NDAS utility). Disc Utility doesn't see it if isn't mount by NDAS utility. May I will ask an advice?


Posted by: saurabh76 on September 15, 2007 at 11:24 AM

@Sinak
To download and install ntfs-3g which is the heart of this blog :
You dont need to download XCode 2.4.1 from ADC (which is around 900 MB of download), rather just download the latest package of ntfs-3g as a binary from http://www.daniel-johnson.org/ and install the same. Everything works perfectly then!

I didnt download any Xcode, and I was able to connect my external USB 160 GB Hard disk and copy stuff from my Mac to USB Disk.

Cheers,
Saurabh


Posted by: Axeltra on September 23, 2007 at 12:58 PM

hi i have a lacie xtreme 1TB formatted in NTFS and i downloaded and installed both mac fuse and fink but then i don't know how to open a terminal and execute the rest of the commands.
Can somebody help please?


Posted by: URFLiX on October 13, 2007 at 6:06 PM

Aloha everyone,

Can someone please list the exact installation directions for getting all this to work?

Purpose: To be able to read/write to my external ntfs hard drive. That's all!

I'm getting so many mixed stories and directions on installing all these different programs it's confusing as heck!

What I have so far is the latest MacFUSE and ntfs-3g. That's all I need correct?


Thanks in advance for your help.


Posted by: Dijama on November 19, 2007 at 5:11 PM

Just tried this out and it works perfectly. Great article, I wouldn't have figured this out on my own.


Posted by: Tassos on January 13, 2008 at 10:08 PM

Hello,

Can someone please recap the whole process since I am a new Mac user and I am quite confused.

Thank you!

Tassos

(I have a 320GB External Hard disk (NTFS) that I would like to use with my MacBook (intel) and my PC)


Posted by: rp_praveen on June 20, 2008 at 8:40 AM

Got it working for me
Mac PowerBook G4 , OS X 10.4

Might need to have your OS X install CD handy

If you don't have Xcode Tools installed -Do it on your OS X install disc is the folder contains- XcodeTools.mpkg <-- install that takes a good few mins

Also on the OS X disc also find the Optional Installs package(looks like a box icon) and install X11 - at the Install selection screen look under Applications check off & Install.

Now - disconnect the external hard drives.

1st - Downloaded & Installed MacFUSE

2nd Downloaded & Installed Fink - for me it was the:
Fink 0.8.1 Binary Installer (PowerPC)

Fink will ask you if it should append a file, I forget the exact name, just say Yes
Remember to drag Fink Commander over into your Applications folder -its there in a folder within the mounted image.

If you were following the Above instructions you probably ran into trouble here like me. I opened terminal and ran the commands - after selfupdate, index, scanpackages -after install ntfs-3g command failed 'no package found'

IF THIS IS YOUR FIRST TIME

Don't be alarmed if you dont see the question about 'unstable tree' I never saw it either.
Go to Applications/ Utilities / open Terminal and type /sw/bin/fink configure
Run configure, and use the defaults (just press enter when it asks you a question)

run selftupdate /sw/bin/fink selfupdate (Update from CVS)
run index /sw/bin/fink index ...then scanpackages

If like me /sw/bin/fink install ntfs-3g fails
No package found, the instructions above dont list anything about getting ntfs-3g manually anywhere.

So I went out on a limb did a google search- came up on -
http://macntfs-3g.blogspot.com/
Latest post (update) May 30, 2008
You will find - Download NTFS-3G 1.2531 [ublio] & [Stable] - I chose [ublio]
Install -this will require a Restart

Went to Apllications/Utilities/ Disk Utility then turned on my Drive and then connected it to my Mac
Done - that should do it, toke a few seconds for my Seagate 500Gb External
Hope this works for everyone who comes forth

www.drupal.org


Posted by: joe. on September 17, 2008 at 11:59 PM

I think I figured out my problem (missing ntfs 3g file)—Fink wasn't actually updating its library.

Using the commander, I told it to update, it asked for my password, and I think it stalled out there. I did it twice in a row, quickly, and it went and got all the library files I was looking for.

After that, everything worked according to the steps listed.

What a stupid problem I've spent my night solving. Maybe it's the problem for some of the other people here too—hope it helps.


Posted by: pete on September 23, 2008 at 6:22 AM

Hi,

For those having trouble getting ntfs-3g installed, there is a .dmg available at http://macntfs-3g.blogspot.com/ - get the patched version as it runs MUCH faster.

After messing around with fink and getting the "Failed: no package found for specification 'ntfs-3g'!" error, I resorted to sourcing an easier way out and hey it works great.

I'm using an external NTFS HDD and when I plug it in it mounts as read/write automatically now. No need to type commands etc.

Good luck!


Posted by: simon on January 21, 2009 at 6:21 AM

I get this error, and I have done all the steps with success apart from the mount

sh-3.2# /sw/bin/ntfs-3g /dev/disk2s1 /Volumes/ntfsdrive
$MFTMirr error: Invalid mft record for '$MFTMirr'.
Failed to mount '/dev/disk2s1': Input/output error
NTFS is either inconsistent, or you have hardware faults, or you have a
SoftRAID/FakeRAID hardware. In the first case run chkdsk /f on Windows
then reboot into Windows TWICE. The usage of the /f parameter is very
important! If you have SoftRAID/FakeRAID then first you must activate
it and mount a different device under the /dev/mapper/ directory, (e.g.
/dev/mapper/nvidia_eahaabcc1). Please see the 'dmraid' documentation
for the details.


Posted by: Jon on February 8, 2009 at 9:46 AM

Failed to create /dev/fuse: Operation not permitted
$LogFile indicates unclean shutdown (0, 0)
Failed to mount '/dev/disk1s1': Operation not supported
Mount is denied because NTFS is marked to be in use. Choose one action:

Hi, I followed all the instructions listed on this page to a T (at least I think I did). Initially, I got the following:

Failed: no package found for specification 'ntfs-3g'!

Then when I tried to merely read my NTFS HD, I couldn't do it because something with the NTFS-3G was messed up. I was forced to fiddle with this some more, and eventually made it past the initial error message, only to be greeted by this little gem:

Choice 1: If you have Windows then disconnect the external devices by
clicking on the 'Safely Remove Hardware' icon in the Windows
taskbar then shutdown Windows cleanly.

Choice 2: If you don't have Windows then you can use the 'force' option for
your own responsibility. For example type on the command line:

mount -t ntfs-3g /dev/disk1s1 /Volumes/The_B_Drive -o force

Or add the option to the relevant row in the /etc/fstab file:

/dev/disk1s1 /Volumes/The_B_Drive ntfs-3g defaults,force 0 0

I've tried the first part of Choice 2, which didn't work, and I have no idea what that relevant row business is. Any help? I'm in the middle of Dexter, and can't watch anymore because all eps are on my HD!


Leave a comment


Subscribe to MAKE!Subscribe to MAKE Magazine!

Subscribe today, save 42% and get web access to MAKE free. MAKE Digital Edition is available only to subscribers.

$34.95 / 1 year
(4 Quarterly Issues)

Subscribe now


Void your warranty, violate a user agreement, fry a circuit, blow a fuse, poke an eye out. Make: The risk-takers, the doers, the makers of things... Welcome to Make: Online!


CRAFT Maker Shed Maker Faire MAKE television




Check out more videos from MAKE.

MZ_Jameco-RobotBuild_RR.gif
MZ_DIYMovieMaking-RR.gif
Maker SHED

Connect with MAKE

Be a MAKE fan on Facebook MAKE on Facebook
Visit our Facebook page and become a fan of MAKE!
MAKE on Twitter MAKE on Twitter
Follow our MAKE tweets!
MAKE Flickr Pool MAKE on Flickr
Join our MAKE Flickr Pool!
    make_tips on Twitter



    MAKE Archives

    Make: Money

    Make: Science Room
    Subscribe to MAKE Magazine!

    Make: Online editors and authors!

    Gareth BranwynGareth Branwyn
    Editor-in-Chief


    Phillip TorronePhillip Torrone
    Senior Editor
    | Web | Twitter


    Becky SternBecky Stern
    Associate Editor
    | AIM | Twitter


    Marc de VinckMarc de Vinck
    Contributing Writer
    | AIM | Twitter


    John ParkJohn Park
    Contributing Writer
    | Twitter


    Sean RaganSean Ragan
    Contributing Writer
    | Twitter


    Matt MetsMatt Mets
    Contributing Writer
    | AIM | Twitter


    Dale DoughertyDale Dougherty
    Editor & Publisher
    | Twitter


    Shawn ConnallyShawn Connally
    Managing Editor
    | Twitter


    Goli MohammadiGoli Mohammadi
    Associate Managing Editor

    Kip KayKip Kay
    Weekend Projects
    | AIM | Twitter


    Collin CunninghamCollin Cunningham
    Contributing Writer
    | AIM | Twitter

    Adam FlahertyAdam Flaherty
    Contributing Writer
    | AIM | Twitter


    John BaichtalJohn Baichtal
    Contributing Writer
    | AIM | Twitter



    More contributors: Mark Frauenfelder (Editor-in-Chief, MAKE magazine), Kipp Bradford (Technical Consultant/Writer), Chris Connors (Education), Diana Eng (Guest Author), Peter Horvath (Intern), Brian Jepson (O'Reilly Media), Robert Bruce Thompson (Science Room)

    Suggest a Site!

    Advertise here with FM.

    Why advertise on MAKE?
    Read what folks are saying about us!

    Click here to advertise on MAKE!



    Current Podcast

    itunesdl.gif Weekend Project: Pinhole Panoramic Camera A sturdy, panoramic design pinhole camera that uses 120 film. Thanks go to Ross Orr for the original article in MAKE Volume 09. To download The Pinhole Panoramic Camera video video click here and subscribe in iTunes. Check out... More...

    Get the Make: Online sent via email
    Enter your email to receive Make: Online each day:



    Sign up for the Make: Newsletter

    Our Make: Newsletter covers news from maker Media, has original columns, Shed deals, and more! You can also read the archives of past issues.


     



    MAKE Fascination video series brought to you by Dow

    Make: Education
    MAKE: en Español MAKE: Japan
    Important please read


    Subscribe to MAKE Magazine!

    Recent Posts from the Craft: Blog