It is a fact that hard disk drives are very, very large nowadays. Formatting them as FAT (in any of its versions) is suboptimal due to the deficiencies of this file system: big clusters, lack of journaling support, etc. But, like it or not, FAT is the most compatible file system out there: virtually any OS and device supports it in read/write mode.

Today, I had to reinstall Windows XP on my Mac (won't bother you with the reasons). In the past, I had used FAT32 for its 30Gb partition so I could access it from Mac OS X. But recently, some guys at Google ported Linux's FUSE to Mac OS X, effectively allowing anyone to use FUSE modules under this operating system. And you guessed right: there is a module that provides stable, full read/write support for NTFS file systems; it's name: ntfs-3g.

So I installed Windows XP on a NTFS partition and gave these a try.

MacFUSE, as said above, is a port of Linux's FUSE kernel-level interface to Mac OS X. For those that don't know it, FUSE is a kernel facility that allows file system drivers to be run as user-space applications; this speeds up development of these components and also prevents some common programming mistakes to take the whole system down. Having such a compatible interface means that you can run almost any FUSE module under Mac OS X without changes to its code.

Installing MacFUSE is trivial, but I was afraid that using ntfs-3g could require messing with the command line — which would be soooo Mac-unlike — and feared it could not integrate well with the system (i.e. no automation nor replacement of the standard read-only driver).

It turns out I was wrong. There is a very nice NTFS-3G for Mac OS X project that provides you the typical disk image with a couple of installers to properly merge ntfs-3g support into your system. Once done, just reboot and your NTFS partition will automatically come up in the Finder as a read/write volume! Sweet. Kudos to the developers that made this work.

Oh, and by the way. We have got FUSE support in NetBSD too!