Using WSL for non-obvious tasks

  • WSL allows you to run Linux integrated into Windows, combining tools from both systems without resorting to heavy virtual machines or dual booting.
  • WSL 2 uses a real Linux kernel on top of Hyper-V, improving performance and compatibility, and becoming an ideal base for Docker and backend development.
  • File and command interoperability between Windows and Linux enables less obvious tasks such as accessing ext4, data recovery, or mixed administration workflows.
  • WSL is excellent for development and learning, but for intensive production workloads or to exploit the full potential of Linux, it is still better to use a real machine or a traditional VM.

Using WSL for non-obvious tasks

If you've been developing on Windows for a while, you've probably heard of WSL, the Windows Subsystem for Linuxalmost as if it were a panacea. Many sell it as the definitive way to transform Windows into a "serious" development environment, on par with Linux or macOS. Others, however, view this technology with considerable suspicion and see it as a strategic move by Microsoft to maintain its control over the desktop.

The interesting thing is that, beyond the typical basic installation, there are WSL uses for less obvious tasks which can make a big difference in your day-to-day life: from debugging Linux services without leaving Windows, to using it for system administration, Docker development, or even advanced access to ext4 file systemsLet's take a closer look at exactly what WSL is, how it has evolved, in what cases it truly shines... and when it might be better to install a "real" Linux on your physical machine or on a virtual machine.

What is WSL and why has it generated so much buzz?

WSL stands for Windows Subsystem for Linux, a feature of Windows 10 and 11 that allows you to run a nearly complete GNU/Linux environment within Windows, without needing to boot a traditional virtual machine or use dual boot.

Microsoft's idea has been to offer The advantages of Linux directly within the Windows desktopAccess to Bash, console tools, package managers like apt or dpkg, compilers, servers, etc. All in the most integrated experience possible, with file sharing between Windows and Linux and the ability to launch Linux commands from PowerShell or CMD.

This commitment has been especially relevant because Linux dominates in servers, supercomputing and AIWhile Windows remains the undisputed king of the desktop, WSL attempts to bridge the gap between these two worlds so that developers don't have to choose between one working environment and the other, but can combine both simultaneously.

Since its debut, WSL has generated very different opinions: some Linux users see it as an "adopt, extend, and extinguish" maneuver, while many Windows developers consider it an essential tool for modern developmentespecially with technologies like Docker, Node.js or backend environments that work better on Linux.

Evolution of WSL: from the compatibility layer to WSL 2

The first generation, WSL 1It relied on a translation layer between Linux system calls and the Windows kernel. It was something like an intermediary bridge that allowed Linux binaries to run without fully virtualizing the operating system.

With WSL 2Microsoft changed its approach and now runs a real Linux kernel inside a lightweight virtual machine based on Hyper-V virtualizationOfficially, Microsoft describes it as an optimized virtualization utility that doesn't resemble a traditional VM: it boots very quickly, consumes fewer resources, and is tightly integrated with Windows.

The move to WSL 2 brought very noticeable improvements in performance and compatibility with Linux software: better support for containers like Docker, the ability to use more tools that depend on a real kernel, and in general an experience closer to a Linux installed on a physical machine.

The main weakness of WSL 2 is in file system performance When projects are stored on the Windows side (for example, in C:\Users…), Microsoft recommends saving code and data in the Linux file system (usually /home or paths within the distro) to avoid bottlenecks and achieve acceptable performance.

Over time, WSL 2 has also incorporated official support for Linux graphical applications running on Windows, which opens the door to using native Linux editors, design tools or GUI utilities from the Windows desktop without resorting to third-party solutions such as external X servers or VNC.

Where WSL shines compared to other solutions

One of the great attractions of WSL is that it allows Use Linux without leaving the Windows desktop environmentThere's no need to partition the disk, configure a boot manager, or constantly restart to change operating systems.

Compared to a classic virtual machine in VirtualBox or VMware, WSL offers a much more natural integration with WindowsYou can access C: files from Linux (via /mnt/c), use Git credentials stored in the Windows Credential Manager, launch processes from one side to the other, and more. Furthermore, the distro boots in seconds and only consumes resources when you're actually using it.

This philosophy makes WSL ideal for users who want to take advantage of Linux console tools (git, ssh, compilers, package managers) without giving up typical Windows applications such as Office, specific graphics tools or video games.

It is also very practical for profiles that are taking their first steps in LinuxThey can learn commands, Create Bash scripts on Windows using WSLYou can break the distro, reinstall it… all without touching the main Windows system or risking rendering the computer unusable. If something goes wrong, you simply remove the WSL distribution and start again from scratch.

Another important strength is the hardware supportMany laptops and desktop computers have somewhat inconsistent Linux desktop support (Wi-Fi drivers, sleep mode, hybrid graphics, etc.). With WSL, the hardware is still managed by Windows, so the Linux environment indirectly inherits that compatibility without any major issues.

WSL versus virtual machines, dual boot and Docker

