Home > Chatterlings, Web Developing > Mounting ext3 in Snow Leopard…

Mounting ext3 in Snow Leopard…

September 27th, 2009

Im glad to say that it is actually possible to mount an ext3 formatted linux drive in mac OS X Snow Leopard using a few tools. Let me share with you how I did it.

Download fuse-ext2
Also make sure you have MacFUSE otherwise fuse-ext2 wont work.

Install both of those and run a few commands in terminal:

first, create a mount point such as: $ sudo mkdir /Volumes/HD
next, navigate to the fuse-ext2 folder: $ cd /usr/local/bin/
execute the fuse command: $ sudo ./fuse-ext2 /dev/nameOFdisk /Volumes/HD/ -o force
note:(nameOFdisk can be found by typing disktool -l).

Heres some useful information if you dont understand my syntax:

$ fuse-ext2 <device|image> <mountpoint> [-o option[,...]]
options:
ro : mount read only
force: mount read/write
allow_others: allow other users to access
debug: noisy debug output

Voila! your drive should mount, and you should have read/write access as well! man i love mac.

Chatterlings, Web Developing

  1. October 5th, 2009 at 00:30 | #1

    I get this error:

    fuse-ext2: enter [do_probe (../../fuse-ext2/do_probe.c:30)]
    fuse-ext2: Error while trying to open /dev/disk0s2 (rc=16) [do_probe (../../fuse-ext2/do_probe.c:34)]
    fuse-ext2: Probe failed [main (../../fuse-ext2/fuse-ext2.c:337)]

    Any idea why?
    Thanks!

    (You can delete the previous comment)

  2. admin
    October 5th, 2009 at 01:05 | #2

    I’ve never seen that error. What did you format your drive with? I formatted my drive on an ubuntu machine with ext3 filesystem. Give me some specs on what your using and running. Let’s get this thing figured out!

  3. Phil Spector
    October 5th, 2009 at 12:56 | #3

    disk0s2 would be the second partition on the main hard drive. Are you sure that’s the location of your ext2 file system. When I mount a USB ext2 drive, for example, the device is /dev/disk2s1 or /dev/disk3s1

  4. orange
    October 16th, 2009 at 20:46 | #4

    Hi,
    I have the same message like Gandhi
    I know why: the partition is not an ext3 partition but a Linux_LVM partition.
    I look for a solution but i dont get one.
    Maybe the solution could be to use commands of the lvm like vgdisplay but it doesn’t work :(

    If you have an idea …

    Thanks
    (Sorry for bad english)

  5. admin
    October 17th, 2009 at 13:07 | #5

    like Phil said above, make sure that you are mounting the correct drive and not your system or internal hard drives… If your external HD is Linux_LVM it wont work… in that case you will have to reformat the HD and use ext3 or ext2.

  6. orange
    October 17th, 2009 at 14:50 | #6

    Hi,
    In fact, it is the internal hard drive of my broken computer so I don’t want to reformat…
    I hope i will get a solution with a linux OS.

    Thanks

  7. October 20th, 2009 at 04:03 | #7

    Thanks for the step by step explanation. Maybe you should add that using FUSE it is not necessary to be root (or take advantage of the sudo command) to mount an ext partition.
    Michael

  8. Caity
    November 20th, 2009 at 08:52 | #8

    Eric you are fantastic, this is exactly what I was looking for!

    My only question is… would you know how to get it to mount rw at boot? After installing macfuse and fuse-ext2 i can mount the drive rw using your commands in terminal perfectly, but I’d like to have it rw all the time. Right now when I load os x it shows up automatically as read only.

    I’ve done some googling and I’ve poked around and I just can’t seem to figure out where fuse-ext2 gets called from in the first place to change the options to force. There aren’t many people who worked this out as quickly as you did.

  9. Caity
    November 20th, 2009 at 14:15 | #9

    Never mind! It probably isn’t the most elegant solution but it does what I want.

    I wrote a little shell script and with the help of this article: http://support.apple.com/kb/HT2420?viewlocale=en_US made it work.

    For anybody else who is reading this my shell script looks like this:

    umount /dev/disk0s6
    mkdir /Volumes/Ubuntu
    /usr/local/bin/fuse-ext2 /dev/disk0s6 /Volumes/Ubuntu -o volname=Ubuntu,force

  10. Mark
    December 5th, 2009 at 14:30 | #10

    This post was the most helpful I have found for a long time. Thanks a lot!

    Regards

  11. IetWat
    January 21st, 2010 at 10:07 | #11

    Works like a charm! Thanks mate!

  12. January 27th, 2010 at 18:51 | #12

    Wow, this is great I’ve been looking for a way to mount ext2/ext3 disks on MacOS X. I have backup disks attached to a Linksys NSLU2. I always worry about how I would recover the files if the server went kaput. Now I can just attach the USB drives to my Mac.

    BTW, when I attached the USB drive, the Snow Leopard Finder immediately mounted the disks as read-only. So, I figured out the name of the disk (disk3s1 in this case) without using “disktool -l”. To mount the disk r/w, I ejected the disk using the Finder and mounted as above using “-o force”.

  13. Mark
    January 31st, 2010 at 19:11 | #13

    I have MAC OS X – 10.6.2 (Snow Leopard)
    I installed: MacFUSE first
    Then installed: fuse-ext2

    See first post for details. Then I just plugged in my ext3 USB drive, powered it up and it mounted automatically in /Volumes.

    This was a great surprise – No unix commands into terminal necessary.

  14. Scott
    February 12th, 2010 at 01:48 | #14

    I get:

    sudo fuse-ext2 /dev/disk0s2 /Volumes/MEDIA/ -o force
    fuse-ext2: version:’0.0.7′, fuse_version:’27′ [main (../../fuse-ext2/fuse-ext2.c:324)]
    fuse-ext2: enter [do_probe (../../fuse-ext2/do_probe.c:30)]
    fuse-ext2: leave [do_probe (../../fuse-ext2/do_probe.c:55)]
    fuse-ext2: opts.device: /dev/disk0s2 [main (../../fuse-ext2/fuse-ext2.c:351)]
    fuse-ext2: opts.mnt_point: /Volumes/MEDIA/ [main (../../fuse-ext2/fuse-ext2.c:352)]
    fuse-ext2: opts.volname: MEDIA [main (../../fuse-ext2/fuse-ext2.c:353)]
    fuse-ext2: opts.options: force [main (../../fuse-ext2/fuse-ext2.c:354)]
    fuse-ext2: parsed_options: force,allow_other,local,noappledouble,fsname=/dev/disk0s2,fstypename=ext2,volname=MEDIA [main (../../fuse-ext2/fuse-ext2.c:355)]
    fuse-ext2: mounting read-write [main (../../fuse-ext2/fuse-ext2.c:369)]
    /Library/Filesystems/fusefs.fs/Support/fusefs.kext failed to load – (libkern/kext) link error; check the system/kernel logs for errors or try kextutil(8).
    the MacFUSE file system is not available (71)

    :(

  15. admin
    February 18th, 2010 at 14:30 | #15

    theres something up with your installation of fuse. Are you running Snow Leopard?

  16. Gnorkie
    February 26th, 2010 at 16:33 | #16

    Just installing MacFuse and fuse-ext2 I get the disks for reading only, not for writing. They are ext3, formatted with the Popcorn Hour A-110 network media tank.

    Here is the errore I get when trying to mount
    (before I’ve unmounted the disks with disk manager)

    Mac-Pro:bin Stefano$ sudo ./fuse-ext2 /dev/disk0s3 /Volumes/HD1/ -o force
    fuse-ext2: version:’0.0.7′, fuse_version:’27′ [main (../../fuse-ext2/fuse-ext2.c:324)]
    fuse-ext2: enter [do_probe (../../fuse-ext2/do_probe.c:30)]
    fuse-ext2: leave [do_probe (../../fuse-ext2/do_probe.c:55)]
    fuse-ext2: opts.device: /dev/disk0s3 [main (../../fuse-ext2/fuse-ext2.c:351)]
    fuse-ext2: opts.mnt_point: /Volumes/HD1/ [main (../../fuse-ext2/fuse-ext2.c:352)]
    fuse-ext2: opts.volname: [main (../../fuse-ext2/fuse-ext2.c:353)]
    fuse-ext2: opts.options: force [main (../../fuse-ext2/fuse-ext2.c:354)]
    fuse-ext2: parsed_options: force,allow_other,local,noappledouble,fsname=/dev/disk0s3,fstypename=ext2,volname=disk0s3 [main (../../fuse-ext2/fuse-ext2.c:355)]
    fuse-ext2: mounting read-write [main (../../fuse-ext2/fuse-ext2.c:369)]
    Mac-Pro:bin Stefano$ sudo mkdir /Volumes/HD mount_fusefs: failed to mount /Volumes/HD1@/dev/fuse0: Socket is not connected
    ./fuse-ext2 /dev/disksudo mkdir /Volumes/HDA
    Mac-Pro:bin Stefano$ sudo ./fuse-ext2 /dev/disk0s3 /Volumes/HDA/ -o force
    fuse-ext2: version:’0.0.7′, fuse_version:’27′ [main (../../fuse-ext2/fuse-ext2.c:324)]
    fuse-ext2: enter [do_probe (../../fuse-ext2/do_probe.c:30)]
    fuse-ext2: leave [do_probe (../../fuse-ext2/do_probe.c:55)]
    fuse-ext2: opts.device: /dev/disk0s3 [main (../../fuse-ext2/fuse-ext2.c:351)]
    fuse-ext2: opts.mnt_point: /Volumes/HDA/ [main (../../fuse-ext2/fuse-ext2.c:352)]
    fuse-ext2: opts.volname: [main (../../fuse-ext2/fuse-ext2.c:353)]
    fuse-ext2: opts.options: force [main (../../fuse-ext2/fuse-ext2.c:354)]
    fuse-ext2: parsed_options: force,allow_other,local,noappledouble,fsname=/dev/disk0s3,fstypename=ext2,volname=disk0s3 [main (../../fuse-ext2/fuse-ext2.c:355)]
    fuse-ext2: mounting read-write [main (../../fuse-ext2/fuse-ext2.c:369)]
    Mac-Pro:bin Stefano$ mount_fusefs: failed to mount /Volumes/HDA@/dev/fuse1: Socket is not connected

  1. No trackbacks yet.