How to use Linux filesystems on Windows - Tutorial

Updated: April 24, 2009

If you're using both Windows and Linux operating systems, you are most-likely dual-booting your machine. And you have probably noticed that Linux can read data stored on Windows partitions easily, whereas Windows is blind to Linux. You can change that - allow Windows to read from and write to Linux partitions. Follow me.

Neccessary advisory:

Before we begin, I feel I must explain thoroughly the implications of accessing Linux partitions from Windows:

Windows users are less savvy than Linuxers. This means, on average, there's a higher statistical probability that a Windows users will cause damage to a Linux partition than the other way around. Especially if you're not the only user and there are other, less knowledgable users abusing your computer.

Sharing files between Windows and Linux can also be done via a dedicated FAT32 or NTFS partition, which contains no critical system files, either from Windows or Linux. This is a much more sensible practice. It's cleaner, safer and less prone to errors.

Various Linux filesystem drivers might clash with anti-malware programs, so you might experience a few BSOD hiccups here and there. This is not something I have personally seen, but I have read about this occurence in various security forums. A rumor, if you will, still something worth thinking about.

That said, we can start with our task today.

We'll try two different tools:

One is a set of drivers that allows you to mount Linux partitions as Windows drives. It requires an installation, takes about 5 minutes to setup and might be considered a moderately advanced tool. The other tool is a lightweight file explorer, requires no installation, takes 5 seconds to use, and is well suited for all users. Take your pick, although you do not have to; you can use them both. All right, now that we know what we're up to, let's rock.

Access Linux partitions from Windows using Ext2 IFS for Windows

Ext2 IFS for Windows is a set of drivers for Microsoft operating systems that allows you to be able to see Linux partitions and read/write data from and to them. We will use them to allow Windows to be able to use Linux partitions.

There are several limiations to this software, though; we'll discuss them below. Please read through before trying to use these drivers.

No drivers installed

First, let's take a look at the normal situation - no drivers installed; Windows cannot read Linux partitions. This means that any partition formatted with a non-Windows filesystem will not show up in the Explorer. However, it will show in the Disk Management utility.

To use this utility, right-click on My Computer > Manage > Disk Management. Or you can use the Control Panel to open it.

Notice the line highlighted in blue. We have a partition that is healthy but of unknown type. It's 4GB in size. Windows does not know what this partition is and therefore does not assign it a letter. In fact, it's a standard Ext3 Linux partition.

Linux unrecognized

Install Ext2 IFS for Windows

Let's install the drivers. Again, please be warned about possible incompatibility and data loss risk.

Install

The first setting is the Read-Only Option. If you use it, your Linux partitions will only be readable. Your users and yourself won't be able to make any changes, including adding new data, but also deleting critical files. This is quite recommended, although the usefulness of such a setup is rather limited.

Read only option

Next, choose if you want to support UTF-8 encoding. This is very useful for localized, non-English operating system installation. To be on the safe side, you should go with the default choice.

UTF support

After that comes the large file support. It's rather like FAT32 limitation, only in relation to  older Linux kernel that could not support large files. No worries here. Kernel 2.2 has been outdated since 1994 and there's absolutely 0% chance you'll be using it at home.

Large files

Drive letters

Next, choose the letter(s) you want to use for your Linux partitions. In Windows, they will be mounted as D:, G:, T:, etc. You can manually assign a letter or let the system choose during the first mount.

Drive letters

And we have a letter assigned:

Assigned

Installation complete

Once the drivers are installed, we'll see a new drive in the Explorer list:

Installed

And browse it. Notice the lost+found directory.

Works

Drive properties:

Drive properties

Persistent volume

If you want Windows to always use specific letters for specific partitions, you can mount them as persistent volumes. This requires opening the Windows command prompt and typing a command:

Mountvol

Limitations

Let's talk about these:

No journaling

Ext2 IFS for Windows supports only Ext2 filesystem. It also supports Ext3, but without the benefit of journaling. If you're wondering what journaling is, it's a kind of a log, literally, that the filesystem keeps and writes to before making changes to the disk. This allows the filesystem to more efficiently recover from errors and crashes, because a sort of a backup info is always kept. More on Wikipedia.

This means that your partitions, when mounted and used in Windows, should they crash, might be susceptible to damage and data corruption that would not normally occur. Keep this in mind when committing to this solution.

Linux partitions must have the inode size of 128 bytes

Again, you may we wondering what these things are. Inodes are data structure units, defining how thinly/thickly the hard disks are going to be populated with files, the factor that depends on the inode size. Ext2 IFS only supports the 128-byte inodes. If your filesystem has been formatted with anything else, it won't be recognized.

You may have to change the inode size, using the -I switch when running the mke2fs utility. This is another thing to consider, best BEFORE using Ext2 IFS for Windows.

Now, let's talk about the other utility.

Access Linux partitions from using Explore2fs file manager

Explore2fs is an extremely simple and friendly utility. You can't get simpler than that. Download a .zip archive, extract and start using. Explore2fs will automatically detect your Linux drives/partitions and mount them.

Explorer2fs 1

Depending on the permissions you set in Linux for the device, you might be able to write to it as well. This means being able to delete and create files.

Manipulate

You can always check the permissions and other properties by right-clicking on the drive, partition, directory, or file.

Properties 1

Properties

Explore2fs is a tremendously simple yet powerful tool. It has lots of features, including drag & drop, large disk support, large file support, UTF-8 support, preserves time stamps, supports LVM, and more. Explorer2fs also comes included with Ultimate Boot CD for Windows, allowing you to handle Linux systems as well.

You can't go wrong with Explore2fs. Since it's a non-installable program, you can also use it from a USB drive, carrying with you a Linux file explorer around where it's needed.

Conclusion

Being able to access Linux partitions from Windows is a simple enough affair. Whether you go for the relatively more complex Ext2 IFS or the simpler, portable Explorer2fs, you will be able to enjoy a cross-platform file sharing in both directions.

For most people with dual-boot machines, the sharing was a one-way direction, with Linux being able to read from and write to Windows partitions, while Windows remained blind to the other operating systems. Ext2 IFS and Explorer2fs change that.

This new flexibility brings along a new responsibility, though. With the filesystems completely transparent - and vulnerable to changes - you will have to exercise caution when manipulating files on "foreign" filesystems.

In return, you will be rewarded with improved productivity and a whole new level of coolness that your Windows peers won't have.

Cheers.