• Daniel D.

    I would not recommend the native driver solution.
    Although it is much faster it can result in potential data loss. The write support for NTFS is disabled for a reason.
    I have used the native NTFS write support in Snow Leopard and it corrupted the file system several times. Folders into which I copied files disappeared or were suddenly inaccessible. Luckily Windows’ chkdsk could fix the file system and the data was accessible again. The problem did not occur anymore after I began using NTFS-3G.
    Just a word of caution.

    • http://nolar.info/ Sergey Vasilyev

      BTW, you are probably right. I’ve got my NTFS filesystem corrupted after few uses (luckily, there were two backups). I could not even mount it in Win7 — when the drive is attached, the kernel process starts to use 100% of the CPU and never leaves this state, even if the drive is detached for a long time. Not to mention strange file access behavior on MacOS (some folders&files are visible, but unaccessible).

      I’m now really thinking of buying Paragon NTFS drivers. Probably, $20 are worth it.

      Thanks for the precaution.

  • Cees Enzlin

    Before installing this software on Lion, I could read NTFS-volumes, after ionstalling this software I could not even do that anymore. There is no reaction when I link up a usb disk formatted with ntfs.

    • http://nolar.info/ Sergey Vasilyev

      Thanks for the comment, Cees. Seems native driver really kills NTFS. I have the same experience and just made an update to the article. Unfortunately, I don’t know how to restore the corrupted volumes in this case. I’m sorry that this happened to you. Hope you had a backup.

    • Dimitris

      Is this problem solved? Or does anyone know how to fix it?? Unfortunately I have no backup…

    • http://nolar.info/ Sergey Vasilyev

      Nope. I just used my backup and switched to FAT64 (exFAT). And unfortunately I don’t know how to fix the filesystem in this case. Sorry.

    • Meadia

      I have exactly same experience with you. It was quite embarrassed.
      The thing is..that.. you should get back your backup via time Machine or…. re-install your mac OS..

      For me… I did re-install…

      I hope you to be OK…

  • Karansaraf

    Can someone please explain how to the run the third option (15 second workaround)? I don’t understand what you have to do… (new mac user).

    I have downloaded the file from that link. It is a .C file. What do I do with it? Can someone give me a step by step instructions? Many many thanks!

    • http://nolar.info/ Sergey Vasilyev

      You are expected to be experienced for this, since it requires basic usage of “gcc” compiler. Thus, you have to install Xcode from Apple site (it’s free, but is big). Then just run the command from the link (it is written at the end of the page there: one long “gcc …..” command, then few “mv” and “cp” commands).

      Unfortunately, I have removed NTFS-3G at all, and now I use Paragon NTFS for Mac (the one for $20). So I have no this binary file, and the system does not want to compile it for some reason. Sorry.

  • Yannick

    Hey i’m currently trying to suppress the “15 seconds” error message. (optional step 3)

    I installed “gcc”, opened the terminal, typed “cd /Users/….” (the directory where i have the fuse_wait.c file) then
    “gcc -DLION -arch i386 -mmacosx-version-min=10.4
    -isysroot /Developer/SDKs/MacOSX10.6.sdk
    -Wl,-syslibroot,/Developer/SDKs/MacOSX10.6.sdk -g -Wall -fconstant-cfstrings
    -framework CoreFoundation -o fuse_wait fuse_wait.c”

    I had plenty of errors, don’t know if it’s normal.
    Then, I want to replace fuse_wait with this code
    “sudo mv /usr/local/bin/fuse_wait /usr/local/bin/fuse_wait.orig
    sudo cp fuse_wait /usr/local/bin/fuse_wait
    sudo chown root:wheel /usr/local/bin/fuse_wait”

    But for the 2nd line, “there is no such fuse_wait file in the directory”, and that’s true because it is actually called fuse_wait.c
    Now, I got 2 options, delete the “.c” of our fuse_wait.c file
    OR cp fuse_wait.c in the terminal

    Nevermind I tried both and now I’ve got this error message (and I can’t access my disk)
    “/sbin/mount_ntfs-3g: line 532: /usr/local/bin/fuse_wait: Permission denied”

    I hope you can help.
    Thanks

    • http://nolar.info/ Sergey Vasilyev

      First of all, I have to say I have removed NTFS-3G from my system, and now I use Paragon NTFS for Mac for $20. So I have nothing to experiment with.

      BUT,

      You should clearly understand that “.c” text file and no-extension binary file are totally different files. You should not remove “.c” from filename — it will not work that way.

      The reason why you cannot get a binary “fuse_wait” file (with no extension) is described in the compilation errors. Could you please copy them here (the whole output from “gcc” command)? Maybe I will be able to give you a hint.

    • Yannick

      fuse_wait.c:41:19: error: stdio.h: No such file or directory
      fuse_wait.c:42:20: error: unistd.h: No such file or directory
      fuse_wait.c:43:36: error: stdlib.h: No such file or directory
      fuse_wait.c:44:43: error: CoreFoundation/CoreFoundation.h: No such file or directory
      fuse_wait.c:66: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘mountPath’
      fuse_wait.c:76: error: expected ‘)’ before ‘in’
      fuse_wait.c: In function ‘PrintDictEntry’:
      fuse_wait.c:87: error: ‘NULL’ undeclared (first use in this function)
      fuse_wait.c:87: error: (Each undeclared identifier is reported only once
      fuse_wait.c:87: error: for each function it appears in.)
      fuse_wait.c:88: warning: implicit declaration of function ‘calloc’
      fuse_wait.c:88: warning: incompatible implicit declaration of built-in function ‘calloc’
      fuse_wait.c:90: warning: implicit declaration of function ‘CFStringGetCString’
      fuse_wait.c:90: error: ‘kCFStringEncodingUTF8’ undeclared (first use in this function)
      fuse_wait.c:103: warning: implicit declaration of function ‘GetCorruptedMacFUSEStringAsUTF8’
      fuse_wait.c:112: warning: implicit declaration of function ‘free’
      fuse_wait.c: At top level:
      fuse_wait.c:124: error: expected ‘)’ before ‘center’
      fuse_wait.c:175: error: expected ‘)’ before ‘*’ token
      fuse_wait.c: In function ‘main’:
      fuse_wait.c:193: warning: implicit declaration of function ‘PrintUsage’
      fuse_wait.c:193: error: ‘stdout’ undeclared (first use in this function)
      fuse_wait.c:208: error: ‘CFStringRef’ undeclared (first use in this function)
      fuse_wait.c:208: error: expected ‘;’ before ‘timeoutString’
      fuse_wait.c:211: warning: implicit declaration of function ‘CFStringGetDoubleValue’
      fuse_wait.c:211: error: ‘timeoutString’ undeclared (first use in this function)
      fuse_wait.c:212: warning: implicit declaration of function ‘CFRelease’
      fuse_wait.c:214: warning: implicit declaration of function ‘fprintf’
      fuse_wait.c:214: warning: incompatible implicit declaration of built-in function ‘fprintf’
      fuse_wait.c:224: error: ‘CFNotificationCenterRef’ undeclared (first use in this function)
      fuse_wait.c:224: error: expected ‘;’ before ‘centerRef’
      fuse_wait.c:225: error: expected ‘;’ before ‘notificationObjectName’
      fuse_wait.c:226: error: expected ‘;’ before ‘notificationName’
      fuse_wait.c:229: error: ‘FALSE’ undeclared (first use in this function)
      fuse_wait.c:231: warning: implicit declaration of function ‘NotificationCallback’
      fuse_wait.c:231: error: ‘NULL’ undeclared (first use in this function)
      fuse_wait.c:231: error: ‘notificationObjectName’ undeclared (first use in this function)
      fuse_wait.c:235: error: ‘centerRef’ undeclared (first use in this function)
      fuse_wait.c:235: warning: implicit declaration of function ‘CFNotificationCenterGetDistributedCenter’
      fuse_wait.c:246: warning: implicit declaration of function ‘CFNotificationCenterAddObserver’
      fuse_wait.c:246: error: ‘NotificationCallback’ undeclared (first use in this function)
      fuse_wait.c:246: error: ‘notificationName’ undeclared (first use in this function)
      fuse_wait.c:247: error: ‘CFNotificationSuspensionBehaviorDrop’ undeclared (first use in this function)
      fuse_wait.c:249: warning: implicit declaration of function ‘fork’
      fuse_wait.c:251: warning: incompatible implicit declaration of built-in function ‘fprintf’
      fuse_wait.c:251: error: ‘stderr’ undeclared (first use in this function)
      fuse_wait.c:260: warning: implicit declaration of function ‘waitpid’
      fuse_wait.c:262: warning: implicit declaration of function ‘WIFEXITED’
      fuse_wait.c:267: warning: implicit declaration of function ‘WEXITSTATUS’
      fuse_wait.c:282: error: expected ‘;’ before ‘mountPathSnapshot’
      fuse_wait.c:283: error: ‘mountPathSnapshot’ undeclared (first use in this function)
      fuse_wait.c:289: warning: implicit declaration of function ‘CFRunLoopRunInMode’
      fuse_wait.c:289: error: ‘kCFRunLoopDefaultMode’ undeclared (first use in this function)
      fuse_wait.c:289: error: ‘true’ undeclared (first use in this function)
      fuse_wait.c:292: error: ‘mountPath’ undeclared (first use in this function)
      fuse_wait.c:309: error: ‘CFDataRef’ undeclared (first use in this function)
      fuse_wait.c:309: error: expected ‘;’ before ‘utf8Data’
      fuse_wait.c:313: error: ‘utf8Data’ undeclared (first use in this function)
      fuse_wait.c:317: error: ‘size_t’ undeclared (first use in this function)
      fuse_wait.c:317: error: expected ‘;’ before ‘mountPathUTF8Length’
      fuse_wait.c:318: warning: incompatible implicit declaration of built-in function ‘calloc’
      fuse_wait.c:318: error: ‘mountPathUTF8Length’ undeclared (first use in this function)
      fuse_wait.c:319: warning: implicit declaration of function ‘CFDataGetBytes’
      fuse_wait.c:319: warning: implicit declaration of function ‘CFRangeMake’
      fuse_wait.c:331: warning: implicit declaration of function ‘malloc’
      fuse_wait.c:331: warning: incompatible implicit declaration of built-in function ‘malloc’
      fuse_wait.c:331: error: ‘PATH_MAX’ undeclared (first use in this function)
      fuse_wait.c:333: warning: implicit declaration of function ‘memset’
      fuse_wait.c:333: warning: incompatible implicit declaration of built-in function ‘memset’
      fuse_wait.c:336: warning: implicit declaration of function ‘realpath’
      fuse_wait.c:342: warning: implicit declaration of function ‘strncmp’
      fuse_wait.c:385: warning: implicit declaration of function ‘execvp’
      fuse_wait.c:386: warning: incompatible implicit declaration of built-in function ‘fprintf’

      That’s the output i got from the “gcc” command.
      Maybe I have to move fuse_wait to a special directory?
      Thanks for your help and ok for Paragon

    • http://nolar.info/ Sergey Vasilyev

      It looks like you have no even very basic headers and other files for compilation. Have you installed Xcode? (Not Xcode Installer, but Xcode itself.)

    • Yannick

      I have installed this for “gcc” https://github.com/kennethreitz/osx-gcc-installer
      I don’t know if this is enough.
      Xcode is too big for me but if you think it’s the solution, I’ll opt for it

    • Oliver

      Sergey
      Many thanks for all your good tips! They’ve helped me a lot and I am glad that in this commercial world of ours, there is a community out there prepared to share tips and information for free.

  • Pingback:

  • Pingback:

  • Michael

    I installed not only the programms what you recommended. Additional I installed SL-NTFS. That finally let me look that now I can read and write on the NTFS-Volume. And in the information over the volume now I can see that the rights have changed! The format is now NTFS-3g (MacFUSE).

  • Omar

    Greetings Sergey
    Nice explanations indeed man but i’m facing a problem.
    after i installed MacFuse (many version) I try to install NTFS-3G but it tells me that i can’t install it because MacFuse isn’t installed !! i tried many versions of both MacFuse and NTFS-3G with the same results .. suggestions will be highly appreciated :)

  • Guest

    currently trying to get the best out of NTFS-3G.
    just a tip: i don’t recommend formatting a drive as NTFS using NTFS-3G.
    i have gotten very limited functionality out of this drive with my media player (the player I use to watch HD mkv files on my TV).
    what i might attempt is to format the drive as NTFS using a window computer, then writing the files to that drive using my mac.

  • http://blog.galihsatria.com galihsatria

    Thank you for sharing. I was thinking about buying Paragon NTFS driver before I found this article. I tried to install MacFUSE and NTFS-3G. I used Snow Leopard and it worked well on it without that annoying dialog message. Right now this free solution is quite enough for me, don’t know yet in the future :-D

  • Pingback:

  • Chironx

    In Lion I installed NTFS-3G and then installed OXFUSE from http://osxfuse.github.com/
    During installation of OXFUSE there is a box that when ticked removes the version of Fuse loaded by NTFS-3G and replaces it with a compatibility layer if I understand it correctly. Anyway I can now read and write to my XP bootcamp drive.

  • Pingback:

  • http://www.facebook.com/felipegsc Felipe Costa

    Great solution! It worked fine for me. Thank you.

  • Pingback:

  • http://www.facebook.com/profile.php?id=100003613572426 Arun Kumar

    worked fine for me….thanx a lot :)

  • Mike

    There’s a pkg installer for fuse_wait patch so you don’t even have to use gcc…nice!. Bit annoying why this isn’t natively supported by Apple….Where’s The Food!!

  • Pingback:

  • Cybergasty

    Great staff. I managed to install above mentioned fuse, ntfs 3g and your patch and everything works great on ne Mountain Lion.

  • Pingback:

  • Yumi

    It’s worked. Thank you!

  • Jason

    Please remove the native driver part, as it’s blatantly harmful advice and Apple never released it for production usage (i.e. other than development). Please don’t minimize the feedback that “people say that the driver corrupts NTFS”. It DOES corrupt NTFS, go read the Apple manuals. Even Wikipedia says that, do you trust Wikipedia at least?

    • http://nolar.info/ Sergey Vasilyev

      I do not trust Wikipedia (it is the people’s opinion, not the knowledge). And I do not trust Apple (it is an interested party). I trust no one, actually. And I haven’t checked that myself, so this is why the warning starts with “people say”. Anyway, I’ve made a big red visible disclaimer there, just for the case. Thanks for your concerns :-)

  • Andreas Brischoff

    Hi! I also had troubles writing to NTFS on my Macbook Air with Mountain Lion, Paragon NTFS for Mac 10 helped me! Realy great driver, much better than 3G: 3G is too slow and sometimes I couldn’t open files I wrote to NTFS drive using it. With Paragon I have no problems since September, 2012.

  • Khairulu

    I have problem because of older MacFuse from previous OSX (leopard).

    I remove it using terminal :

    https://discussions.apple.com/thread/3942492?start=0&tstart=0

    and then use this procedure :

    http://techbytesxpress.com/2012/03/13/ntfs-on-os-x-lion-10-7-solved/

    it’s worked.

    (Macbook late 2008, Mountain Lion)