Linux Filesystems – exFAT vs NTFS on Linux

filesystemslinuxntfsvfatwindows

Situation: I need a filesystem on thumbdrives that can be used across Windows and Linux.

Problem: By default, the common FS between Windows and Linux are just exFAT and NTFS (at least in the more updated kernels)

Question: In terms of performance on Linux (since my base OS is Linux), which is a better FS?

Additional information: If there are other filesystems that you think is better and satisfies the situation, I am open to hearing it.

EDIT 14/4/2020: ExFAT is being integrated into the Linux kernel and may provide better performance in comparison to NTFS (which I have learnt since that the packages that read-write to NTFS partitions are not the fastest [granted, it is a great interface]). Bottom line is still — if you need the journal to prevent simple corruptions, go NTFS.

Best Answer

Both exFAT and NTFS are Microsoft proprietary filesystem. exFAT, also called FAT64, is a very simple filesystem, practically an extension of FAT32, due to its simplicity it's well implemented in Linux and very fast.

But due to its easy structure, it's easily affected by fragmentation, so performance can easily decrease with the use.

exFAT doesn't support journaling thus meaning it needs full checking in case of unclean shutdown.

NTFS is slower than exFAT, especially on Linux, but it's more resistant to fragmentation. Due to its proprietary nature it's not as well implemented on Linux as on Windows, but from my experience it works quite well. In case of corruption, NTFS can easily be repaired under Windows (even for Linux there's ntfsfix) and there are lots of tools able to recover lost files.

Personally, I prefer NTFS for its reliability. Another option is to use ext4, and mount under Windows with extfsd, ext4 is better on Linux, but the driver is not well implemented on Windows. Extfsd doesn't fully support journaling, so there is a risk to write under Windows, but ext is easier to repair under Linux than exFAT.

Related Question