Can Microsoft’s exFAT file system bridge the gap between OSes?

Hands-on with exFAT, which blows past the FAT32 4GB file size limit.

With Apple's licensing of Microsoft's exFAT file system, it seems like we finally have a good option for OS X and Windows disk swapping. Dave Girard spent some time investigating the appeal, the limitations, and the alternatives to exFAT.

One of the more painful areas of cross-platform computing is data sharing. While networking between Mac OS X, Windows, and Linux has gotten a lot easier thanks to SAMBA, disk sharing still feels like it’s in its infancy thanks to proprietary file systems and the unique legacy needs of the respective operating systems they run on. There are options for cross-platform file sharing—plenty actually—it’s just that each one presents its own limitations and appeals. With Apple’s licensing of Microsoft’s exFAT file system, it seemed like the main problem with FAT32—the 4GB file size limit—was put to rest, and many people are probably now using it to swap video libraries between their MacBooks and HTPCs or share downloads between OS X and Boot Camped Windows. But exFAT has its own issues and limitations that few people are probably aware of—and considering how few people even know about exFAT, we thought this was a good opportunity to cover it, along with the various alternatives.

exFAT: The savior of cross-platform file sharing?

First, a brief history of exFAT for those unfamiliar with it. exFAT is a proprietary Microsoft file system that was designed to bridge the gap between the NTFS file system and the more dated FAT32 file system. Its main advantages are that it can store files over 4GB since it is a 64-bit file system. Its max file size limitation is 16 EiB (Exbibyte) and its theoretical max capacity is 64 ZiB (Zebibyte), which our people in the lab have called “stupidly huge.” You won’t have any issues with hitting file size or capacity ceilings with exFAT. Since exFAT is a closed format, Apple had to license it to integrate it into OS X 10.6.5 and later. You can format a volume as exFAT within Disk Utility. I’ve read about people having issues with exFAT disks that were formatted using Snow Leopard’s (10.6.x) Disk Utility showing up in Windows. Apparently, Apple’s block size was correct according to the standard, but different enough from Windows’ default to cause it not to be recognized on the Windows side. So Snow Leopard users were forced to use Windows to format the drive as exFAT, and then it would show up fine in OS X. This seems to be fixed in Mountain Lion (10.8) since I didn’t have any issues getting the Mountain Lion-formatted exFAT partitions to show up in Windows 7. On the Windows side, native exFAT support is built into Windows as of Vista SP1, and exFAT drivers are available for older builds like XP. Since it’s a relatively new and proprietary format, Linux exFAT support is definitely lackluster, but there is an implementation of exFAT as a FUSE user-space level file system. I haven’t personally tried it.

exFAT limitations and things to keep in mind

Before you run out and format everything as exFAT, you should understand its limitations—and they aren’t insignificant. exFAT has no file system-level encryption or compression support, and, like FAT32 before it, there is no journaling built into the exFAT file system. This means it has a much higher probability of data loss than with NTFS or HFS+. Since FAT32 and exFAT are common USB stick file systems, TFAT and TexFAT are driver-level additions to FAT32 and exFAT volumes that address the lack of journaling in much the same way that Apple has with HFS+ in OS X. But those are currently only implemented in mobile OSes. That's not it. exFAT also isn’t supported by Time Machine in OS X, which requires an HFS+ volume. Another odd limitation of exFAT support in OS X is that you can’t create a software RAID array in exFAT format, but you can do it with the FAT32 format. It also has very limited permission and ACL support for those who need to isolate different users from certain files. If you're just planning on sharing a video or music library, this isn't a problem. Still, the lack of journaling could be problematic. In the limited testing I did, bundled OS X applications launched fine from an exFAT volume. I wouldn’t recommend installing apps to a non-HFS+ volume, though, since the lack of permissions support could probably cause issues with larger applications. For content developers and designers looking to share files between Macs and PCs, you should have no issues using exFAT as a bridge format. You should be careful when copying older Mac fonts to an exFAT-formatted disk, though. Older Mac PostScript font suitcases have resource fork data that is not retained when copied to non-HFS or HFS+ volumes (HFS is the older pre-OS X file system, for those wondering). So if you’re using anything other than HFS+ disks, it’s best practice to use the Finder to zip your fonts if you’re transferring older suitcase-based PostScript fonts. The OS X Finder’s zip supports resource forks—that’s one of the reasons it creates the __MACOSX folder in zip archives. Newer font formats like OpenType don’t use resource forks, so newly purchased fonts won’t be an issue on non-HFS+ volumes.