It's easy to think that WSL and a virtual machine are the same, but in practice there are important differences. In a classic VM, the guest Linux system is completely isolated From the host's perspective: it has its own virtual disk, simulated hardware, and boot process. WSL 2 does offer virtualization, yes, but the goal is for the user to feel like they are part of Windows itself.

In terms of resource consumption, WSL 2 tends to be lighter than a full virtual machineA virtual machine (VM) needs to allocate a fixed amount of RAM and maintain a full Linux desktop environment if using a graphical interface. WSL only starts the necessary services and can boot in just over a second, making it very convenient for short work sessions.

If you need getting the most out of Linux For intensive workloads, scaling services, testing complex network configurations, or using a fully customizable desktop environment, a traditional VM remains more flexible. But for development tasks, scripting, terminal tools, or lightweight servers, WSL is often sufficient and more convenient.

Compared to a system in dual bootWSL has the advantage of not requiring reboots to switch between Windows and Linux, and it allows for fairly straightforward file sharing between the two. However, if you want to take full advantage of Linux's performance (for example, for native gaming, intensive computing, or working exclusively in that environment), installing the distro on physical hardware remains the best option.

Versus DockerThe comparison is different: Docker doesn't aim to offer a complete Linux system, but rather lightweight containers for specific services. WSL 2, in fact, is the support that makes Docker run much more smoothly on Windows, as it provides the necessary Linux kernel. For isolating production services, Docker remains more suitable; for developing and managing with standard system tools, WSL is the ideal foundation upon which Docker relies.

WSL for developers: real workflows

Using WSL for non-obvious tasks

WSL's great strength is that it makes it easier for the developers work in an environment similar to productionwhich is almost always Linux, without abandoning Windows as the primary system. This reduces surprises like "it works on my machine, but not on the server" by aligning versions of libraries, package managers, and services, and makes it easier Configure a CI/CD flow using GitHub Actions when continuous integration is needed.

For web development with Node.js or TypeScriptFor example, WSL allows you to install Node and tools like NVM on Linux, even when certain utilities aren't officially supported on Windows or perform less well. You run the Node server within WSL, access it from a Windows browser, and edit the code with VS Code by integrating the Linux distribution's terminal.

With Docker The leap is even more remarkable: previously, Docker on Windows was cumbersome, limited, and caused significant performance issues. By being able to use Docker on WSL 2, Linux containers run much more closely to how they would on a real server, with improved I/O performance and fewer intermediate layers.

The same applies to other development ecosystems that have always had some drawbacks in Windows: Ruby, "serious" server-side Python, local CI tools, database servers like PostgreSQL or Redis… All of this feels much more natural in WSL than in native Windows ports.

Furthermore, WSL integrates seamlessly with Windows TerminalThis application lets you open multiple tabs and profiles—PowerShell, CMD, and various Linux distributions—all in the same window. This allows you to switch between shells with a single click, customize colors and fonts, and simplify your daily workflow with one powerful terminal.

Install and manage WSL (including key details)

In recent versions of Windows 10 and Windows 11, the basic installation of WSL has been greatly simplified. Simply open PowerShell with administrator permissions and run:

wsl --install

That command is responsible for installing the WSL component and downloading a default Linux distribution, normally UbuntuAt the end, the first time you open that distro you will be asked to create a Linux-specific username and password, which are separate from your Windows account.

If you want to see what other distributions are available, you can list the options with:

wsl --list --online

The list will include distributions such as Debian, Kali Linux, openSUSE, and others. To install a specific one, use:

wsl --install -d <nombre_distribucion>

You can also manage the WSL version used. To check which version is associated with each installed distribution:

wsl -l -v

If you want WSL 2 to be the default version when installing new distributions, use:

wsl --set-default-version 2

And if you already have a distro in WSL 1 and want to upgrade it to WSL 2, the command is:

wsl --set-version <nombre_distribucion> 2

In some older installations, a notice may appear stating that WSL 2 needs a kernel updateIn that case, you need to download the official Linux kernel installer for WSL from the URL indicated in the message itself, run it, restart, and repeat the WSL 2 conversion command.

File access, interoperability, and less obvious tasks

One of WSL's most powerful capabilities is the interoperability between file systemsFrom Linux, you can easily access Windows drives in paths such as /mnt/c, /mnt/detc., which allows editing files with tools on both sides with considerable freedom.

Even more interesting, WSL allows that Windows accesses ext4 file systems used by Linux. If you have an ext4 disk or partition connected to your computer, WSL can help you. handling file attributes in Linux You can now mount and explore that content without needing to install third-party tools on Windows. However, all of this is done from the Linux command line, without a native graphical interface in the browser.

This capability makes WSL a very useful tool for Recover data from Linux disksWorking with advanced server configurations or moving projects between physical and virtual environments is a feature that often goes unnoticed, but it can save you many hours when dealing with Linux partitions from a Windows system.

Another less obvious use is the possibility of Run Windows programs from Linux and vice versaFrom PowerShell you can launch Linux commands by prefixing wsl (for example, wsl ls), and from the WSL console you can launch Windows executables by specifying the appropriate path and extension .exe, which opens up interesting mixed workflows.

