How to Format your Hard Drive (HDD) for Mac OS X compatibility with the correct exFAT Allocation Unit Size.

TL;DR version
For Mac OS X to read-write exFAT formatted HDD, two options

  1. Format using Mac:
    1. Disk Utility ->
    2. Erase ->
    3. choose exFAT ->
    4. OK
  2. Format using Windows:
    1. My Computer ->
    2. Right Click HDD ->
    3. Format ->
    4. choose exFAT ->
    5. AUS 128 kilobytes->
    6. Start

Turns out exFAT exists so that Mac and Windows can co-exist harmoniously. There are many forum discussions and how-to articles out there recommending exFAT if you want to share files between Mac and Windows.

What most of them failed to mention is the correct allocation unit size / cluster size necessary for the harmonious relationship to work. Most of them talked about what the allocation unit size does, which might be misleading for the purpose of getting it up and running seamlessly.

My Story
I want to use an external HDD as the scratch disk for a video editing project on a Mac OS X 10.7.5. But my files are on my Windows 8.1 laptop HDD, which was formatted in NTFS. By default, Mac OS X can only read but not write to NTFS HDD. Of course there are NTFS read-write solutions out there for Mac. Among them Tuxera NTFS, Paragon NTFS, or NTFS-3G FUSE.

Disclaimer: I have not tried Tuxera or Paragon. I used NTFS-3G FUSE from 2009-2013 on my Macbook Snow Leopard, so far so good. I have not tried it on later versions of Mac OS X. There is a high chance of it not working on OS X 10.7 and later (see Known Issues).

Then I found out that if I format the HDD in exFAT, it should work for both Windows and OS X. I figured that since most of my files are videos with BIG file sizes, I chose 4096 kilobytes for the AUS. It formatted nicely. But lo and behold, OS X doesn’t even recognize the HDD. I tried to force mount it but nope, it doesn’t work.

So I figured that if I use OS X’s Disk Utility to format, it should work for both Mac and Windows. This time it works! Turns out Disk Utility formatted the HDD with 128 kilobytes AUS (131072 bytes divide by 1024).

chkdsk to check allocation unit size. Divide by 1024 to get kilobytes (KB)
chkdsk to check allocation unit size. Divide by 1024 to get kilobytes (KB)

Just for kicks, I used Windows to format it again with AUS 128 kilobytes. Yeap, it works.

128 kilobytes is the harmonious constant between Windows and Mac OS X 10.7.5. Use 128 kilobytes AUS while formatting a HDD so that it works for both Windows and Mac OS X.