- Manual installation steps for older versions of WSL
- Step 1 — Enable the Windows Subsystem for Linux
- Step 2 — Check requirements for running WSL 2
- Step 3 — Enable Virtual Machine feature
- Step 4 — Download the Linux kernel update package
- Step 5 — Set WSL 2 as your default version
- Step 6 — Install your Linux distribution of choice
- Troubleshooting installation
- Downloading distributions
- Install Windows Terminal (optional)
- Installing WSL2
- Install the latest WSL
- Set the default version for WSL distributions to version 2.
- Install a Linux Distribution
- Set the root password
- Upgrade all packages
- Enable systemd
- Restart
- What could possibly go wrong?
- Source
Manual installation steps for older versions of WSL
For simplicity, we generally recommend using the wsl —install to install Windows Subsystem for Linux, but if you’re running an older build of Windows, that may not be supported. We have included the manual installation steps below. If you run into an issue during the install process, check the installation section of the troubleshooting guide.
Step 1 — Enable the Windows Subsystem for Linux
You must first enable the «Windows Subsystem for Linux» optional feature before installing any Linux distributions on Windows.
Open PowerShell as Administrator (Start menu > PowerShell > right-click > Run as Administrator) and enter this command:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
We recommend now moving on to step #2, updating to WSL 2, but if you wish to only install WSL 1, you can now restart your machine and move on to Step 6 — Install your Linux distribution of choice. To update to WSL 2, wait to restart your machine and move on to the next step.
Step 2 — Check requirements for running WSL 2
To update to WSL 2, you must be running Windows 10.
- For x64 systems: Version 1903 or later, with Build 18362.1049 or later.
- For ARM64 systems: Version 2004 or later, with Build 19041 or later.
Builds lower than 18362 do not support WSL 2. Use the Windows Update Assistant to update your version of Windows. The Windows version 1903 support is also only for x64 systems. If you are using an Arm64 version of Windows, you will need to upgrade to Windows 10 version 2004 or later for full access to WSL 2. For more info, see WSL 2 support coming to Windows 10 Versions 1903 and 1909.
To check your version and build number, select Windows logo key + R, type winver, select OK. Update to the latest Windows version in the Settings menu.
If you are running Windows 10 version 1903 or 1909, open «Settings» from your Windows menu, navigate to «Update & Security» and select «Check for Updates». Your Build number must be 18362.1049+ or 18363.1049+, with the minor build # over .1049. Read more: WSL 2 Support is coming to Windows 10 Versions 1903 and 1909.
Step 3 — Enable Virtual Machine feature
Before installing WSL 2, you must enable the Virtual Machine Platform optional feature. Your machine will require virtualization capabilities to use this feature.
Open PowerShell as Administrator and run:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Restart your machine to complete the WSL install and update to WSL 2.
Step 4 — Download the Linux kernel update package
If you’re using an ARM64 machine, please download the ARM64 package instead. If you’re not sure what kind of machine you have, open Command Prompt or PowerShell and enter: systeminfo | find «System Type» . Caveat: On non-English Windows versions, you might have to modify the search text, translating the «System Type» string. You may also need to escape the quotations for the find command. For example, in German systeminfo | find ‘»Systemtyp»‘ .
Once the installation is complete, move on to the next step — setting WSL 2 as your default version when installing new Linux distributions. (Skip this step if you want your new Linux installs to be set to WSL 1).
Step 5 — Set WSL 2 as your default version
Open PowerShell and run this command to set WSL 2 as the default version when installing a new Linux distribution:
Step 6 — Install your Linux distribution of choice
- Open the Microsoft Store and select your favorite Linux distribution. The following links will open the Microsoft store page for each distribution:
- Ubuntu 18.04 LTS
- Ubuntu 20.04 LTS
- Ubuntu 22.04 LTS
- openSUSE Leap 15.1
- SUSE Linux Enterprise Server 12 SP5
- SUSE Linux Enterprise Server 15 SP1
- Kali Linux
- Debian GNU/Linux
- Fedora Remix for WSL
- Pengwin
- Pengwin Enterprise
- Alpine WSL
- Raft(Free Trial)
- From the distribution’s page, select «Get».
The first time you launch a newly installed Linux distribution, a console window will open and you’ll be asked to wait for a minute or two for files to de-compress and be stored on your PC. All future launches should take less than a second.
CONGRATULATIONS! You’ve successfully installed and set up a Linux distribution that is completely integrated with your Windows operating system!
Troubleshooting installation
If you run into an issue during the install process, check the installation section of the troubleshooting guide.
Downloading distributions
There are some scenarios in which you may not be able (or want) to, install WSL Linux distributions using the Microsoft Store. You may be running a Windows Server or Long-Term Servicing (LTSC) desktop OS SKU that doesn’t support Microsoft Store, or your corporate network policies and/or admins do not permit Microsoft Store usage in your environment. In these cases, while WSL itself is available, you may need to download Linux distributions directly.
If the Microsoft Store app is not available, you can download and manually install Linux distributions using these links:
- Ubuntu
- Ubuntu 22.04 LTS
- Ubuntu 20.04
- Ubuntu 20.04 ARM
- Ubuntu 18.04
- Ubuntu 18.04 ARM
- Ubuntu 16.04
- Debian GNU/Linux
- Kali Linux
- SUSE Linux Enterprise Server 12
- SUSE Linux Enterprise Server 15 SP2
- SUSE Linux Enterprise Server 15 SP3
- openSUSE Tumbleweed
- openSUSE Leap 15.3
- openSUSE Leap 15.2
- Oracle Linux 8.5
- Oracle Linux 7.9
- Fedora Remix for WSL
This will cause the .appx packages to download to a folder of your choosing.
If you prefer, you can also download your preferred distribution(s) via the command line, you can use PowerShell with the Invoke-WebRequest cmdlet. For example, to download Ubuntu 20.04:
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
If the download is taking a long time, turn off the progress bar by setting $ProgressPreference = ‘SilentlyContinue’
You also have the option to use the curl command-line utility for downloading. To download Ubuntu 20.04 with curl:
curl.exe -L -o ubuntu-2004.appx https://aka.ms/wslubuntu2004
In this example, curl.exe is executed (not just curl ) to ensure that, in PowerShell, the real curl executable is invoked, not the PowerShell curl alias for Invoke-WebRequest.
Once the distribution has been downloaded, navigate to the folder containing the download and run the following command in that directory, where app-name is the name of the Linux distribution .appx file.
Add-AppxPackage .\app_name.appx
Once the Appx package has finished downloading, you can start running the new distribution by double-clicking the appx file. (The command wsl -l will not show that the distribution is installed until this step is complete).
If you are using Windows server, or run into problems running the command above you can find the alternate install instructions on the Windows Server documentation page to install the .appx file by changing it to a zip file.
Once your distribution is installed, follow the instructions to create a user account and password for your new Linux distribution.
Install Windows Terminal (optional)
Using Windows Terminal enables you to open multiple tabs or window panes to display and quickly switch between multiple Linux distributions or other command lines (PowerShell, Command Prompt, Azure CLI, etc). You can fully customize your terminal with unique color schemes, font styles, sizes, background images, and custom keyboard shortcuts. Learn more.
Installing WSL2
Notice I used $ProgressPreference = ‘SilentlyContinue’ . It significantly increases the download performance using Invoke-WebRequest . Maybe «increases» is the wrong word, it makes the download performance normal.
Install the latest WSL
should return something like: WSL version: 1.1.6.0
Set the default version for WSL distributions to version 2.
The original WSL (version 1) was quite an amazing feat. Linux syscalls could execute against a Windows NT Kernel. While it worked with almost everything, it didn’t work with everything, thus version 2 was born, when Microsoft decided to bundle Windows (10 and 11) with TWO kernels, the Windows NT one, and a real Linux one.
Install a Linux Distribution
You’ll notice while WSL is now installed, you have no Linux distributions in your list, so you need to install one.
There are lots to choose from, but I would recommend Ubuntu 20.04 LTS. Odds of things working using arguably the most popular Linux distribution are higher than not.
$downloadUrl="https://aka.ms/wslubuntu2204" # download it: $ProgressPreference = 'SilentlyContinue'; Invoke-WebRequest -Uri $downloadUrl -OutFile .\Downloads\wslubuntu2204.AppxBundle # install the exe: If ($PSVersionTable.PSEdition -eq "Core") < Import-Module Appx -UseWindowsPowerShell >Add-AppxPackage .\Downloads\wslubuntu2204.AppxBundle
While you could navigate to the Windows Store, and search for Ubuntu, this method is just a bit faster and nerdier.
# run the exe ubuntu.exe # when prompted, enter a username of your choice # when prompted for a password, enter a password of your choice
Set the root password
It might be handy to have the root password in case something happens to your sudoers file. Set it like so:
sudo passwd # exit when you're done
Upgrade all packages
sudo apt update sudo apt upgrade # clean up later sudo apt autoremove
Enable systemd
Restart
Relaunch, check if it works
ps -p 1 -o comm --noheaders | grep -q systemd && echo 'Congratulations, systemd is enabled' || echo "Still using the 'ol init"
What could possibly go wrong?
If you happen to be running Windows on ARM, you might get this error:
Installing, this may take a few minutes. WslRegisterDistribution failed with error: 0x80370109 Error: 0x80370109 The operation timed out because a response was not received from the virtual machine or container.
If you are running Windows 10 on ARM, give up now and install Windows 11. Seriously, on ARM don’t even think about running WSL2 on Windows 10. Save yourself a world of pain. Windows 11 has significantly improved support for ARM.
Source
Copyright © Guide 2 WSL 2021