One of the problems that many users who regularly use dual-boot Windows and Linux face is the inability to access Linux-managed drives from within Windows. However, there is no problem if we want to access the files stored in Windows from Linux.
Windows does not offer support for the ext2, ext3 and ext4 file system, the file system used by Linux distributions, ext4 being the most used today. Now you will understand why when you have connected a hard drive with an ext2, ext3 or ext4 file system, Windows invites you to format it without having the option to access its content.
The solution to this problem is to use one of the different applications available on the Internet that allow us to access this type of unit.
Another interesting option, if we are usually forced to access this type of drive from Windows, is to use the Windows Subsystem for Linux , a functionality available from Windows 10 and with which we are going to find the versatility of accessing data stored in all drives on our computer, regardless of the file system.
Windows Subsystem for Linux (WSL)
The fastest and easiest method to access ext2, ext3, and ext4 formatted drives used by Linux is to use the Windows Subsystem for Linux, better known as WSL. WSL allows us to run Linux tools from the command line which allows us to forget about using a virtual machine or using dual boot.
In addition, it also allows us to run Windows applications from the command line and Linux applications in Windows. This functionality available on the device is not natively active, so the first thing we must do is activate it.
Activate Windows Subsystem for Linux
To activate the Windows subsystem for Linux, we go to the Cortana search box and enter the terms Windows Features , clicking on the first result that is displayed.
Next, a window will be displayed with the Windows features available and that we can activate or deactivate according to our needs. In our case, we must look for the Windows Subsystem for Linux option, check the corresponding box and click OK.
Seconds later, the system will invite us to restart the computer to correctly activate this function on our computer. Once we have restarted, we must install a Linux terminal environment from the Microsoft Store. In this example, we are going to use Ubuntu, as it is one of the most popular and used.
Once we have downloaded the application, we run it and wait a few minutes for the installation to finish. The first thing we need to do is create a user account, an account that is not related to the Windows user account and password.
The next step is to mount the drive so that it is natively available in Windows via file explorer.
Accessing Linux drives from Windows
The first thing we need to do is mount the drive via WSL. If we do not mount the drive first, we will never be able to access it, so you should not skip this step.
If our computer only has one hard disk, from which the Windows operating system is managed, when connecting any other unit, the system will assign the next letter of the alphabet, which, in this case, would be the letter d of the unit where we want to associate it .
To mount the Linux ext2, ext3 or ext4 formatted drive, we need to type the following command, where d is the drive from which it will be available.
sudo mkdir /mnt/d
sudo mount -t drvfs d: /mnt/d
From this moment, we can close Ubuntu and go to the Windows file explorer to access all the content available on that storage unit as if it were any other hard drive with a format compatible with Windows.
From the file explorer, we can copy files from both Windows to the Linux drive and from Linux to Windows by dragging the files as usual.
Connect from Windows to Linux
What happens if we want to connect from Windows to a Linux computer to access its files? All the solutions that we have explained above are focused on connecting to hard drives or partitions with Linux format, invalid options to connect to other computers.
Remote desktop /RDP
The easiest method to connect to a Linux computer from Windows is by connecting remotely. In this way, not only will we be able to manage the Linux computer from our Windows PC, but we will also be able to share files very quickly and easily.
The first and foremost thing is to know the IP that the Linux computer is using through the ipconfig command from Terminal. Next, we access the configuration options of the router and enable port forwarding with the IP of the equipment, the port to be used and as a Remote Desktop name to be able to identify it.
The router address, along with the access data, is usually at the bottom of it.
In the next step, we must inhabit the remote desktop in Ubuntu, a function that is available in Windows, through the command:
sudo apt install xrdp
Next, in Windows, we open the Windows Remote Desktop Connection application. In the Computer section, we must enter the IP of the computer and the username of the Linux computer to which we are going to connect.
If everything works correctly, the application will ask us for the computer password and we will be remotely managing the Linux computer.
A much simpler option to remotely connect to a Linux computer from Windows and access its files is to use TeamViewer, as long as you don’t want to take advantage of the native tools that Windows and Linux make available to us.
Samba is one of the most complete solutions for accessing and sharing files between Windows and Linux computers in a very simple way.
This application uses the same protocol as Microsoft, SMB, to create shared folders on the same local network. The first thing we must do is install it on our computer through the command
sudo apt-get install samba
Once installed, we close Terminal and go to the Ubuntu file explorer, select the folder we want to share by clicking the right mouse button and selecting Share this folder.
We set the name of the folder under which it will be displayed in Windows, check the boxes Allow other people to create and delete files in this folder and Guest Access. Finally, click Create share.
In Windows, with the IP of the Linux computer, we open the file explorer and write the IP of the computer preceded by two backslashes.
Another interesting option that we can use to share files between a Windows computer and another or others managed by Linux is to use the veteran FTP protocol.
The solution that we are going to use, in Ubuntu, is vsftpd, included natively in the system. The first thing we must do is install it through the command:
sudo apt-get install vsftpd
Once the installation process is finished, we edit the vsftpd.conf file that has been created in the etc folder. Within this file, we go to Allow anonymous FTP (Disabled by default). anonymous endable=NO and we change NO to YES . In this way, it will not be necessary to create user accounts to access.
If your idea is to access remotely from outside your network or other users to access those files, you should not modify this option.
We restart the system and go to Terminal again to start the FTP server with the changes we have made using the command:
sudo etc/init.d/vsftpd start
To access the FTP server that we have created on Linux from Windows, we will use the FileZilla application, an open source application also available for macOS and Linux.
The IP address of the server to which we are going to connect is the one associated with the Linux computer while the connection port is 21 (by default).
With programs to read EXT4 in Windows
In addition to the above two ways, if we don’t mind resorting to third-party programs, we can install some specialized programs on our computer to open Linux drives from Windows. Some of the best known are the following.
One of the most popular and widely used applications for accessing Linux ext-formatted drives from Windows is Linux Reader. This application, available through its website , allows us to conveniently access Linux drives just like we can do from Windows Explorer to open, copy and move documents.
Linux Reader automatically handles mounting and unmounting of drives , so you don’t need any knowledge of Linux to access the content stored on these drives. In the left column, all units are displayed.
To access all the functions offered by this application, we must go through the box and buy a license. If your needs are basic and you just need occasional access to drives with the Linux file system, the free version is more than enough.
Ext2Fsd allows us to mount drives in ext2, ext3 and ext4 format on our Windows computer to be able to access their content from Windows Explorer just as we can do with WSL. Once installed, it will invite us to restart the computer.
The application allows us to mount the unit so that it is only read (it does not allow us to copy and delete content) or to set read and write permissions, the best option if we want to share data between different units just as we can do natively with the Windows solution.
You can download Ext2Fsd from the following link , as its website is not available.
Other deprecated options
The number of applications that today allow us to access drives with Linux in ext4 format from Windows is very limited, if not practically non-existent. Except for the solution that Windows offers us are WSL and Linux Reader, the rest of the applications that were used for this function, stopped updating and are not compatible with ext4 .
Explore2fs was one of the first applications released to allow Windows to interact with drives with the ext2 and ext3 file system. However, and although the application is compatible with both Windows 10 and Windows 11, it is not compatible with the ext4 file system, the most widely used today.
Another interesting option to consider, only if the file system is ext2, is the Ext2 application. This application, with an interface very similar to the Windows file explorer, allows us to open, copy and move files between Windows and Linux drives, but only with the ext2 and ext3 file system. It is not compatible with ext4, so it is not a solution to read these types of drives.