WSL 2 will be generally available in Windows 10, version 2004

Craig Loewen

Craig

WSL 2 will soon be officially available as part of Windows 10, version 2004! As we get ready for general availability, we want to share one additional change: updating how the Linux kernel inside of WSL 2 is installed and serviced on your machine. We’ve heard lots of community feedback that the install experience could be streamlined, and we’re taking the first step towards this by improving the servicing model of the Linux kernel. We’ve removed the Linux kernel from the Windows OS image and instead will be delivering it to your machine via Windows Update, the same way that 3rd party drivers (like graphics, or touchpad drivers) are installed and updated on your machine today. This change will give you more agility and flexibility over Linux kernel updates in WSL 2. Read on to learn more about how you’ll see this in the user experience.

How will I notice this change?

Our end goal is for this change to be seamless, where your Linux kernel is kept up to date without you needing to think about it. By default this will be handled entirely by Windows, just like regular updates on your machine. Inside of the initial release of Windows 10, version 2004, and in the latest Windows Insiders slow ring preview build you will temporarily need to manually install the Linux kernel, and will receive an update in a few months that will add automatic install and servicing capabilities. We made this change now and will have a patch later to ensure that all users in the initial general release of WSL 2 will be serviced via this dynamic model, and no one will be left in a middle state using the prior system.

Automatic install and updates

If you’ve ever gone to your Windows settings, and clicked ‘Check for Updates’ you might have seen some other items being updated like Windows Defender malware definitions, or a new touchpad driver, etc. The Linux kernel in WSL 2 will now be serviced in this same method, which means you’ll get the latest kernel version independently of consuming an update to your Windows image. You can manually check for new kernel updates by clicking the ‘Check for Updates’ button, or you can let Windows keep you up to date just like normal.

Image wsl1

If you’re installing WSL for the first time, we’ll check for updates and install the Linux kernel for you during the WSL install process.

Temporary experience of manually installing the Linux kernel in Windows 10, version 2004 and Windows Insiders slow ring

After updating to Windows 10 build 19041.153, when you run any of the following commands:

  • wsl (If a WSL 2 distro is your default distro)
  • wsl --set-version <Distro> 2, – wsl --set-default-version 2
  • wsl --import and wsl --export targeting WSL 2

You’ll see a one-time message instructing you to update your kernel. It will instruct you to go to the link: https://aka.ms/wsl2kernel.

Command Prompt showing WSL

Once there, follow the instructions to download the MSI package, run it to install your Linux kernel, and you’ll be finished and ready to use WSL 2. When automatic install and update of the Linux kernel is added you’ll start getting automatic updates to your kernel right away.

Future plans and where to learn more

We’re excited for the release of WSL2, and to keep working on the WSL install experience. If you’d like to learn more about WSL 2, check out our latest overview video WSL 2: Code faster on the Windows Subsystem for Linux. Please stay tuned for more updates from us soon!

As always you can reach members of the WSL team that are on Twitter, or me personally @craigaloewen on Twitter if you have any general questions. For technical issues please file an issue on the WSL Github Repo. We always love hearing your feedback, thank you for helping make WSL amazing, and we’ll see you with the next update soon!

Updates:

  • 3/13/2020 – Thank you to our WSL distro partners: Canonical, Debian, openSUSE, Kali Linux, and Pengwin for adding a change to their distro launcher to help support this experience!
  • 3/13/2020 – Added link to WSL 2 explanation video
  • 6/22/2020 – Changed verbage to ‘WSL 2’

34 comments

Comments are closed.

    • Dorin Lazăr
      Dorin Lazăr

      Filesystem performance is the main reason you want to switch to WSL2. The current (stable) WSL has acceptable performance, but programming-wise, when you fetch huge trees of small files the system starts to feel it quite hard. Not so with WSL2. I tested WSL2 on the Insiders track, but I dropped the insiders track due to work related reasons, but the performance improvement is there, visible.

  • Eduardo Marcano
    Eduardo Marcano

    Will we be getting proper device access for this release. You know what I’m sure many are looking for, GPU passthrough to enable Linux based development for machine learning!

  • Avatar
    Praveen Madhu

    Hi One quick question,

    I have upgraded to Windows Insider and also got the latest update of Windows that dates to Nov 2019.
    I want to export my WSL to new computer but when I try to export I get “access denied” and also wsl -l -v does not work.

  • Avatar
    Krishna Prasad

    Really exited to try out the native WSL2.

    Not sure if this is the proper location for this question

    It will be great if someone can point out as to how I can access/navigate to a windows folder from SQL DB on Linux when using SSMS

    I have installed docker desktop edge with Linux containers and WSL2 as distro. I have a container with sql-2019 Linux running (WSL2-docker) and am able to SSMS installed on windows into the Linux SQL.

    I am trying to restore an existing db. I have the .bak file in my local windows folder. When I try to restore using SSMS GUI, it takes me to /var/opt/mssql/data.

    I am not sure how I can navigate to the windows folder for e.g. d:\backups\db_backup.bak

    Thanks for the great work on the WSL2

    • David Shelton
      David Shelton

      Windows is stored under /mnt/ within WSL1 and WSL2. Just like a duel boot would if windows was mounted properly. You can use standard bash commands from wsl2 to move, copy, and work with any file on windows.

      For your example cd /mnt/d/backups && w/e you want to do with db_backup.bak.

    • David Shelton
      David Shelton

      You can but requires gdm3 in wsl2 and a display manager in windows, like VcXsrv. It requires some tinkering but a few people have pulled it off and have steps available online.

  • Geoff Maddock
    Geoff Maddock

    I tried to upgrade from wsl1 to 2, followed the steps here, but find myself stuck at this error:

    wsl –set-version Ubuntu-18.04 2
    Conversion in progress, this may take a few minutes…
    For information on key differences with WSL 2 please visit https://aka.ms/wsl2
    The requested operation could not be completed due to a virtual disk system limitation. Virtual hard disk files must be uncompressed and unencrypted and must not be sparse.
    PS C:\WINDOWS\system32>

    Any suggestions?

  • Avatar
    Francisco Salgado

    It works really great, though there is an issue with the network when used with VPNs. It would be nice to have the ability to change network addresses range for WSL2 in its config. I believe that somehow routing is going through the VPN, not through NAT created on the host machine, but I’m not sure about that.

  • Avatar
    Dmitriy Krasnikov

    So where are virtual home directory of file system is located and is there a way to switch the drive to use the dedicated storage? P.S. I know I can mount, but I want to have speedy promised performance

  • Joe
    Joe

    Beginner question: Yesterday my PC updated itself to Win10 version 2004 build 19041, I see that it does offer:
    Turn Windows features on or off
    [ ] Virtual Machine Platform
    [ ] Windows Subsystem for Linux
    But I have not been a Windows Insider and the machine has never heard of WSL(1). I have not been able to find a list of steps to install WSL2 and, say, Ubuntu 20.04 in this simple situation.
    Thanks for any help?!

    • Avatar
      Nikolay Baklicharov

      If you enabled the following options, you have it already installed. Just to be sure that by default you are using v2 type that command
      wsl –set-default-version 2

      Then just download a distro from the MS Store.