Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

Is there a safe, stable application for reading from and writing to ext4 file systems on Mac OS X?

If not, what's the best way to access the contents of an ext4 file system on Mac OS X?

share|improve this question
It would be more than helpful if you specified what version of OS X you are running. There are compatibility issues with the solutions available depending on OS revision. –  kopischke Nov 1 '11 at 8:30
Added an answer taking different OS versions into account. –  kopischke Nov 1 '11 at 21:54
Take a look at this related question apple.stackexchange.com/questions/29842/… –  Pierz Dec 15 '14 at 21:58

9 Answers 9

up vote 42 down vote accepted

The answer depends on you willingness to invest in commercial software:

If you don’t mind spending some money on a commercial product, Paragon’s ExtFS driver will give you read and write access to ext2 / ext3 / ext4 file systems. Version 9 supports all versions of OS X from 10.5 to 10.10.

If you are looking for a free solution, you can setup a Linux virtual machine, mount your volume(s) there and share it / them via Samba or (S)FTP. This post has some details on how to achieve this using the free VirtualBox. Note this is not exactly a lightweight solution, even if using a prebuilt VirtualBox VM will spare you installing and configuring a Linux distro from scratch.

share|improve this answer

Building on Ken's answer: I used fuse4x and fuse-ext2 successfully, and I recommend fuse-ext2 over ext4fuse.

ext4fuse was a hassle for me, because it requires manual compilation and has no support for fuse4x options that would allow me to set access control. fuse-ext2 provides downloadable packages, and the 0.0.7 version worked just fine. I copied a few large ISOs over without any problem.

share|improve this answer
The fuse4x link is dead, it links to a construction site. Is there any other website? –  Richard J. Ross III Jul 26 '13 at 13:31
Use fuse-ext2 :) –  pwnall Aug 2 '13 at 0:53
@RichardJ.RossIII if you google it, it comes up as fuse4x.github.io –  tekknolagi Aug 23 '13 at 0:16
From the fuse4x site (in case it disappears): 'To avoid confusion developers of Fuse4X have decided to merge the project into OSXFUSE' –  reevesy Jun 7 '14 at 13:29

You may be interested in fuse4x and ext4fuse, though the latter is read-only for now.

Others viewing this question may be interested in libguestfs. I'm not aware of an OS X port, but considering that VirtualBox has an API, it's not out of the question.

I wonder why no one has written a compatibility layer to allow Linux kernel filesystem code to run in userspace/fuse. Or has someone?

share|improve this answer

One can also install OSXFUSE completely via the brew command line package manager:

brew install ext4fuse

Note that the installation tells certain commands need to be run as 'sudo' in addition to this.

With Yosemite better have a look at this. And then make sure the directory is readable by your user by doing this. For it to work I had to use the wheel group like this:

sudo dscl . append /Groups/wheel GroupMembership <your-user>
share|improve this answer
To mount use ext4fuse <device> <mountpoint> –  Eun Jan 15 at 9:31

I had an ext4 formatted USB drive that I was able to mount after I installed osxfuse. Reading from it works great, but I am not sure if writing is safe.

Also, for moving files from OS X's filesystem (HFS+) to ext4, you may first want to remove those hidden .DS_Store files the OS X filesystem sneaks in as they occasionally cause bad inodes.

find /my/data/to/move -name '*.DS_Store' -type f -delete

It is better than having to fix them after with an fsck command.

share|improve this answer

There is also e2fsprogs available in MacPorts. I haven't tested it yet myself but looks promising.

share|improve this answer

Just for the record, I have tested Paragon ExtFS driver (trial version) on my MacBook Pro to write to ext4 partition in Linux. I found that the driver was very unstable, and it created corruptions to the filesystem that fsck was not able to repair neither in Linux nor in Disk Utility.

My idea was to have access to my /home partition from Mac OS X using this Paragon driver, but I don't suggest to do this setup. So far, I have my /home partition in Linux formatted to hfsplus with no journaling, and then I can access my files from Mac OS X. Of course, from time to time I get some problems in my FS but is not very frequent. However, I don't suggest this setup either (at least that you have an up to date backup for your daily work).

Finally, I believe that Paragon is more suitable maybe to use for external hard disks but anyways it is not very reliable for being software which license is expensive.

share|improve this answer
I can confirm the last entry here where the Paragon ExtFS driver can make some bad trouble on your linux drives. For me, who is dualbooting OSX and Linux, paragon created corruptions on my / device. This was easy to resolve but however thats not a stable solution... –  user67382 Jan 14 '14 at 6:04
Further bad experience with Paragon ExtFS driver. Consistent kernel panics leading to system rebooting, corruption of the files system (luckily fsck on Linux box did work). Tried on two different external drives with same results. –  user83677 Jun 26 '14 at 21:17

You may try to install VirtualBox, then install and configure minimal version of Linux e.g. Ubuntu.

Not ideal, but at least your OSX would be more stable rather than installing unstable kernel extensions which could cause a lot of crashes.

share|improve this answer

If you're wondering what the command line is to mount an ext4 partition using fuse and ext2fuse (e.g. when installed using MacPorts port install ext2fuse) - then firstly you need to work out where the Linux partition is:

diskutil list

This will list all partitions for all disks and amongst them you should see the relevant ones listed under the TYPE column as Linux. Combine the diskX and partition number Y like this /dev/diskXsY - e.g:

mount -t fuse-ext2 /dev/disk1s2 ~/my_mount_point

It may complain about not being able to write to the log file but it should still mount the partition into your home mount point. But if you want to mount the partition into a system directory then you need to run it as root e.g:

sudo mount -t fuse-ext2 /dev/disk1s2 /sys_mount_point
share|improve this answer

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.