A brief look at some exFAT alternatives

Some NTFS options

Since the NTFS file system has been around for a while, it is now well supported across all OSes with some free and commercial options. As a cross-platform file system, NTFS’s major appeal is that it supports journaling across all OSes—without any driver-level fixes or workarounds. By default, OS X reads NTFS volumes but can’t write to them. You need additional software to get write access to these NTFS disks. The FUSE-based NTFS-3G was the most appealing option since it was free, but it hasn’t been updated since 2011 so I wouldn’t recommend it. Two popular Mac options are Tuxera NTFS, which is a FUSE-based implementation, and Paragon NTFS for Mac. Both packages offer control over volume caching, NTFS-specific options, and some handy additions for full Mac OS X compatibility: ?

Tuxera’s preference pane.

Both Paragon and Tuxera let you format NTFS right from within Disk Utility, but Paragon is the only one that supports formatting of NTFS compressed volumes and full journaling of NTFS disks. At $20, it’s also currently $10 cheaper than Tuxera. After you see the benchmark results, it should be pretty clear which is the choice to go with.

The HFS+ options

Apple’s Boot Camp drivers install read-only support of HFS+ volumes by default so you can access those Mac partitions within Windows. Early versions were very unstable and caused frequent BSODs, but the latest version seems to work fine. The lack of write support is the real drawback, so you’ll need MacDrive for that. As the best-known HFS+ driver for Windows, Mediafour’s MacDrive has been around for a while now. I’ve used MacDrive for years and have always liked its feature set. Apart from the basic read/write features, it lets you set volumes to read-only in case you don’t want Windows messing with your volumes. If you format a partition on a Mac OS X volume within Windows, MacDrive will protect the main partition info so that your other Mac volume data is unaffected. This frequently came in handy when formatting the test partition for the benchmarks in Windows 7 SP1. The Pro version of MacDrive adds support for OS X HFS+ software RAID volumes, secure delete, and auto-defragmentation, which could be a boon to multimedia users who prefer to keep large media files from being fragmented. MacDrive has partial support of journaling—if your machine lost power or the drive was removed while copying in OS X, it will read the journal entry and try to complete the copy. But if you're in Windows, MacDrive does not edit the journal, so you get no journaling support for file system operations done within Windows. At $49.99 for MacDrive Standard and $69.99 for the Pro option, that makes MacDrive a harder sell given the slight handicap when compared to Paragon in OS X. Obviously, if you have an external HFS+ software RAID you need to share, MacDrive Pro is the only option. But if you are starting with disks from scratch, NTFS is the cheaper option.

Isn't exFAT patent encumbered enough that it won't ever see a Linux version? Or not a legal one...And yes, with Paragon NTFS on OS X and ntfs-3g on Linux i get fully working NTFS access in all three operating systems.

Since it’s a relatively new and proprietary format, Linux exFAT support is definitely lackluster, but there is an implementation of exFAT as a FUSE user-space level file system. I haven’t personally tried it.

This isn't surprising. Microsoft deliberately set up exFAT to be a software patent land mine. There are few to no technical advantages over other, existing file systems.

It exists for no other reason than to give Microsoft the ability to extract money or concessions from all vendors of SDXC compliant devices.

You can, but the big trick here is how Microsoft can instantly guarantee the wide availability of exFAT. Getting MS to ship a file system they couldn't patent out the ass and leverage as a club was probably nigh upon impossible so the SD Consortium likely didn't even try.

Why haven't Linux filesystems like EXT3 and EXT4 had Windows and OSX drivers developed more readily? It seems like that'd fix this issue pretty handily.

