How Windows Subsystem for Linux (WSL) Versions are Determined?

Windows Subsystem for Linux (WSL) is not a feature of Linux itself. Instead, WSL is a feature of the Microsoft Windows operating system. It allows you to run a Linux distribution alongside Windows, enabling you to use Linux command-line tools, utilities, and applications within a Windows environment.

WSL provides a compatibility layer that translates Linux system calls into Windows system calls, allowing you to run Linux software on a Windows machine without the need for a traditional virtual machine or dual-boot setup. It’s essentially a bridge between the Windows and Linux ecosystems.

While WSL provides a Linux-like environment and access to a Linux shell, it’s important to understand that it’s not a full Linux distribution or a replacement for a dedicated Linux installation. It’s designed for developers and users who need to work with Linux tools and utilities on a Windows system. Users can choose from various Linux distributions, such as Ubuntu, Debian, Fedora, and more, to run within WSL.

How does my computer determine which version of Windows Subsystem for Linux (WSL) to use when installing a Linux distribution?

The Windows Subsystem for Linux (WSL) version (WSL 1 or WSL 2) that a Linux distribution is installed on is determined by the WSL configuration for your system.

WSL 1 or WSL 2 Configuration: On your Windows system, you can configure the default WSL version using the wsl –set-version command. For example, you can set WSL to use WSL 2 as the default with the following command:

wsl --set-default-version 2

If you set the default to WSL 1:

wsl --set-default-version 1

The default version you set will determine the WSL version used by any new Linux distributions you install.

Distribution Installation: When you install a Linux distribution (e.g., Ubuntu, Debian) using the wsl –install command, the installation process checks the default WSL version you’ve configured. It installs the distribution as per the default version. For instance, if you’ve set the default to WSL 2, it will install the distribution as WSL 2.

Existing Distributions: For existing Linux distributions, the WSL version is determined when you first launch them. If you’ve configured WSL 2 as the default, launching a distribution for the first time will trigger a one-time conversion process to move it to WSL 2. Once converted, it will run as a WSL 2 distribution.

In summary, the installation of Linux distributions as WSL 1 or WSL 2 is influenced by your system’s default WSL version configuration. You can change the default version at any time using the wsl –set-default-version command, but it may require a system restart for the change to take full effect. Newly installed distributions will follow the default version, and existing ones can be converted to match the default version.

Is the command for installing Linux distribution on WSL is the same for both WSL1 and WSL2?

Yes, the command for installing a Linux distribution using the Windows Subsystem for Linux (WSL) is the same for both WSL 1 and WSL 2. You can use the following command to install a specific distribution:

wsl --install -d <DistributionName>

Replace with the name of the distribution you want to install (e.g., Ubuntu, Debian, Fedora). The installation process will automatically detect whether your system is configured for WSL 1 or WSL 2 and install the appropriate version of the distribution accordingly.

wsl --install -d Ubuntu
wsl --install -d Ubuntu-20.04

This command will download and install the specific version of Ubuntu (in this case, Ubuntu 20.04) for WSL 2.

Replace Ubuntu with the name of the distribution you want to install (e.g., Ubuntu, Debian, Fedora) and specify the desired version if needed.

After running the appropriate command, WSL will download and install the chosen Linux distribution, and you’ll be able to set up your user account and start using it.

Different Linux distributions are made for wsl1 and wsl2 ?

Linux distributions themselves are not specifically made for WSL 1 or WSL 2. Instead, the Windows Subsystem for Linux (WSL) technology provides two different execution environments (WSL 1 and WSL 2), and you can choose which environment you want to use with your preferred Linux distribution.

Here’s the key distinction:

WSL 1: This environment uses a translation layer to convert Linux system calls into Windows NT kernel calls. It doesn’t have its own Linux kernel but relies on Windows for system call translation. Linux distributions compatible with WSL 1 are typically packaged as .appx files and run on the Windows NT kernel.

WSL 2: This environment includes a full Linux kernel running in a lightweight virtual machine (VM) alongside the Windows NT kernel. It provides a more native Linux experience and is generally faster and more compatible with a wider range of Linux software. Linux distributions compatible with WSL 2 are typically distributed as virtual hard disk (VHD) images.

Most popular Linux distributions, such as Ubuntu, Debian, Fedora, and others, have official WSL 2 versions available for download from the Microsoft Store or other sources. Users can choose between WSL 1 and WSL 2 when installing a distribution based on their needs and preferences.

In summary, Linux distributions themselves are not inherently designed for WSL 1 or WSL 2; they are adapted to work in both environments, and users can select the environment that best suits their requirements. The choice between WSL 1 and WSL 2 mainly affects performance, compatibility, and certain functionality, rather than the distribution itself.

If you find this post important, share to your friends