← All guides AI Release
RU Subscribe to @ai_release1

WSL 3.0 download: 3.0.3.0 x64 build, release date and upgrade from WSL 2

Updated: 01.11.2026 · AI Release · @ai_release1
WSL 3.0 download: 3.0.3.0 x64 build, release date and upgrade from WSL 2

TL;DR

Requirements and setup

Illustration: Requirements and setup
Illustration: Requirements and setup

Step 1. Take inventory of the current installation and back up a distribution

What to do: Open PowerShell as Administrator, record your current WSL version, check the required features, and export one distribution to a .tar file before touching anything.

wsl --version
wsl --status
wsl --list --verbose
Get-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform | Select-Object FeatureName, State
Get-CimInstance Win32_Processor | Select-Object Name, VirtualizationFirmwareEnabled
Get-PSDrive C | Select-Object Used, Free

Then create the backup (replace Ubuntu with your distribution name and D:\wsl-backup with an existing folder):

New-Item -ItemType Directory -Force -Path D:\wsl-backup | Out-Null
wsl --export Ubuntu "D:\wsl-backup\ubuntu-$(Get-Date -Format yyyyMMdd).tar"

Example: wsl --list --verbose on a working installation prints a header plus one line per distribution:

  NAME      STATE           VERSION
* Ubuntu    Stopped         2

The VERSION column shows 2, which means the distribution runs on the WSL 2 architecture. wsl --version prints a block of fields; the first one tells you which branch of the package is answering:

WSL version: <major>.<minor>.<build>.<revision>
Kernel version: <kernel-version>
WSLg version: <wslg-version>
Windows version: <windows-build>

Why: The update is a package replacement, but you still need a rollback point and you need to know whether wsl.exe is answered by the old inbox component or by the updatable package. The kernel line also proves the lightweight utility VM boots — a hard prerequisite for containers.

How to check: The checklist below should be fully ticked before you continue.

If VirtualizationFirmwareEnabled is False, stop and enable VT-x/AMD-V in UEFI before step 2.

Step 2. Update the WSL package to the 3.x branch

Illustration: Step 2. Update the WSL package to the 3.x branch
Illustration: Step 2. Update the WSL package to the 3.x branch

What to do: Shut down all running distributions, update the package, and then check which default-version values your build accepts.

wsl --shutdown
wsl --update
wsl --version
wsl --help

If wsl --update fails because the Store or Windows Update endpoint is unreachable, use the direct download path — but first confirm the flag exists in your build by searching wsl --help output:

wsl --help | Select-String -Pattern "web-download"
wsl --update --web-download

Now read the supported values for the default version and, only if 3 is listed, make it the default for new distributions:

wsl --help | Select-String -Pattern "set-default-version"
wsl --set-default-version 3

Example: a successful run ends with a short progress indicator and a sentence that the update was installed; wsl --version afterwards reports WSL version: 3.<minor>.<build>.<revision>. If the printed value still starts with 2., the old component is still answering — see Troubleshooting.

Why: WSL ships as a Windows package separate from the OS image, so wsl --update swaps the binary and kernel without reinstalling Windows. wsl --shutdown first is required because a running utility VM keeps the old files locked. The --set-default-version value controls only *new* distributions; existing ones keep their recorded version until you convert them, and the source material does not describe a forced per-distribution migration, so check the release notes before converting anything (check the documentation).

How to check: Run the three commands below and confirm each line.

wsl --version
wsl --status
wsl --list --verbose

On the reported build number: the channel report announces WSL 3.0 as published and available to everyone but does not publish a build string or a release date, so verify 3.0.3.0 against the installed output of wsl --version and the official release notes rather than trusting a third-party number.

Step 3. Verify the update and run a Linux container

What to do: Prove that three things work: the new build answers, a distribution starts on the new kernel, and the container capability described in the release is present on your machine.

wsl --version
wsl --help | Select-String -Pattern "container"
wsl -d Ubuntu -- uname -r
wsl -d Ubuntu -- sh -c "curl -s -o /dev/null -w '%{http_code}\n' https://example.com"

Example: inside the distribution uname -r prints a kernel release string such as 6.6.x.x-1, and the curl line prints exactly 200, which means DNS and outbound HTTPS work from inside WSL. wsl --help | Select-String -Pattern "container" returns the help lines for the container capability — if it returns nothing, your wsl.exe is still the pre-3.0 build.

CheckCommandPass condition
Build branch`wsl --version`first line starts with `3.`
Distribution state`wsl --list --verbose`your distro listed, no error
Kernel`wsl -d Ubuntu -- uname -r`a kernel release string is printed
Network`curl ... https://example.com``200`
Container capability`wsl --help \Select-String container`at least one matching help line

For the container run itself: the source material confirms that WSL 3.0 can run Linux containers in Windows but does not name the subcommand, so take the exact syntax from wsl --help on your build or from the official documentation (check the documentation). Do not paste a command from a blog post into an elevated shell without confirming it appears in your own wsl --help.

Why: A version string alone only proves a package was replaced. Starting a distribution proves the kernel launched, curl proves the virtual network stack is intact, and the help search proves the container feature shipped in the binary you actually run.

Troubleshooting

Problem. wsl --update fails immediately with a network error.

Problem. A distribution no longer starts after the update.

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -All
Restart-Computer

After the reboot, Get-CimInstance Win32_Processor | Select-Object VirtualizationFirmwareEnabled must return True before wsl -d Ubuntu will succeed.

Problem. wsl --version still reports WSL version: 2.<...> after a "successful" update.

wsl --shutdown
Get-AppxPackage *WindowsSubsystemForLinux* | Select-Object Name, Version
wsl --update --web-download
wsl --version

If the version string still starts with 2., remove the stale package, reinstall from the documented source, and restore your data with wsl --import Ubuntu C:\wsl\Ubuntu D:\wsl-backup\ubuntu-<date>.tar --version 3.

Summary and next steps

You now have a WSL package on the 3.x branch, a bootable distribution on the new kernel, a verified network stack, and a .tar backup you can restore with wsl --import. Next, read the container syntax from wsl --help on your own build and confirm the exact build number and release date in the official release notes before quoting them anywhere.

FAQ

Is WSL 3.0 an x64-only release, and is 3.0.3.0 the official build number?

The channel report says the release is available to all users and that it adds Linux containers, but it publishes neither an architecture matrix nor a build string. Read the real values from wsl --version on your machine and cross-check 3.0.3.0 against the official release notes (check the documentation).

Do I have to reinstall my Ubuntu distribution after updating to WSL 3.0?

No. The update replaces the WSL package and kernel; distributions keep their files on disk. Export with wsl --export Ubuntu D:\wsl-backup\ubuntu.tar before updating so you can restore with wsl --import if anything breaks.

What is the release date of WSL 3.0?

The source material confirms publication and general availability but gives no date. Confirm it on the official release notes page — do not rely on the date printed in aggregator posts.

Does WSL 3.0 mean I can drop Docker Desktop?

WSL 3.0 adds the ability to run Linux containers directly in Windows, which is new for WSL. The source material makes no comparison with Docker Desktop and names no container CLI or image registry, so evaluate that decision against the official documentation for your build.

🤖 AI summary