Good question. It’s something that I’ve been thinking about and something that for a while annoyed the hell out of me. Realistically there are three operating systems that someone (or at least a tech-geek) might have on their system – Windows, Linux (of some variety) and Mac OS X (apple-labelled or otherwise) and the ideal filesystem is one that works properly on all three.
By doing this it makes it much easier to realistically use your music, documents etc properly and successfully on all three. As an example, I might have 3 primary partitions, – one for each of the operating systems – and then a logical partition for documents (plus another for linux swap). Of course this will work equally well with another drive acting as the documents repository (something that I’m planning to do shortly as a multitude of home videos, photos, music and podcasts threaten to completely fill my current drive). External hard drives are a must have device nowadays.
So let’s survey the contenders.
FAT32 Cross-Platform File System
- Works natively and perfectly in all three operating systems.
- No journalling.
- Relatively low maximum partition size (2 Terabytes – not attainable yet but will be).
- Inefficient at large partition sizes.
- Maximum file size limited at 4GB.
- Works natively and perfectly in Windows.
- Other operating systems support read support natively.
- Robust and journalled.
- Very high limits on maximum partition size
- Very high limits on maximum file size.
- Generally efficient at large partition sizes.
- Requires third party software to allow for write support on Linux and Mac OS X.
- Slower on Linux and Mac OS X because of the use of FUSE.
- Proprietary filesystem patented, and at the whim of, Microsoft.
Ext3 – Cross-Platform File System
- Works natively and perfectly on Linux.
- Generally fast, journalled filesystem.
- High file and partition size limits.
- Requires third party software to allow for any access under Windows or Mac OS X.
- Third party software tends only to support ext2 resulting in extra file system checks (and these are slow).
- Works natively and perfectly on Mac OS X.
- Works natively and perfectly on Linux (without journalling)
- Generally fast, journalled file system (but journalling must be disabled for Linux)
- High file and partition size limit
- Requires third party software to allow for any access under Windows.
- Linux access requires disabling journalling.
- Free HFSExplorer is not integrated into the Windows explorer.
- Commercial MacDrive (with full Windows explorer integration) is not free of charge.
One important point to note is that until not so long ago NTFS write access was just impossible outside of Windows but thanks to the fine NTFS-3G project that limitation is now not an issue.
So what’s the verdict? Well, only last year I couldn’t possibly imagine myself saying this but for me the answer is NTFS. Pretty much all the NTFS features of importance are supported by the aforementioned NTFS-3G project while ext3 features only limited support due to only ext2 support with most options on the other operating systems. Needless to say, FAT32 is something I ruled out because I constantly hit upon the 4GB limit – though I must add that for the longest time (i.e. before NTFS-3G) this was the filesystem of choice for me. HFS+ is ruled out due to its commericial software requirement on Windows (although if you are comfortable using it without Explorer integration or paying for the software, then it may be an option for you, especially if OS X is your primary OS).
As mentioned Windows of course features native support for NTFS (how could it not!) but for Linux and Mac OS X a little work will be required. The great thing about NTFS-3G and linux of course is that in the future it will probably find its way into the kernel, or if not then at least into many distros. This hopefully will mean that no extra work is required! [Update: As of Ubuntu 7.10, NTFS write support is enabled by default.]
For now though there is stuff to be done but it’s not hard. I followed the instructions over at the Ubuntu Forums. Mac OS X installation instructions may be found at Mac OS X NTFS-3G’s unofficial homepage and is made possible by the fortunate and timely release of Google’s MacFUSE project.
The end result? Beautiful cross-platform file system bliss as I can read, write and modify to my heart’s content whichever OS I happened to have booted. The one problem with FUSE hinted at earlier is because it’s a user-space system it runs a little slower than a natively supported file system. However given that the solution is (IMHO) so much better than FAT32 and will probably get better in the future I think it’s just fine.
As the years go on the operating systems will consider becoming compatible with each other. Macs and Windows are getting closer every day.