12

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.

  • 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
13

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 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.

  • 2
    "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
  • Are things any better now regarding the support of NTFS on Linux? – Royi May 13 '18 at 11:43
  • @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
3

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

  • 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
  • I 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. – Johan Myréen Apr 7 '17 at 11:43
  • 1
    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
0

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.

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.
0

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.