Installing Windows Subsystem For Linux 2 Wsl2
Author: Stu FeeserWindows Subsystem for Linux 2 (WSL2) is a fast and efficient development platform that blows away WSL1. The older WSL1 is painfully slow for certain tasks. With WSL2 installed, you’ll have a complete ubuntu 20.04 system running on your Windows 10 machine, which performs like you are directly connected to a bare metal ubuntu server. We’ll use WSL2 for running other demonstrations in this series.
Objectives:
- Install WSL2
- Why WSL1 is not preferred
Tasks:
-
Make sure you are running the lastest Windows 10. Use the cmd.exe executable by pressing your Windows key and then typing in cmd to open up your cmd terminal. Then run
ver
inside the cmd terminal. You should see the following version or later:Microsoft Windows [Version 10.0.20348.1906] (c) Microsoft Corporation. All rights reserved. C:\Users\student>ver Microsoft Windows [Version 10.0.20348.1906] #<------------- GOOD, THIS VERSION SUPPORTS WSL2
-
If you do NOT see the current version as shown above or higher, then stop to upgrade your Windows 10. See you in about 20 minutes!
`Settings` ▸ `Update & Security` ▸ `Windows Update` ▸ `Install now`
-
Repeat the above, rebooting, installing, rebooting, installing, and rebooting and installing until your ancient OS is current! This is worth it!
-
If you have already installed WSL, you may have the old version. Check your current version. If it is VERSION 1, you have the OLD version. You want version 2. If you do not see this, you simply do not currently have WSL installed.
PS C:\Users\maxwellsmart>
wsl -l -v
NAME STATE VERSION * Ubuntu Running 1 #<------------- BUMMER, VERSION 1 (UPDATE REQUIRED)
Why is this relevant?
WSL1 is based on Microsoft’s Linux-compatible kernel interface, a compatibility translation layer with no Linux kernel code.
WSL2 is redesigned with a Linux kernel running in a lightweight VM environment, and innovators have found a lot more things they can do with WSL2. -
Open Windows PowerShell Run as an Administrator. Enter the command below windows DISM commands
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
-
Download and install the Linux kernel update package as per this documentation.
https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
-
You are going to reboot next, so this would be a great time to change your PC’s hostname. Most likely, your hostname is something like
3DGh23d-dell-eekzonk
which creates a horrible hostname on the linux command line as WSL adopts your Windows 10 hostname as the WSL2 hostname. Normally we always edit out hostname to be something generic likehostname
or justhost
.Settings
▸System
▸About
▸Rename this PC
If you are a course developer, changing your hostname to
host
will mean NEVER editing your hostname again. When you copy and paste your commands into the lab steps, your hostname will behost
. -
REBOOT
-
Set WSL2 as default. Open Windows PowerShell Run as an Administrator. Enter this command. It takes about five minutes to complete.
wsl --set-default-version 2
-
Install Ubuntu 22.04.3 on your Windows Subsystem for Linux (WSL2). Click Here.
a. Click Install
b. Click the X on the popup window so you don’t have to sign in.There is a possibility that WSL 2 needs an update to its kernel.If you see the message “WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel", in powershell (as administrator) run
wsl.exe --update
before trying to install ubuntu.You will not be using this application directly! We’re only allowing ubuntu to be opened in the Windows terminal.
-
When an ubuntu terminal pops up, you will be prompted for a user name and password. Consider a generic username like user as your username.
username
user
Why do this?
Because your linux prompt will now beuser@host
which is akin to John Belushi’s COLLEGE shirt, and will speed up your course writing since no edits are necessary from screen shots! -
Another option to install Ubuntu if you don’t have access to the Microsoft Store is via the command line. Open Powershell as Administrator.
-
Download the .appx version of Ubuntu you want to install.
PS C:\Users\student\Downloads>
curl.exe -L -o ubuntu-2204.appx https://aka.ms/wslubuntu2204
-
Now install the package.
PS C:\Users\student\Downloads>
Add-AppxPackage .\ubuntu-2204.appx
-
Finally set the wsl version if you haven’t done so already.
PS C:\Users\student\Downloads>
wsl --set-default-version 2