Ext2/3 Partitions - Mounting them on the Desktop
- If you need GUI-based access to the contents of a hard drive, or if you need to mount an ext2/3 hard drive on a computer running Windows or OS X, this page may have an answer for you. The process outlined here is useful for someone rescuing data from a backup USB hard drive, or from a data partition in a Linkstation.
- Why would you want ext2/3 format anyway? Well Windows formats (FAT, FAT32, NTFS) have some serious limitations to them, namely filesize. For FAT the filesize limit is 2GB, and for FA32 or VFAT is it 4GB. OS X doesn't have these limitations for its HFS+, but it is a proprietary format and is not readable to many computer systems. Therefore, ext2/3 is a viable alternative. With drivers, it is readable by nearly all OS's, and it has a filesize limit that runs in the terabytes.
- Perhaps the biggest reason for many FreeLink users is that Buffalo has for years used a proprietary ext2-like format for USB hard drives attached to the Linkstation. This format has a large filesize limit, but it does not mount under Linux, Windows or OS X. Moving to Freelink gives us the opportunity to unplug that USB drive and mount it directly to ones desktop, using the methods shown here.
- a USB storage device (flash, IDE or SATA) or hard drive formatted in ext2 or ext3
- a computer running
- OS X (10.3-10.4.x are currently supported),
- Windows or
- for OS X: ext2fsx driver from SourceForge.net
- for Windows: explore2fs or Ext2 Installable File System For Windows
- for Linux: Any common desktop distribution already comes with ext2/ext3 support
- for Unix: Ask the vendor for an ext2/ext3 file system implementation
Connecting and Determining disk info
Make sure that you have ext2fsx installed. Read its documentation (in the ReadMe.rtf) before going further. Be aware that if it detects a filesystem that isn't clean, it will run fsck_ext on it automatically.
If you have the disk/partition mounted, make sure that you unmount it cleanly from current mount point. Double check that it is unmounted by using
in Linux or whatever the analogous command is in your operating system.
Mounting & Unmounting
- Connect your drive to your computer, either by USB or via an IDE/SATA cable.
Using the GUI
- The GUI interface provided through the Preferences Pane in OS X usually works out of the box, provided the volume you try to mount is clean. As of version 1.4d4, write access to nonjournaled volumes works, but some of us have experienced kernel panics when writing. To avoid problems, it may be safer to:
- Open System Preferences
- Select ExtFSManager
- Select the ext2/3 device, and then the carrot/triangle just to its left, to view the volume you want to mount
- Select the volume and then the Option button. Check the Mount Read-Only
- Unmount it and then mount it again. Subsequent mounts should remember the options, but might not.
- To unmount, use the normal Eject function in the Finder.
via Command Line
If the GUI doesn't work for you then the command line method might still get you connected. You must log in as administrator, make a mount directory in /Volumes, and then mount the partition. The commands below are for a partition that is the first on disk2, for example.
- Determine the disk number of the device that you hve attached. Start Disk Utility and find your ext2/3 device's icon (orange probably). Click on it and select Info. The disk number should read something like disk2.
- To mount it:
sudo -s mkdir /Volumes/linux mount_ext2 -o rdonly -x /dev/disk2s1 /Volumes/linux
- For desktop access:
- Go to the Finder Menu
- Under Go, do Go->Go To Folder and type in /Volumes/linux , then press OK.
- To unmount and confirm that it is unmounted:
umount /dev/disk2s1 df -Th
Error messages and their possible causes:
- Invalid argument
mount_ext2: /dev/disk3s1 on /Volumes/linux: Invalid argument
If you are using a USB drive, this may mean that you forgot to unmount (see the Unmount section above) before physically disconnecting your cable.
- No such directory
/dev/disk3s1 on /Volumes/linux: No such file or directory
You may have forgotten to create the mount point directory in /Volumes.