Mac OS X and the ext filesystem: how to mount ext2, ext3 or ext4 on a Mac OS computer.

How to Mount an ext Partition on a Mac

I have been using a MacBook for a while now but was shocked to learn that the Mac OS can’t mount ext2/ext3/ext4 file systems by default. Unbelievable. I mean, at its core, Mac OS and Linux both belong to the Unix family of operating systems (proof) and ext is the default filesystem of Linux. So if the Mac OS can mount the filesystems of Windows (NTFS and FAT32) by default, it should be able to mount the ext filesystem too, right? Wrong. So I consulted Google for a solution but found that there was no quick, pretty and free software for this. Even the paid solutions I read about were not totally reliable and were known to corrupt people’s storage devices. Nevertheless, here is the best info I found about how you can mount an ext2/ext3/ext4 partition on a Mac.

Mounting an ext2/ext3/ext4 partition on Mac OS

When trying to mount an ext2/3/4 partition on your Mac, you have at least two options:

  1. Option 1: Mount the partition as read-only (RO). With this option, you can only access the files on your partition, you cannot modify them. You can copy your movies, photos etc out of the partition but you cannot delete, rename, cut or add any files/directories. I recommend this option because it poses an almost zero risk of corrupting your files or the partitions they are stored in. If this suits you, here are the steps you need to take to achieve it:
    • Make sure you have a good internet connection.
    • Make sure you have Homebrew installed. If you don’t, visit this page to set it up.
    • Make sure you have administrator rights for the machine you want to work on. If you don’t, get someone who has those rights to do the rest of these steps for you.
    • Open a terminal (or command prompt) on your machine.
    • Install the package ext4fuse with the following commands:
      brew cask install osxfuse
      brew install ext4fuse
    • Plug in the hard disk drive or storage device whose partition you want to mount.
    • In the terminal, enter the command below to see a list of all the storage devices attached to your computer:
      diskutil list
    • Take note of the id of the partition you wish to mount. You’ll have to identify that partition by yourself based on its size, name etc as listed by diskutil.
    • Let’s say the desired partition has an id of disk3s1, and it is mounted on /dev. Use the command below to mount it as a drive named MY_EXT_PARTITION in the tmp/ directory of your home directory:
      sudo ext4fuse /dev/disk3s1 ~/tmp/MY_EXT_PARTITION -o allow_other
      

      Note that the command above uses sudo, so it requires administrator privileges to work. After entering it, you might be asked to enter an admin account’s password.

    • It is also possible to mount more than one ext partition from your hard disk drive. If, for example, the id of the second partition you want to mount is disk3s2, then you can mount it as a drive named MY_SECOND_EXT_PARTITION in the tmp/ directory with this command:
      sudo ext4fuse /dev/disk3s2 ~/tmp/MY_SECOND_EXT_PARTITION -o allow_other
      
    • Now use Finder to navigate to your home directory and then your tmp/ directory. You should see a device named MY_EXT_PARTITION in that location. PRO TIP: You can also achieve do this step by entering the following command in the terminal:
      open ~/tmp/
      
    • Note that you can mount the partition anywhere you like and use any name you wish for the mounted drive. Using the tmp/ directory is only for the sake of convention, as that directory is meant for temporary data. But if, for example, you wish to mount the partition in your Documents/ directory and want to call it foo_bar, you’ll use the following command:
      sudo ext4fuse /dev/disk3s1 ~/Documents/foo_bar -o allow_other
      
  2. Option 2: Mount the partition as read-write (RW). You will be able to both access your files/directories and modify them with this option. So, you will be able to add, rename, delete or move the files/directories stored on your partition along with being able to access them. Unfortunately I have not found a stable, reliable and free way to do this. Even the paid software I read about that claim to be able to do this are buggy and have been reported to cause damage to people’s files/partitions. So, I do not recommend this option. You may use Google to find out how people have done it but please proceed with caution.

I do hope that mounting ext2/3/4 partitions will become easier in the future. In the meantime however, these are the ways you can mount such partitions on your Mac.

Спасибо за прочтение!