Probably because Microsoft can create the standard due to their huge market share and they know that everyone will have the license the system. It's all about money. Like a lot of large companies, they don't really care about what is best for the customer and are more concerned about money and locking customers into their platforms. With more things moving to the cloud, this is becoming much less of an issue, but there are still cases where you are without connectivity and would still like to share. Bluetooth 4 and above will perhaps change this eventually where there won't really be a need to have a card reader and you can just stream the data off the device directly. Personally, I would worry about the case of the device failing before I could transfer the data if that's in a proprietary format, however I do dream that perhaps then it will make sense for manufacturers to start using freely-licensed filesystems on devices instead of locking people into the patent-encumbered crap like exFAT.

No journaling and no permissions support? Really? Rotflmao. A typical quality MS-product, as it seems.

This is meant to go on embedded devices where people don't want to waste resources on that stuff...by all means, every system has a higher level filesystem for more important stuff, so don't use it if you don't want it.

Anyone know if Smart TVs and Blu-Ray Players can read exFAT? I have a portable HDD I use to get digital movie files to my Samsung TV, currently formatted in NTFS. If I could use exFAT, that would solve interoperability issues I have with Macs and PCs.

EDIT: Found the user manual online, and it supports only FAT16, FAT32, and NTFS. My model is older (2010), so perhaps newer models support exFAT but, alas, I'm out of luck.

The big benefits to exFAT come when you compare it to FAT32. The nice thing about using it on portable media is that it's generally faster and less overhead as it requires less metadata than NTFS to store files. I'm pretty sure it's not using a B-Tree setup.

It's not really meant for constant I/O that NTFS was built for, so it's good. I use bitlockered exfat drives for all of my portable media.

Why haven't Linux filesystems like EXT3 and EXT4 had Windows and OSX drivers developed more readily? It seems like that'd fix this issue pretty handily.

Ext3 is fully backwards compatible with Ext2, which has 3rd party support in OS X. In fact I'd bet just about every OS out there will support Ext2.

Microsoft doesn't want Ext2 to catch on (they want to force everyone to pay them for exFAT licenses), so don't expect them to include support in the OS. That said, EXT2FSD works amazingly well. Just install it, and you'll have full access to EXT2 and EXT3 formatted disks from your Windows system.

No journaling and no permissions support? Really? Rotflmao. A typical quality MS-product, as it seems.

This is meant to go on embedded devices where people don't want to waste resources on that stuff...by all means, every system has a higher level filesystem for more important stuff, so don't use it if you don't want it.

But the author used it as a "higher level" filesystem. That was the point. No journaling and no permissions are sort of important.

Why haven't Linux filesystems like EXT3 and EXT4 had Windows and OSX drivers developed more readily? It seems like that'd fix this issue pretty handily.

Ext3 is fully backwards compatible with Ext2, which has 3rd party support in OS X. In fact I'd bet just about every OS out there will support Ext2.

Microsoft doesn't want Ext2 to catch on (they want to force everyone to pay them for exFAT licenses), so don't expect them to include support in the OS. That said, EXT2FSD works amazingly well. Just install it, and you'll have full access to EXT2 and EXT3 formatted disks from your Windows system.

Isn't that the problem though? What if you want to install windows on to an exFAT drive?

Anyway I've been thinking some about this, and iirc ZFS showed some promise. I haven't read about this stuff in a while, how is that? As of now I use NTFS on almost everything because it just works. Some stuff still require Fat32 though, but that is generally media players and internet radios and stuff. Some TV sets and media boxes still only do Fat32 afaik, but overall NTFS is the way to go now. For me anyway.

Another issue is that NASes might not support exFAT directly, such as Synology. I've been using exFAT for about half a year or so on an external drive, and it does make things easier to move between OS X and Windows. However, I'm trying to find a good solution that bridges the gaps between the two environments for the NAS and it's looking like NTFS might have to be it.

