60

I have two questions on ext4:

  1. Is there currently a way to mount an ext4 partition in Windows (XP/Vista/7) to get basic read support?
  2. If not, are there any plans to support this someday?
7

10 Answers 10

33

There was a utility called ext2read to browse Ext partitions in Windows (including Ext4 partitions) which may not work anymore as mentioned in the comment below by @heynnema and could corrupt your partitions.

The project isn't updated since 2012

7
  • Nice to know, I knew only about ext2/3 support for Windows. Unfortunately, this is not an IFS driver, so you can't mount a filesystem with it?
    – JanC
    Oct 28, 2010 at 8:08
  • You can find documentation about what IFS is on MSDN.
    – JanC
    Oct 28, 2010 at 8:14
  • Great, I tried ext2read some time ago but back then it didn't support extents. Works fine now. :-) As for the second part of my question: it was more about third party tools, not "Hey Linux guys, make this work". ;-) I shouldn't have asked about both filesystems - I'd be happy to mark your entry as answer but I still have no clue if there's something that allows me to read btrfs partitions in Winodws.
    – htorque
    Oct 28, 2010 at 8:24
  • No problem. I havn't tried btrfs. Hopefully someone answers your question completely including the second part :-)
    – Chakra
    Oct 28, 2010 at 9:03
  • 2
    Remove ext2fs/ext2read ASAP, it'll corrupt your Ubuntu partition. You can't read linux partitions from Windows, period. Create an extra NTFS partition if you wish to share files.
    – heynnema
    Oct 1, 2019 at 18:56
25

ext4 has some support through the older ext2* projects. btrfs has no current Windows support. New filesystems are always going to have a period where there's no support on another operating system and, frankly, that's going to suck.

It should also be mentioned that projects that try to read the filesystem into another system are always going to give you an increased risk of noshing up your partition.

So with that in mind, there is one solution that would take perhaps 30 minutes to an hour to set up that would give you near-native speed, any Linux partition support and would be just as safe (or very close to) as mounting it from Linux: Virtualise!

Yeah I'm suggesting you give up 300megs of RAM and a gig of disk space to run Ubuntu Server from within Windows. Most modern virtualisation systems like Virtualbox and VMWare allow you to pass the VM an entire disk or partition so that's what you'd do. Mount it from within virtual-ubuntu, install samba, share the ubuntu-mounted disks and mount the shares from within Windows.

It sounds like a lot of overhead but Ubuntu server is pretty slick and it won't need much in the way of resources. Once installed, you could probably get away with 150megs of RAM for it.

3
  • Yes, that sounds like a good universal solution. However, for my ext4-read-only-case ext2read seems to work fine - plus, it's a portable one-file exe. :) Too bad I can't accept two answers. :(
    – htorque
    Oct 28, 2010 at 12:55
  • I've actually run Ubuntu server with as little as 64Mb of memory, it just takes a larger swap partition.
    – Perkins
    May 14, 2012 at 22:50
  • And... you could just as easily use a lighter distro, such as PuppyLinux to conserve on RAM and/or disk space. Mar 30, 2013 at 20:56
13

If you're talking about a dual-boot system, Windows cannot natively read Linux-formated partitions. Therefore, you have two options.

Recommended solution - Shared storage

Create a NTFS partition that will hold the files that you wish to be accessible from both Windows and Ubuntu, and store your files there.

This is the recommended, safe solution.

Alternate solution - Third-party software

Software is available for Windows that allows you to read and write to Linux partitions, to some extent.

One example of such software is Ext2Fsd. Ext2Fsd has limited EXT4 support. By default, it will load the filesystems in read-only mode, but you can enable read-write mode if you really want to. This is, however, not recommended.

  • EXT4 partitions mounted using Ext2Fsd will be displayed as EXT3. This is normal.

Note that these features of the fourth extended filesystem are unsuported:

  • Journal: log-based operations, external journal
  • Extent: size truncating & expanding, file deletion
  • Extended Attributes: ACL support

  • Note: an error may be displayed after installing Ext2Fsd; the application still works.

After installation, restart your computer and open Ext2 Volume Manager from the Start menu.

This is where you assign or change the drive letters for your Linux partitions, mount and unmount them, or perform other operations.

If you want to enable write support for an EXT4 filesystem, select Ext2 Management, uncheck the Mount volume in readonly mode box and then click Apply.

You can also select if you want your Linux partition to be automatically mounted on startup (you shouldn't use this option for USB drives and removable media).

Note: this solution is far from perfect and data corruption may occur on your Linux partition. Use this at your own risk!

1
  • 3
    There is a problem with shared NTFS storage - all files will appear in Linux to be executable, because NTFS doesn't support the executable attribute. Aug 15, 2016 at 9:47
8

To read ext4 you can use Ext2Fsd. It's a driver for Windows. The name suggest that it only work with ext2 and the site say that it work with ext2 and ext3 but last versions support ext4 too.

3
  • I followed the instructions but it doesn't seem to work with Win 7 (well, the web page states it doesn't support Win 7 and ext4 extents).
    – htorque
    Oct 28, 2010 at 8:51
  • working well with win10 :) Nov 15, 2016 at 4:10
  • This doesn't work in Windows 10. Shows nothing. Same with all of the other suggested third party software. none of them detect any drives
    – thephpdev
    Oct 6, 2018 at 19:55