24 comments

  1. Thanks for this article, I was wondering about how to deal with my mixed environment. All the laptops are Macs the media centre is Linux. Can you update the article if you ever find a R/W solution you’d recommend?

    1. Sure thing Paul! I will update this article if I come across a R/W solution. However, I suspect that the days of such solutions will not come around any time soon. So I suggest you look for an alternative solution in the meantime. You can ask this same question on the Unix Stack Exchange or the Apple Stack Exchange in a bid to find an alternative solution. You are free to share this article in your question as one of the solutions you have already tried. Hope this response is helpful?

      PS: I’m sorry for the late response.

  2. Maybe not the easiest way, but if you totally need to write to your ext drives from a mac, a work around is to install a Linux Windows machine and pass the usb external device to the vm.

    1. As you have noted, that may not be the easiest way, especially for someone who wants to mount the EXT partition fast and quickly get what he/she needs. However, thanks for sharing this. It may turn out to be the most viable option for someone out there.

    1. Transferring files over LAN is for the case of transferring files between at least two computers. In the case of this article, I provided instructions for transferring files between a single computer and a storage medium of some kind e.g external HDD, external SSD, USB flash drive etc.

  3. Folusho Oladipo, how would this work if the ext4 disk is encrypted? Thanks for this article.

    1. Hi Christoper,

      I am not sure of the exact steps for mounting an encrypted ext4 disk, but these are the steps I advise you to try:
      – use the steps outlined in the article above to install and set up ext4fuse so that the Mac OS at least can recognize the desired partitions.
      – use diskutil list to get the ID of your target drive. The ID should look like /dev/disk2.
      – get the Logical Volume UUID (LV-UUID) of your target drive using diskutil coreStorage list. The value you’re looking for should look like ‘B807C2A0-577F-3DB0-9002-F82B9137696C’.
      – run diskutil coreStorage unlockVolume<LV-UUID>. That command should prompt you for a password and if you enter a correct one it should unlock the drive for you.

      As I said earlier though, I’m not sure of the above steps. So if you try them out, let me know how it went.

      PS: I got additional info from this post too: https://apple.stackexchange.com/a/190967. So you may consult that entire discussion for more potential solutions.

  4. It’s disconcerting that Mac OS provides such poor support for mounting drives with non-apple files formats. Alternatively, Linux OS’s can read and write Mac and Windows file formats (e.g., ntfs, HFS+) and easily mount android devices. I suspect Apple’s limited file format support is its way of discouraging people from using non-Apple products. I would be in favour of enhancing anti-monopoly legislation to force Apple to make it’s OS more compatible with non-Apple products, such as Android and Window phones and Ext USB drives.

    1. Hi Sam. Yes, I agree with you that Apple’s most probable reason for this poor support is to strongly discourage people from using non-Apple products. And this philosophy is not unique to preventing users from easily mounting drives with non-Apple formats. Sigh. That’s one of the reasons why I am personally not an Apple fan. I can use their products when it’s the best tool for achieving some goal, but I am not a fan of a lot of the company’s policies.

  5. Hi Folusho,

    the installation and mounting went fine, even for an absolute Linux newbie! However, when I tried to access my Home directory on the Linux partition I got an error saying I didn’t have the rights. So I tried by booting on Linux and changing the Home directory’s permissions to 777. Booted on OS X again and mounted again but it didn’t work. Do you know how to solve this? Thanks in advance!

    1. Hi Nik,

      Ordinarily, setting the home directory’s permissions should have done the trick. But since it didn’t, my best guess is that it’s something in the Mac OS that’s preventing you from accessing that directory. So instead of trying to use “cd EXT3_HOME_DIR” to access the ext3 drive’s home directory when it’s mounted on your Mac, please try logging into your Mac as the root user and using “sudo cd EXT3_HOME_DIR” and let me know how it went.

      Best regards,
      Folusho.

      1. Hi Folusho,

        Thanks for the tip. It did work to some extent. So, I can access the home directory now but there are only two alias files in it: „Access-Your-Private-Data.desktop“ and „README.txt“. When I try to open them an error occurs saying the original object couldn‘t be found. Any ideas? If not, no worries. It‘s actually not that important 🙂

  6. @Nic: yes you might need to check your security settings and grant permissions to ext4fuse the first time you run it, just like cocotu said. So please try that and let me know how it went.

  7. Hi Tuan,

    No, I have not tried Paragon’s ext Reader. However I have come across articles about it on the Internet a few times. So I suggest you google around and you will be able to find many people’s reviews of that software. Thanks.

    Best regards,
    Folusho.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.