Ext2/3 Partitions - Mounting them on the Desktop

Why

 * Data Recovery and Access: 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.
 * Filesizes in the terabyte range: 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 FAT32 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.
 * Not being locked out: Over the years, Buffalo seems to have adopted a somewhat proprietary outlook on partitions for the LinkStations.  Namely, partitions created with the standard Buffalo firmware suffered a mangled superblock, creating a hurdle to accessing them when connected to another system, say a PC or Mac, for instance.  The LS1, LS2 and LS-HG seem to have suffered this on both the system and data partitions.  For the LS Pro none of the partitions have this problem (although only 1 of them is ext2/3, others are XFS)  Those of us using OpenLink or FreeLink, of course, don't have to worry about these sorts of problems, as they use the normal partitioning process, without any "lockout".

Requirements

 * 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
 * Linux/Unix
 * for OS X: ext2fsx driver at SourceForge.net
 * for Windows: explore2fs or Ext2 Installable File System For Windows
 * for Linux: Any common desktop distribution (including a bootable or Live CD from Ubuntu or Knoppix) already comes with ext2/ext3 support
 * for Unix: Ask the vendor for an ext2/ext3 file system implementation
 * for any partition that was formatted by original/stock Linkstation firmware, you may need first to use Fix ext2 magic to make it readable by machines other than a Linkstation

Alternative xyz
'''Windows users: Please feel free to add content here. Thank you.'''

Explore2fs
From the website: "Explore2fs is a GUI explorer tool for accessing ext2 and ext3 filesystems. It runs under all versions of Windows and can read almost any ext2 and ext3 filesystem."

Download it here: http://www.chrysocome.net/explore2fs

Someone with windows could add more here if necessary. I can't tell you more than what's on the website and that my brother used to use it.

Ext2IFS
From the website: "It provides Windows NT4.0/2000/XP/2003 with full access to Linux Ext2 volumes (read access and write access). This may be useful if you have installed both Windows and Linux as a dual boot environment on your computer."

"It installs a pure kernel mode file system driver Ext2fs.sys, which actually extends the Windows NT/2000/XP/2003 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 G:). 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."

Download it here: http://www.fs-driver.org/

Someone with windows could add more here if necessary. I've used it before with success but it was quite a while ago now.

Using a Linux Live CD
Linux Live CDs do boot a Linux on your PC, but they don't install Linux and they don't change any data. Unless you later decide to change data or install, of course. So, why going for a third-party driver or tool if you can have the real deal? Ok, using a Linux Live CD only makes sense if you just need temporary access to the data. It will not give you permanent access under Windows.

Before connecting
Get a Linux Live CD. The most popular is probably Knoppix, but many other distributions also provide Live CDs. E.g. the Ubuntu installation CD is actually a Live CD CD Image for Desktop and Laptop PCs.

You often find Linux Live CDs in computer magazines. If you don't have such a CD at hand, then


 * Download a CD image from one of the mentioned sources
 * Burn the CD image as image to a CD. This is the part which confuses users most. At least the ones who don't read instructions and don't know their CD burning program. As image means you are not supposed to fiddle with any of your CD burning program's special features. Don't burn the image as a file. Don't burn it as bootable disk. Don't burn it as Autostart disk. Just do a 1:1 transfer of the image file to the CD. Look for your program's burining option which has the word image in its name, and use that.

Alternatively, people create keydrives. That is, they put their Knoppix on an USB Memory Stick and boot from that stick, instead of a CD. Since, however, setting that up requires some more knowledge we continue with a CD in this description.

Once you have the CD


 * change your PC so that it boots from a CD first. This might require to change the boot sequence in the BIOS.


 * Boot then CD


 * Wait until a Linux Desktop comes up


 * At this point you might want to explore the Linux desktop a little bit for fun and pleasure.

Connecting, Determining disk info & Mounting
If the ext2/3 drive is a build in drive, it should already be mounted, and there should be an icon for it on the desktop or in the desktop's file browser.

If the drive is an external USB disk, then plug in the USB disk and wait a few seconds until an icon for the disk appears on the desktop.

Access
Double-click (on some desktops it is even just a single-click) on the drive's icon. A file browser will show the disk's contents.

Live CDs typically connect to all harddisk drives in read-only mode. If you also want to write to a drive, you need to set it to read-writable. The exact procedure depends on which Live CD you are using and is described in the CD's documentation. In Knoppix, right-click on the drive's icon and uncheck the read-only option in the Menu.

Unmounting
Right-click on the icon and select eject.

Before connecting
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 df -Th in Linux or whatever the analogous command is in your operating system.

'''NOTE: As of version 1.4d, journaling is not supported in ext2fsx. Unjournaled writes to a journaled device can cause irreversible damage and unrecoverable data loss. For non-journaled drives, write access sometimes works, but has cause kernel panics for some users. Be careful to mount it read-only if you have valuable data on it that you don't want to lose. '''

Mounting & Unmounting

 * Connect your drive to your computer, either by USB or via an IDE/SATA cable.

via 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. sudo -s mkdir /Volumes/linux mount_ext2 -o rdonly -x /dev/disk2s1 /Volumes/linux
 * Determine the disk number of the device and partition that you hve attached. Start Disk Utility and find your ext2/3 device's partition icon (orange probably).  Click on it and select Info.  The disk number should read something like disk2s1.
 * To mount it:


 * For desktop access:
 * Go to the Finder Menu
 * Under Go, do Go->Go To Folder and type in /Volumes/linux, then press OK.

umount /dev/disk2s1 df -Th
 * To unmount and confirm that it is unmounted:

Windows
'''Windows users: Please feel free to add content here. Thank you.'''

OS X
Problems, error messages, possible causes and possible fixes:


 * Mounting via the GUI in OS X using Ext2FSManager (in System Preferences) doesn't work. The most commond cause of this is that the ext2/3 filesystem that you are trying to mount wasn't unmounted correctly or it is not clean.  You can:
 * let the fsck_ext2/3 that comes with ext2fsx try to automatically check and correct the problem (this will initiate automatically if it doesn't mount), or
 * kill the fsck_ext2/3 process that you see running and connect it to a Linux box and run fsck from there.

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.
 * Invalid argument

/dev/disk3s1 on /Volumes/linux: No such file or directory You may have forgotten to create the mount point directory in /Volumes.
 * No such directory

(I've checked my linux is installed on disk0s3) bash-3.2# mount_ext2 -o rdonly -x /dev/disk0s3 /Volumes/Linux mount_ext2: /dev/disk0s3 on /Volumes/linux: Resource busy
 * Resource busy

df -Th in OSX doesn't show anything...