Windows 10 has a new feature called the Windows Subsystem for Linux. This allows you to run a Linux distribution on top of Windows 10. This can be useful if you want to use a different operating system on your computer but don’t want to switch to Linux. To use the Windows Subsystem for Linux, you first need to install it. You can do this by following these steps:
- Open the Start menu and search for “Windows Subsystem for Linux.” When it appears in the results, click on it to open the app.
- Click on “Install.”
- On the next screen, click on “Add an Ubuntu image.”
- On the next screen, select “Ubuntu 18.04 LTS (Bionic Beaver).” Click on Next to continue. Select your storage location and click on Next . In this example we are using an external hard drive . However, you could also use an SD card or USB drive . If you are using an external hard drive , make sure that it is plugged into your computer and has enough free space . The size of Ubuntu 18.04 LTS (Bionic Beaver) is about 4GB . After you have selected your storage location , click on Next . On the next screen , verify that everything looks correct and click on Finish . After Ubuntu 18.04 LTS (Bionic Beaver) has been installed , close Windows Subsystem for Linux by clicking on Exit in the app’s main window . Now open a command prompt by pressing Win + R and typing cmd into the box that appears . At the command prompt, type cd /mnt/usbserial-HDXJ-XXXXXX where XXXXXXX is your external hard drive’s letter followed by a colon ( : ). For example, if your external hard drive’s letter is H: , type cd / ..
Starting with Windows 10’s Fall Creators Update, the Windows Subsystem for Linux now allows you to manually mount drives. It still automatically mounts all internal NTFS drives. However, you can now manually mount external drives and network folders using the Linux mount command.
How to Mount External Devices
RELATED: Everything You Can Do With Windows 10’s New Bash Shell
The Windows Subsystem for Linux still automatically mounts fixed NTFS drives. So, if you have an internal C: drive and D: drive, you’ll see them at /mnt/c and /mnt/d in the Linux environment.
DrvFs now allows you to mount external drives like USB sticks, CDs, and DVDs. These devices must use a Windows file system like NTFS, ReFS, or FAT. You still can’t mount devices formatted with a Linux file system like ext3 or ext4.
Like with internal drives, these external drives will still remain accessible in Windows after you’ve mounted them in the Linux environment. Mounting them just also makes them accessible from the shell environment, too.
Let’s say you have an external drive G: that represents either a USB drive or an optical disc drive. To mount it, you’d run the following commands:
You don’t actually have to mount the drive at /mnt/g , of course. You can mount it wherever you want. Just replace both instances of /mnt/g in the commands with your desired path.
To unmount the drive later so you can safely remove it, run the standard umount command:
When working with an external device formatted with a FAT file system or any network file system, there are some limitations. The file system will not be case sensitive and you can’t create symbolic links or hard links on it.
How to Mount Network Locations
You can also mount network locations. Any network location you can reach from within Windows, you can mount from the Linux shell.
Network locations can be mounted in one of two ways. If you map a network drive to a drive letter, you can mount it using the same options as above. This would give you an opportunity to easily sign into the network share and enter your credentials in File Explorer. For example, if your mapped network drive is F:, you could run the following commands to mount it:
You can also specify a drive using its UNC (Universal Naming Convention) path. For example, if the path to the network share is \server\folder , you’d run the following command. Again, use whatever mount point you like in place of /mnt/folder.
RELATED: How to Map Network Drives From the Command Prompt in Windows
The Windows Subsystem for Linux environment does not provide any way to specify the credentials you want to use. You can specify the credentials by navigating to the folder in File Explorer in Windows, entering them via the Credential Manager, or by using the net use command.
You can run the net use command from within the Linux environment, as the Windows Subsystem for Linux allows you to launch Windows software from the Linux command line. Just run the command like so:
For example, the following command would connect to \server\folder with the username Bob and the password LetMeIn and map it to your F: drive. Here’s the command you’d run:
After you connect once, Windows would remember this username and password and automatically use them, even when you use the mount command within the Linux environment.
To unmount a network location, you can use the standard umount command, once again:
DrvFs doesn’t set the Linux permissions accurately when you mount a network location. Instead, all files on the network file system appear to have the full access permission (0777) and you can only see if you have access to a file by trying to open it. The file system will also not be case sensitive and you can’t create symbolic links on them.