Monday, January 4, 2010

ext2/ext3 on Windows

UPDATE 10/8/2011: It appears that ext2fsd 0.51, released 7/9/2011, has fixed the corruption issue according to the changelog on its website: "1. FIXME: Data corruption issue, especially for multiple-thread writing on XP system." The version tested in the original blog post below was 0.48.

ext3 has long been one of the most commonly used filesystems on Linux. While it is sometimes displaced by competitor ReiserFS or newer players such as ext4 and Btrfs, ext3 is still around, at least on my computer, because it can be mounted on Windows, while the others cannot (although I think ReiserFS might also be mountable on Windows). ext3 is the same as ext2, with the addition of journaling, so mounting an ext3 filesystem as ext2 is akin to mounting without journaling.

NTFS has been the filesystem used on Windows for long enough that every Windows computer out there probably has it for the C: drive. Linux has an ntfs-3g driver that allows read/write to NTFS partitions and is generally considered stable. I believe ntfs-3g also does not emulate journaling. I also use NTFS on my external backups hard drive primarily since it has the highest chance of being mountable on any computer (Windows can do it natively and most Linux systems today have ntfs-3g).

On Windows, there are currently two primary methods of mounting an ext2/3 filesystem as a drive letter. There is Ext2 IFS and Ext2Fsd. Both drivers offer the same basic functionality. For the longest time, I used Ext2 IFS and was happy with it. But I recently decided to try out using Unison for backups to my external hard drive, and discovered that symlinks on my Ext3 partition were not handled when read with the IFS driver; any operation would simply return access denied. So I decided to try out Ext2Fsd. As it turns out, although Ext2Fsd has a number of nice features in it, Ext2 IFS is still the stabler product and I have switched back to it. I've decided that backing up directories with symlinks will just have to be done from within Linux, since the ntfs-3g driver is able to store symlinks (they are just represented as binary files when viewed under Windows).

However, I did want to offer my comparison chart of the differences in the two ext2 drivers on Windows, as I attempted to search for one myself but could not find one. Note that this chart applies to Ext2 IFS 1.11a and Ext2Fsd 0.48, and I have not listed all of the differences, just the ones that were the most obvious. My system runs Windows XP SP3 32-bit.

FeatureExt2 IFSExt2Fsd
inode sizeup to 128up to 256 (the default on recent Linux systems)
ext3 journal present (unclean unmount from Linux)refuse to mountroll journal and mount
symlinksreturn access deniedfollow valid symlinks (but they look like regular files or directories on Windows)
Explorer shell featuresstandard folder icon only and no Recycle Bindesktop.ini processed (folders can have non-default icons, etc.) and Recycle Bin used with deleted files
stabilityall files okaysome files (large Outlook psts and some small Office documents) error'ed during Unison backup, so read operations

UPDATE 3:20 PM: It would appear that two of my PST files that I attempted to backup are actually now corrupt. I haven't yet run Outlook's repair utility, but if it fails, at least it was only IMAP downloaded mail data (the mail is still on the server).

No comments:

Post a Comment