UDF would be a great candidate for a light weight, cross platform filesystem for removable media if the linux driver for it were more up to snuff. No obvious patent encumberances, supported on windows back to XP, OSX for quite a while as well. Just the linux implementation is only good up to version 2.0 or so.

The crux of the entire issue falls upon a single sentence in the article:

Quote:

By default, OS X reads NTFS volumes but can’t write to them.

Everything can talk NTFS very easily. Hell, even my Samsung smart TV can read an NTFS flash drive. The problem is that Macs can't write to NTFS volumes without third-party software. Solve that issue and you've got a mature, widely-accepted filesystem that everyone can use. Works great on portable and network storage.

The real question is: why can't they? Only Apple can answer that, but I'd wager at the moment that the limitation is more anti-competitive than technical.

exFAT is a license encumbered POS that MIcrosoft is pushing so it can get FAT32 out of the ecosystem and collect more licensing fees.

Use ext2 for external media and you won't have a problem. Windows drivers exist and it's supported by any Linux, BSD, OS X and Solaris out of the box.

Meanwhile, outside of geek-dreamland...

...99% of users have neither any idea how to manually install a Windows driver nor the ability to go beyond "your disk is broken". If you want to use it internal to your household or your *nix/geeky friends it's a reasonable option; but it won't ever work for a general use case.

No journaling and no permissions support? Really? Rotflmao. A typical quality MS-product, as it seems.

Why are people downvoting this?

It is unconscionable that a relatively new file system format does not have Jounaling, NTFS-class permissions, or Encryption BUILT IN.

Take it up with embedded systems designers who've always gone for the simplest common denominator FS which lacks all of those. By taking FAT32 and removing the capacity limits that were making it unsuitable for newer systems MS gave its customers exactly what they wanted with exFAT.

All this does is illustrate how far Microsoft hasn't come. In the past few years, they've paid an increasing amount of lip service to open standards and better interoperability, but given half a chance, they develop a proprietary closed system to milk out patent fees, and stifle competition.

I'm having trouble seeing this as anything but a step backwards. Meet new Microsoft, same as the old Microsoft.

No journaling and no permissions support? Really? Rotflmao. A typical quality MS-product, as it seems.

Why are people downvoting this?

It is unconscionable that a relatively new file system format does not have Jounaling, NTFS-class permissions, or Encryption BUILT IN.

Because exFAT was built for the places where FAT32 is typically used today (embedded devices, flash, personal portable devices) without the limitations that FAT32 has with respect to things like file size, volume size, and so on.

Honestly, how many people here have their USB sticks or SD/MMC Cards partitioned with NTFS so they can use journaling and permissions? With NTFS the user is stuck with having to use "Safely Remove Hardware" or Eject on the Mac. If you're really unlucky on Windows, some driver has stuck a handle open on the volume and you can't finish the unmount until you restart!

The big problem with exFAT is that it's not very portable to different types of systems. Sure, there's an XP driver available, but if the system you just walked up to doesn't have it installed you have to come up with another way to get the driver installed and reboot before you can even start to do what you wanted.

The really nice thing about NTFS is that since at least read support is either built in or really readily available on most operating systems, you can leave drivers on the device itself and install them when you first use a new system.

UDF would be a great candidate for a light weight, cross platform filesystem for removable media if the linux driver for it were more up to snuff. No obvious patent encumberances, supported on windows back to XP, OSX for quite a while as well. Just the linux implementation is only good up to version 2.0 or so.

Except that XP won't write to USB sticks or hard drives formatted as UDF. Even if it could, its UDF support only went up to 2.01 without 3rd party software. The last time I looked, getting around those limitations on XP was expensive.

Now, if you remove XP from the equation, things look a lot better. At least as far as sharing between Mac & Windows goes. I'm surprised the author didn't look into UDF more and include it in the article. For just sharing between modern versions of Windows and Mac it should be a worthy contender.

I just don't get it why aren't they pushing it further. They're much much bigger than MS in the consumer electronics arena (mobile, photography, tv, etc.). Imposing that standard at least on their own hardware would seem the right thing to do. Forcing the industry to an open, no patent-encumbered standard can only be a good thing.