95

I would like my external drives to be readable and writable from Linux, Mac OS X and Windows.

FAT32 works, but the 4 GB file size limit is a showstopper these days. Are there any alternatives?

1

11 Answers 11

50

As Breakthrough said, use NTFS. In both Mac OS and Linux, you can use NTFS-3G to enable read/write to an NTFS partition.

On OS X, NTFS-3G can also be installed through Homebrew for free with brew install ntfs-3g. You also need Fuse for OS X, but that's it.

These projects are free, open-source and mature. I've used this setup on a Mac and I've had no problems accessing data from an NTFS partition.

9
  • 24
    A word of warning: Not all operations are supported by the ntfs-3g driver. en.wikipedia.org/wiki/NTFS#Linux "Due to the complexity of internal NTFS structures, both the built-in 2.6.14 kernel driver and the FUSE drivers disallow changes to the volume that are considered unsafe, to avoid corruption." I had the good fortune to experience this: My NTFS drive once froze in mid-operation. I finally unplugged it and reattached it, and ntfs-3g wouldn't touch it since then. I finally had to attach the NTFS drive to a Windows box and boot, then plug it back into the Linux box, to get it working.
    – user4358
    Commented Sep 22, 2009 at 15:25
  • 3
    Well, if you consider the ntfs format was all reverse-engineered, it's still pretty stable. Granted, it will probably still have a few quirks. Did you lose any data?
    – alex
    Commented Sep 22, 2009 at 16:20
  • 3
    No, thankfully there was no data loss. It just irked me that I couldn't get the drive to work without attaching it to a Windows host first. I'd hoped that I could atleast force-mount the drive. I've since reverted to using fat32 when I need cross-platform compatibility, as I find the 4GB limit more palatable. But that's just me. I'll agree on the stability part though; I've never feared data corruption when using ntfs-3g.
    – user4358
    Commented Sep 23, 2009 at 10:39
  • 4
    Also, NTFS is vastly unsupported or barely stable outside of the big 3. For instance, OpenBSD has sorta stable read-only support, but write-only is very unstable. I'm sure there are other OSs with the same problem due to it being a proprietary FS
    – Earlz
    Commented Dec 28, 2012 at 7:45
  • 1
    @nagul, How would you know that you don't have any data losses?
    – Pacerier
    Commented Nov 23, 2014 at 9:45
44

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.

Related question: Using UDF on a USB flash drive