For your first contact with the Linux shell in WSL, it is advisable to familiarize yourself with basic commands: ls, cd, pwd, as well as with package management (sudo apt update && sudo apt upgrade) to keep the system updated and ready to install development tools.

WSL 2: FAQs, networking, GPUs, and production

WSL 2 is available on both Windows 10 Home (starting with certain builds) such as in Windows 11 Home and Pro, provided that the hardware and BIOS have virtualization enabled. Internally, it uses the technology of Hyper-VHowever, Microsoft has worked to make it compatible with other virtualization tools such as VirtualBox or VMware, especially in their most recent versions.

One of the important advances has been the GPU access from WSL 2 (See how to install CUDA on WindowsThis allows for the acceleration of computing tasks, AI work, or graphics in certain scenarios. This functionality continues to evolve and requires compatible drivers and hardware, but it opens the door to uses that were previously only available with a Linux system installed on a physical machine.

At the network level, WSL 2 operates with a virtualized interface, which introduces some extra layers in communicationMost network applications run smoothly, but some performance penalty may be noticeable in very low-level tasks or specific performance tests. However, for normal development with web servers, databases, or APIs, it is usually perfectly usable.

As for use in production environmentsMicrosoft insists that WSL is primarily designed for development and testing. It's excellent for replicating server-like environments, but for critical workloads and serious scaling, deployment on native Linux, traditional virtual machines, or containers on dedicated platforms remains recommended.

WSL also allows you to perform backups and migrations of distributions You can use export and import commands, as well as move files to a drive other than C: if you need to free up space or reorganize your storage. These options increase your flexibility without losing integration with Windows.

WSL, Linux on a real machine and the future of the desktop

All of the above does not change the fact that, for many users, the best option remains using Linux directly on a physical machine and relegating Windows to a virtual machine when needed. Among the most frequently cited reasons is the increased hardware requirements of Windows (especially in Windows 11 with TPM, supported CPUs, and so on), which excludes many perfectly usable computers.

With a good Linux distribution installed on the main disk, you can take advantage of older hardware that Windows 11 no longer officially supports, and at the same time run Windows 10/11 in a VM for those applications that require it, bypassing requirements such as TPM or certain CPU checks.

The popularization of devices such as Steam Deck and SteamOS It also points to a future where Linux is gaining ground on the desktop, especially in gaming. A larger number of Linux users encourages hardware manufacturers to offer better official support (drivers, configuration software, advanced features), benefiting the entire ecosystem.

In this context, the use of WSL has a curious consequence: although it makes life much easier for Windows developers, It does not increase the market share of Linux as a desktop systemSince the "real" operating system that governs the machine is still Windows, this may delay some manufacturers' interest in investing heavily in Linux.

The more users who start using Linux on physical machines, the more pressure there will be on manufacturers to improve drivers, Wi-Fi compatibility, sound cards, RGB devices, and game controllers. WSL is very helpful for productivity, but it doesn't replace the impact of a user booting a Linux distribution directly on their main computer.

Limitations, common problems, and where WSL is headed

WSL, especially in its first version, had clear limitations in kernel access and compatibilityTools that relied on low-level features didn't work correctly (like Docker in WSL 1). Many of these shortcomings were resolved with WSL 2, but some issues remain.

La network connectivity It goes through several layers, which in very specific situations can affect the performance of services that operate at a very low level. Some peripherals also don't integrate perfectly due to how Hyper-V manages virtualized hardware.

There are also perception challenges: by being able to use complete Linux environments from within Windows, some users may conclude that It's no longer worth installing a native Linux desktopThis reduces exposure to the real advantages of a free and fully independent system.

In the server field, although WSL can be used in Windows ServerMany distributions available in the Microsoft Store are not intended to behave as complete server systems (for example, they do not use systemd by default), which complicates the management of services and daemons in a traditional way.

Furthermore, WSL is not free of installation and configuration errorsError codes such as 0x80070003, 0x80370102, or 0x8007019e usually indicate problems with the installation location, the WSL component not being activated, or virtualization being disabled in the BIOS. Updating Windows, enabling the correct optional features, and ensuring that Hyper-V and hardware virtualization are enabled usually resolves most of these issues.

There is also an interesting parallel with the Windows Subsystem for Android Introduced in Windows 11, this feature allows Android apps to run seamlessly using similar technology. This demonstrates that Microsoft sees great potential in this hybrid model of running other systems within Windows without resorting to traditional VMs, and makes it clear that WSL will continue to receive attention and improvements in the medium term.

Overall, WSL has become a very powerful tool for reconciling the Windows world with the Linux ecosystem, and although it still suffers from technical and strategic limitations, it offers today a very attractive balance between convenience, integration and access to professional tools which, if used properly, can completely transform the way you develop and manage systems from your PC.

create hybrid Windows–Linux workflows
Related article:
How to create hybrid Windows–Linux workflows in modern environments