Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I use Linux and Mac OS X on a regular basis, and sometimes I have to use Windows. I need to use a flash drive on all three, and I need a filesystem that will work well on all of them. None of the ext's work on Mac or Windows, HFS+ doesn't work on Windows (or well on Linux), NTFS is read-only on Mac, and FAT sucks on all OSes. Is there a file system that would work reasonably well on all operating systems? I'd like it to work without drivers or additional installations, so it can be used on any computer.

share|improve this question
Here is the answer: Cross-platform file system – Marco Dec 27 '12 at 16:24
@Marco I'd like it to work without drivers or additional installations, so it can be used on any computer. – tkbx Dec 27 '12 at 16:25
If you want files larger than 4GiB there's just one choice, UDF. – Marco Dec 27 '12 at 16:27
@Marco I don't see that in GParted, how can I make a UDF partition? – tkbx Dec 27 '12 at 16:33
With mkudffs from the package udftools. – Marco Dec 27 '12 at 16:46
up vote 23 down vote accepted

UDF is a candidate. It works out-of-the-box on linux >= 2.6.31, Windows >= Vista, MacOS >= 9 and on many BSDs.

Note: UDF comes in different versions, which are not equally supported on all platforms, see Wikipedia - Compatibility.

UDF can be created on linux with the tool mkudffs from the package udftools.

share|improve this answer
Wait, Vista and later will recognize UDF on flash or regular hard disks? Last time I tried that I guess it was XP thought it was only for optical media. That's good news. – psusi Dec 27 '12 at 21:05
I don't have a windows to test, but I would assume that it works for both. If the OS contains a driver to read UDF what would be a reason to not use it for a particular storage backend technology? And what would happen if the regular disk is a flash drive? Well, I guess in that case it works just sometimes. – Marco Dec 27 '12 at 21:49
I assumed the same thing but last time I tried it, Microsoft stupidly refused to recognize it on a hard disk/flash drive, even though they could on a cdrom. – psusi Dec 27 '12 at 22:52
@Marco I'm afraid that for Windows the implication "have a fs driver" => "will work on any media" is not guaranteed. Why that is is another question, but I just wouldn't take it for granted. It would expect it to work for DVD-RAM for though. – peterph Dec 28 '12 at 9:30
Since September 2006 due to CVE-2006-4145 kernel has disabled writing extents larger than 1Gb in size. In order to write files larger than 1Gb UDF driver should be updated to write more extents for a file. This has not happened till present (2015), so on linux UDF has been even worse than FAT32 for years. – Zart Mar 21 '15 at 10:05

Without troubles, use FAT32. There is no other compatible possibility. Linux since version 2.6.xy has no more problems with NTFS, but Mac OS does...Maybe you could make more partitions at your flash, but this is actualy not great solution.

Other solution: Try to imagine you have 4GB flash memory. Split it to 2 partitions. 1) FAT32 with freeware portable applications to access all other FS types. 2) Universal partition, which can be whatever you want - NTFS, ReiserFS (if you want real security and encryption) or whatever. Thanks first partition of your flash memory, you can easily read/write from whatever OS, because of programms you have stored at your FAT32 partition of your flash memory.

Better solution: Forget using a flash drive. Use Dropbox or something through network. They are one of the simplest ways of sharing files between machines.

edit: Thank you for correction: let me write one of comments here: " the maximum size depends on the selected cluster size. The limits really are from 2TB to 16TB for cluster sizes 512B to 4KB for FAT32 (also mentioned on the wikipage)." That is right, excuse my mistake.

Thank you peterph

share|improve this answer
I agree. If you have to use a USB stick, FAT32 is really your only choice. Note that limits you to 4 Gb per partition. – fpmurphy1 Dec 27 '12 at 22:56
No, that is not truth. FAT32 limits only maximum filesize to 4GB, but I have seen FAT32 partitions sizes more than 200GB. So maximum size of FAT32 is 512GB per partition. look here: en.wikipedia.org/wiki/File_Allocation_Table – MIrra Dec 28 '12 at 0:52
@MIrra but a 640GB HDD of mine came as FAT32... – tkbx Dec 28 '12 at 3:28
@MIrra the maximum size depends on the selected cluster size. The limits really are from 2TB to 16TB for cluster sizes 512B to 4KB for FAT32 (also mentioned on the wikipage). – peterph Dec 28 '12 at 9:22
I'm sorry. You're right! Thank you. – MIrra Dec 28 '12 at 20:21

Since you have cut it to the filesystems supported by OS X and Windows out of the box, I'm afraid the least common denominator is FAT32. exFAT might be an option if you can relax the requirement and accept using FUSE - it is patent encumbered and hence it isn't going to make it to kernel till 2029 or until Microsoft grants the patent on royalty-free basis, whichever happens first.

share|improve this answer
Now, I just have to wonder why Apple and Microsoft can't get off their proprietary horse and support ext. – tkbx Dec 27 '12 at 16:48
@tkbx It would mean more work for them (to get such code from scratch up to their standards), and not many users are complaining, I guess (and by "many" I mean "big corporate users that could cause bad publicity"). Those that do complain usually decide to use some open-source solution as an add-on (i.e. thay don't have the requirement for it to work without any additional software). – peterph Dec 27 '12 at 16:55
Also, let's hope there isn't a Windows in 2029. – tkbx Dec 28 '12 at 3:34

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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