Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

I have a nicely working MacPorts on Lion. When I run

sudo port install ntfs-3g

it does compile without errors. However, when I attach a NTFS-formatted external drive, it's read only. And there is no Preferences icon for NTFS-3G, like there was in my Snow Leopard install. Is the NTFS-3G driver active? How can I find out and fix this?

UPDATE: MacFUSE got installed along with NTFS-3G as a dependency and I did reboot after installing. The ntfs-3g command is available at the command line but I would really like all NTFS drives to be mounted using it automatically and with read-write support.

share|improve this question
    
FWIW, Paragon's brand new NTFS 9.0 for Mac OS X is available for free today on Giveaway of the Day. Link The catch is that you have register for a serial # today. –  afrazier Jul 28 '11 at 19:55
    
That worked. Thanks for the tip @afrazier, what a coincidence. Still curious if NTFS read-write is possible on Lion with free software only though, because I'm going to run into this again one day and it won't be another Giveaway day I'm afraid. –  TomA Jul 28 '11 at 20:31
    
@TomA Had to delete my answer as I couldn't test it -- only running 10.6 now. ntfs-3g should actually be able to do that, but I'm not sure if MacPorts has the newest version or if there even is one yet. –  slhck Jul 28 '11 at 20:44
    
Have you tried Tuxera's NTFS-3g installer? I don't have access to a Lion system yet, but it's always worked before. Or try the tips for turning on Apple's built in r/w support from Snow Leopard and see if they still work. –  afrazier Jul 28 '11 at 20:46

3 Answers 3

Check this, it details how to make ntfs-3g work through through MacPorts, and also how to make it work through an older version of NTFS-3G with a patched version of MacFuse:

http://fernandofig.wordpress.com/2011/08/08/ntfs-write-support-on-osx-lion-with-ntfs-3g-f/

The reason you couldn't make ntfs-3g work through MacPorts is that ntfs-3g still depends on MacFuse by default. Uninstall the ntfs-3g and macfuse ports, then install fuse4x, and then ntfs-3g. Like this:

sudo port uninstall macfuse ntfs-3g
sudo port clean --all macfuse ntfs-3g
sudo port install fuse4x
sudo port install ntfs-3g

You'll have to use some specific options for mounting, check the post above.

share|improve this answer
    
Its sad that the page link is dead now :( –  Petriborg Dec 12 '13 at 16:14
    
I've updated the link. Please note though that this post is a bit old at this point, there a few newer posts explaining the situation. It should still work though, if you stick to using fuse4x (instead of OSXFuse, which is supposed to replace both fuse4x and MacFuse) –  Fernando Figueiredo Feb 9 at 19:05

MacFuse only provides a 32-bit interface which does not work under the 64-bit Lion kernel. Read system log for related error messages.

You'll have to wait for MacPort to change the dependency to use the newer fuse4x (ticket).

share|improve this answer
1  
I thought that recent Macs were shipping with 64-bit Snow Leopard kernels since last year? –  afrazier Jul 28 '11 at 23:38

Fernando Figueiredo mentioned and linked to a post about using MacPorts' ntfs-3g build, but when I tried to go to the page, it was broken (404). I was able to fetch it from Google cache though. I've posted the important part from the end of the blog post here. Basically so I can find it again myself later. :-)

Instructions:

  1. Install ntfs-3g via ports sudo port install ntfs-3g
  2. Move aside built-in Mac OS ntfs support sudo mv /sbin/mount_ntfs /sbin/mount_ntfs.orig
  3. Create shell script to use ntfs-3g (see below)
  4. Fix file permissions sudo chmod 0755 /sbin/mount_ntfs
  5. Fix file ownership sudo chown 0:0 /sbin/mount_ntfs
  6. Update script USER_ID default with output from id -u
  7. Update script GROUP_ID default with output from id -g

The content of the shell script for step 3:

#!/bin/bash
VOLUME_NAME="${@:$#}"
VOLUME_NAME=${VOLUME_NAME#/Volumes/}
USER_ID=501
GROUP_ID=20
TIMEOUT=20
if [ `/usr/bin/stat -f "%u" /dev/console` -eq 0 ]; then
        USERNAME=`/usr/bin/defaults read /library/preferences/com.apple.loginwindow | /usr/bin/grep autoLoginUser | /usr/bin/awk '{ print $3 }' | /usr/bin/sed 's/;//'`
        if [ "$USERNAME" = "" ]; then
                until [ `stat -f "%u" /dev/console` -ne 0 ] || [ $TIMEOUT -eq 0 ]; do
                        sleep 1
                        let TIMEOUT--
                done
                if [ $TIMEOUT -ne 0 ]; then
                        USER_ID=`/usr/bin/stat -f "%u" /dev/console`
                        GROUP_ID=`/usr/bin/stat -f "%g" /dev/console`
                fi
        else
                USER_ID=`/usr/bin/id -u $USERNAME`
                GROUP_ID=`/usr/bin/id -g $USERNAME`
        fi
else
        USER_ID=`/usr/bin/stat -f "%u" /dev/console`
        GROUP_ID=`/usr/bin/stat -f "%g" /dev/console`
fi

/opt/local/bin/ntfs-3g \
         -o volname="${VOLUME_NAME}" \
         -o local \
         -o negative_vncache \
         -o auto_xattr \
         -o auto_cache \
         -o noatime \
         -o windows_names \
         -o user_xattr \
         -o inherit \
         -o uid=$USER_ID \
         -o gid=$GROUP_ID \
         -o allow_other \
         "$@" &> /var/log/ntfsmnt.log

exit $?;
share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.