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.

  • There are various factors over which file systems may differ, some of which include the methods and data structures used by the file system. There can be multiple ways of organizing your stuff in your room. Similarly, there can be multiple ways of organizing the data on a storage device. This is what allows for the existence of various different file systems. Now, we’re going to go deeper into how file systems work and explain some of their technical aspects. You can read the entire post here. exFAT vs ntfs – Rakesh Raushan Jul 3 '18 at 3:02

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.

| improve this answer | |
  • 3
    "In case of corruption, NTFS can easily repaired under windows and there are lots of tools able to recover lost files" This sentence could be misunderstood as stating that you would need Windows to recover the files, which is not really the case. :) Also, another good point of NTFS vs exFAT is that some devices like older Smart TVs do not support exFAT while they support NTFS. – Andrea Lazzarotto Apr 6 '17 at 15:08
  • @AndreaLazzarotto, true, but personally I do not trust to repair NTFS on Linux. – Stefano Balzarotti Apr 6 '17 at 15:37
  • I was talking about recovering, not repairing. :P – Andrea Lazzarotto Apr 6 '17 at 16:56
  • 1
    @royi I use NTFS on Linux by years and I never had problems. But this is only a personal experience. NTFS is a proprietary file system and I find myself unable to say that is safe on Linux. In any case as I said NTFS is journaled and it's easy to repair and recover data losses. – Stefano Balzarotti May 14 '18 at 17:11
  • 1
    Journaling doesn't ease recovery needed due to corrupted sectors no matter like you that or you don't. That's why I edited your text — it was simply incorrect. I didn't touch a thing in regards NTFS though. – poige Jul 6 '19 at 17:24

I suggest you give UDF a try. UDF is an open, vendor-neutral file system that was originally designed for use on optical disks, but can be used R/W on other drives too, including USB drives. UDF supports a maximum file system size of 2 TB (with a block size of 512 bytes), it supports long Unicode file names, and keeps record of file times.

Windows apparently requires the disk to be partitioned, and the file system should be created with media type hd and a block size of 512:

mkudffs --media-type=hd --blocksize=512 /dev/sdxN

| improve this answer | |
  • Say if now I compare UDF with exFAT would there be a performace diference? – Timothy Wong Apr 4 '17 at 13:09
  • 1
    Sorry, I don't have any performance figures. – Johan Myréen Apr 4 '17 at 16:02
  • 2
    I suggest to read this: askubuntu.com/questions/27936/… – Stefano Balzarotti Apr 5 '17 at 20:51
  • 3
    I am strongly against using UDF under any circumstances even if it is sort of a decent cross-platform fs. First, if you format the whole disk as UDF, only Linux and Mac will recognize the drive, but not Windows, if you format a partition, Windows will work but Mac will fail. Second, both Linux and Mac lack fs checking and repairing tools for UDF, and I also not sure the one from Win would actually work. If you care about data safety, don't use UDF at all.Third there are also some compatibles issues between different versions of UDF across different OSs. – Meow Apr 22 '18 at 13:14
  • 1
    @Meow Mac and Windows do not seem to agree whether the disk should be partitioned or not, but Linux can handle both. So, yes, you have to choose if you want your disk to be interoperable with Macs or with Windows. I'm not sure if the repairing tools situation is any better with other file systems. For example, there is a tool for exFAT for Linux, but it can only check, not do any repair. Both NTFS and exFAT are Microsoft proprietary filesystems, whereas UDF is an open, vendor neutral filesystem. Every solution has its drawbacks. What is your choice for a cross-platform fs? – Johan Myréen Apr 22 '18 at 14:05



what you need in linux is ntfs-3g from tuxera.com. It is open-source, and included with many linux distributions, however...

Being a SLES 11.4, and RHEL 6.9 to 7.6 user, my experience with windows 10 is that something has changed in how the NTFS system is done (compared to win7) where older versions of ntfs-3g which come with your linux distro do not work with NTFS coming from win10. So you need to download and install the latest version which currently is ntfs-3g_ntfsprogs-2017.3.23, released on March 28, 2017 from their website; with that then having NTFS formatted drives coming from Windows 10 (as opposed to win7) works without issue.

  • Like was said using EXT2FSD on windows to read linux EXT file systems is not great, nor does it help if you use BTRFS or XFS. I also found it to be problematic. Definitely better/easier to make linux read NFTS rather than windows read linux filesystems.
  • Depending on what you are doing using EXFAT may be fine and is widely compatible: I am not aware of any linux distro that doesn't support it. If you are a casual user... handful of various data files (like .mkv movie files, .doc, .xls, .ppt, .txt, .jpg) to go between windows, linux, your tv then no worries with exfat.
  • Real problem arises when you have an operating system disk that is win 7/8/10 which must be NTFS (can't be exfat) and you cannot change that so how do you mount it as read/write in linux? Answer is latest version ntfs-3g. My tv now reads a 32gb usb formatted as NTFS.
  • I routinely boot my work oriented computer using a linux disk on sata-1 while having my win10 home SSD on sata-0; and have linux via ntfs-3g mount my win10 disk so I can read/write files when convenient; with the latest ntfs-3g I have had no problems with win10 booting afterwards provided win10 fast startup is off or unchecked otherwise a common result was the ntfs dirty flag getting set resulting in a disk check on windows boot.
| improve this answer | |

I, unlike the other answerers, use exFAT. I'm not an overly serious user, but it is a bit annoying to have to install exfat-fuse on a fresh install.

An additional benefit of NTFS is full support in the best partition manager, gParted. Find out more at https://gparted.org/features.php

That's why I'll switch to NTFS soon for my 150GB internal Shared partition which I need to access from Linux distros and Windows 10.

As for EXT4, Ext2Fsd is not my favourite tool, and it's not easy to use.

One problem with NTFS, though, is fsck. ntfsfix is nowhere near as good on NTFS, and in the end you get headaches with paid, proprietary software in Windows

| improve this answer | |

I can't believe that no one has suggested this, but: try regular old VFAT. This works everywhere and is tried-and-true.

It's not super-great for performance, but neither are USB flash drives.

| improve this answer | |
  • This is correct, but not future proof. VFAT (or FAT32) has a file size limit of 4GB, and a partition limit of (some number that I forgot) GB. Would go for NTFS nowadays for robustness. – Timothy Wong Jan 14 at 6:51

Your Answer