7

An alternative is to install CoLinux on the windows machine and set it up with a minimal system (enough to mount the filesystem in question) and Samba. Then just mount your FS, and share it to windows. Not exactly elegant, but works nicely and doesn't risk filesystem corruption due to faulty drivers.

If a CoLinux install from scratch is too much hassle, try AndLinux, which is CoLinux with an OS already good to go out of the box. Installs in twenty minutes. You'll still need to set up the mounting, but the filesystem shares should already be good to go.

2
  • 1
    I'd say it is definitely worth a try. It has a good chance for being much lighter than full virtualization. I just wonder by how much? Feb 25, 2013 at 8:31
  • 1
    Depends on what you're doing with it. CoLinux is the linux kernel compiled as a windows executable, so memory can stay shared instead of eating a big chunk even if it has no immediate use for it. Also, there's no virtualization overhead. On old hardware, that's a big deal. On a modern processor with virtualization extensions it matters a lot less.
    – Perkins
    Sep 21, 2016 at 22:27
5

You can install Linux in a virtual machine then bind the physical drives or partitions directly to it. Then set up the machine to be accessible over Samba/CIFS and map the shares to drive letters in Windows Explorer.

There is a guide for doing this in VirtualBox.

That's probably the simplest way and should work transparently after setup correctly. It should work with any filesystem that Linux supports and not have to much around with horribly out of date (and possibly unstable) 3rd party utils.

With some work you might even be able to make your entire main Linux distro bootable from within Windows.

1
2

You can use ex2explore for accessing ubuntu file from windows

2

You could try booting into an Ubuntu live CD and mounting your existing Ubuntu partition from there, but if it crashed badly enough I don't know if this would work.

0

You need to install Samba into Ubuntu and set up a shere folder in the Ubuntu partition. You can then map to that network resource from windows.

3
  • The drive would have to be in a separate machine (or controlled by a separate VM) running Ubuntu (or some other OS that can access the partitions). If you install Ubuntu on a hard drive and set up a Samba server, then attach the hard drive to a computer running Windows, no Ubuntu OS will be running, no Samba server will be running, and no files will be accessible. When Windows accesses a Samba share, it's not reading from an ext2/3/4 or btrfs partition--the OS running on the server is accessing it to expose the share, and Windows is accessing the share. Jul 17, 2012 at 3:35
  • You are correct if the drive with the partition is installed in the windows machine. But the question was if the partition could be mounted. And by mapping to separate machine it can be.
    – sbtech
    Jul 17, 2012 at 23:25
  • 2
    I don't think it's accurate to say that Windows is mounting the partition in that case. The Ubuntu system is mounting the partition and sharing its contents and the Windows system is accessing the share. Windows is not doing anything with the partition at all. Windows does not even know the partition exists--for all the Windows system knows, the partition's root may not be a mount point at all. Jul 18, 2012 at 0:09
0

Via a network or locally? If it is from other computers on the network, then you will probably want to configure Samba on your Ubuntu computer.

https://help.ubuntu.com/11.10/serverguide/C/samba-fileserver.html

If you are dual booting the computer and want to access Ubuntu from Windows, you could try ext2read. I haven't tested it, but it apparently supports most standard Linux file systems.

The other option is to boot off a live CD / USB stick. Then you will be able to copy the files off to another location. Maybe another USB device or network location.

Not the answer you're looking for? Browse other questions tagged .