9
  • 3
    This seems to be the best method for me. It works on Windows, Linux, and Mac just fine.
    – Vortico
    Commented Nov 25, 2012 at 19:12
  • 1
    For best compatibility make sure you use the right formatting options, read this thread: serverfault.com/questions/55089/…
    – MarcH
    Commented Sep 28, 2013 at 14:19
  • It seems that Linux only supports UDF write up till version 2.05: git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/fs/… :(
    – Gerry
    Commented Sep 22, 2015 at 4:16
  • @Gerry It works here without problems: truncate -s 100M udf.img && mkudffs udf.img && mount udf.img /mnt && echo foo > /mnt/foo && umount /mnt && uname -r → 3.16.0-4-amd64
    – Marco
    Commented Sep 22, 2015 at 5:04
  • 1
    @Calmarius Yes it does. Use revision 2.01 if you want to write on Linux.
    – Matt
    Commented Mar 16, 2017 at 0:46
16

The simple answer is- no. There is no lowest common denominator across these OSes aside from FAT32.

By lowest common denominator, I mean built-in filesystems. For add-ons, you're on your own.

4
  • 1
    It's not that hard to find alternatives :)
    – alex
    Commented Sep 22, 2009 at 14:33
  • 12
    If one wants to plug the drive into an arbitrary compute, previously unconfigured, whether alternatives are possible is a moot point.
    – EmmEff
    Commented Sep 22, 2009 at 14:36
  • 4
    UDF is the lowest common denominator. Except for embedded systems, all current PC OSes have built-in support for UDF
    – phuclv
    Commented Oct 24, 2013 at 0:33
  • 1
    UDF does not work for Chromebooks. See here: support.google.com/chromebook/answer/183093?hl=en Commented Aug 9, 2017 at 18:31
15

try exFAT, which becomes available for more and more OSes. Accordings to the linked wikipedia article (see sources) there's an open source kernel module for linux in development. OS X supports it since 10.6.5, Windows supports it since Vista. There are updates for oler Microsoft OSes.

exFAT supports large files.

3
  • 7
    exFAT isn't really available on Linux systems.
    – polemon
    Commented Sep 2, 2011 at 16:59
  • 4
    Actually it seems that exFAT has read/write support on Linux. You just can't create exFAT volumes. However I do not know how good the support is. At least its developers say that it is still in beta.
    – user154727
    Commented Aug 27, 2012 at 8:45
  • 1
    I think exFAT is the best answer post 2019 (when the spec was opened) as it appears to be supported in all the major OSes natively (even chromebooks read/write!) since it is the SDCARD standard now, and for minor OSes it's still possible. Only complication is that some BIOSes won't boot a USB stick in exFAT (while FAT32 will work) but NTFS is also frequently not bootable on those systems, and that wasn't a requirement of the poster anyway. exFAT FTW at the moment.
    – Mike Hardy
    Commented Jun 10, 2021 at 15:30
10

Well you have two solutions. Many Linux distributions include tools for reading and writing to NTFS drives...

An alternative would be to use Ext2. There is a windows utility which integrates the filesystem with the Windows operating system. I think this would be your ideal solution:

It installs a pure kernel mode file system driver Ext2fs.sys, which actually extends the Windows operating system to include the Ext2 file system. Since it is executed on the same software layer at the Windows NT operating system core like all of the native file system drivers of Windows (for instance NTFS, FASTFAT, or CDFS for Joliet/ISO CD-ROMs), all applications can access directly to Ext2 volumes. Ext2 volumes get drive letters (for instance O:). Files, and directories of an Ext2 volume appear in file dialogs of all applications. There is no need to copy files from or to Ext2 volumes in order to work with them.

2
  • 4
    Valid solutions if one can and is willing to install these third-party tools on the target machines.
    – EmmEff
    Commented Sep 22, 2009 at 14:55
  • That would be a nice solution is OSX could natively support Ext2. But using Ext2, AFAIK, would mean that you have to install a driver on Windows and Fuse on OSX.
    – Rolf
    Commented Apr 11, 2018 at 16:41
9

Mount your external drives to a server with NFS and Samba.

6

FAT32 is something that you can be sure of to work almost anywhere.

I struggle from the file size limit, which by today's standards isn't that large anymore. Since exFAT isn't available on Linux yet, I was looking for alternatives, and it's really hard to find something suitable.

UDF was once meant to be a cross platform and cross media filesystem, but it kinda got forgotten. There is an option to format UDF for hard drives, which is quite suitable for removable drives, but from what I experienced, support on Windows is minimal, if at all. I don't know if Windows 7 supports UDF drives other than BluRay discs.

I settled on using NTFS for my external drives, that need to be plugged in into Windows computers, as well as Linux computers. For my removable drives, that are mainly, if not only used on Linux computers, I use XFS.

The same problem applies to encryption as well: I use LUKS on Linux, which has some support on Windows. TrueCrypt can't be integrated into Linux systems too well, compared to LUKS, so I settled on that one.

2
6

ZFS is the best option for popular modern operating systems in wide use as of 2020. See the OpenZFS implementation which includes support for OSX/macOS, Linux, FreeBSD and apparently Windows now also: https://en.wikipedia.org/wiki/OpenZFS http://www.open-zfs.org/wiki/Main_Page

It should be possible to use a virtual machine which has device access on unsupported platforms however this is becoming less of an issue.

I've used zfs ssd's with encryption on the Raspberry Pi 4, MacOS, Linux including Ubuntu 20, Catalina and prior versions.

1
1

As of 2021, I would say ext4, which is native to Linux.

For Windows, since window 10 with WSL you can easily mount it and visit it in File Explorer.

For macOS, you can use ext4fuse for a read-only access (for safety) or other options see how-can-i-mount-an-ext4-file-system-on-os-x

1
  • And I believe that in Windows 11 you can also mount ext4 in a way that makes it accessible from the Windows side
    – Michael
    Commented May 19, 2023 at 0:04
0

I'd suggest the use of exFat file system because I formatted a 120GB Harddisk partition with exFat and it works perfectly with macOS, Linux, and Windows.

1
-2

To be honest, there is no file system like that. NTFS is read/write mode for Linux/Mac but it is not advisable for Linux installation. In fact, I didn't see anyone installing Linux on NTFS. Linux is usually installed on ext2/ext3 filesystems. FAT32 may work right now, but future releases of Windows like with Windows 7 will not work.

You can read/write on the Linux partitions while working on Windows using some of the softwares/drivers mentioned here.

http://www.helpfolder.com/2009/08/27/how-to-access-linux-partitions-from-windows/

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .