Skip to content

/changelogs/wsl/wsl1-to-wsl2

WSL 1 vs WSL 2: what changed and how to convert a distribution

The commands on this page have not been executed by our verification runner yet.updated 2026-10-20
tool
WSL
versions
WSL 1 → WSL 2

WSL 1 translated Linux system calls into Windows calls. WSL 2 runs a real Linux kernel in a lightweight utility VM, so every Linux program works (Docker, systemd, FUSE), and file operations inside the Linux file system are much faster. New installations default to WSL 2.

Differences

AreaWSL 1WSL 2
Kerneltranslation layerreal Linux kernel, updated through WSL
System call compatibilitypartialfull
Linux files (~/)slowerfast (ext4 virtual disk)
Windows files (/mnt/c)fastslower (network file protocol)
Networkingshares the Windows IPNAT by default; mirrored mode available
systemdnoyes, with [boot] systemd=true in /etc/wsl.conf
Docker Desktop backendnoyes

Check and convert

powershell
wsl --list --verbose                 # NAME, STATE, VERSION
wsl --set-version Ubuntu 2           # convert one distribution
wsl --set-default-version 2          # default for new installs
wsl --update                         # update the WSL package and kernel
wsl --shutdown                       # stop the VM, e.g. after changing .wslconfig

Settings files

  • %UserProfile%\.wslconfig: VM-wide settings for WSL 2, such as memory, processors and networkingMode=mirrored.
  • /etc/wsl.conf inside each distribution: per-distro settings such as [boot] systemd=true and the default user.

Run wsl --shutdown after editing either file so the changes take effect.

Sources