exFAT vs NTFS on Linux
Solution 1
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.
Solution 2
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
Solution 3
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
Solution 4
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.
Related videos on Youtube
Timothy Wong
Updated on September 18, 2022Comments
-
Timothy Wong over 1 year
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.
EDIT 18/9/2021: NTFS is now being integrated into the Linux kernel (soon), and perhaps this will mean that NTFS performance will be much faster due to the lesser overhead than when it was a userland module.
-
Timothy Wong about 7 yearsSay if now I compare UDF with exFAT would there be a performace diference?
-
Johan Myréen about 7 yearsSorry, I don't have any performance figures.
-
Stefano Balzarotti about 7 yearsI suggest to read this: askubuntu.com/questions/27936/…
-
Andrea Lazzarotto about 7 years"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.
-
Stefano Balzarotti about 7 years@AndreaLazzarotto, true, but personally I do not trust to repair NTFS on Linux.
-
Andrea Lazzarotto about 7 yearsI was talking about recovering, not repairing. :P
-
Johan Myréen about 7 yearsI don't have any of the interoperability problems between Linux and Windows user Argo reported on askubuntu.com. UDF drive formatted on Linux: works on Windows 7, Windows Server 2012 R2, and Windows 10. UDF drive formatted on Windows 10: works on Linux. I tried with both a 8GB USB stick and an external hard drive. The drives have GPT partition tables. I don't have a Mac to try this on.
-
Meow about 6 yearsI 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.
-
Johan Myréen about 6 years@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?
-
Royi about 6 yearsAre things any better now regarding the support of NTFS on Linux?
-
Stefano Balzarotti about 6 years@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 almost 5 years@poige Thank you for editing, I am not so good with English, but I don't like very much what you edited. 1) Is it true that journaling is not related to ease of repair in case of corruption. 2) Journaling exist to protect file system integrity in case of power failure, system crash, and many other causes that can prevent the disk to complete a writing transaction (unclean shutdown is just the most common case) 3)For these considerations I still think that exfat is not reliable.
-
Stefano Balzarotti almost 5 years4)Filesystem corruption can happens for a lot causes, it's not related only to journaling, for example corrupted sectors, controller failures, etc... 5)It is true that without journaling you need full checking in case of unclean shutdown, but that doesn't mean that you can recover the files. In case of failure data is lost in most common cases, and you can't fix. 6)In case of damaged disk, corrupted data, or many other causes (don't think to journaling) there a lot of tool that are able to recover data well on NTFS, for example GetDataBack, but the same tools works very bad on exFAT
-
Stefano Balzarotti almost 5 years7) Common case in my personal experience, with exfat I recover data from corrupted disk losing path, name and extension of the file. With NTFS in most case I am able to fully recover the file with name, path and extension. 8) For these considerations, I still think that with NTFS is more easy to recover lost data than with exFAT.
-
poige almost 5 yearsJournaling 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.
-
Hermann over 4 yearsFor proper interoperability on all of the big three OSes, you need the UDF file-system on device-level and an additional overlapping partition. github.com/JElchison/format-udf/blob/master/format-udf.sh does this for you.
-
Timothy Wong over 4 yearsThis 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.