← Writing & other work
September 2026 · Linux / Windows · Troubleshooting

WSL2 Won’t Enable Virtual Machine Platform on Windows 11? This Fixed It for Me.

A frustrating WSL2 installation problem where Virtual Machine Platform simply wouldn't enable. This is the recovery sequence that worked for me.

I ran into a frustrating WSL2 installation problem on Windows 11 where Virtual Machine Platform simply wouldn't enable.

The feature installation would get stuck, and trying to enable it through PowerShell didn't help either. In some cases, the installation would hang around percentages like 14.9% or 37.8% and stay there indefinitely.

The usual checks were already done:

What eventually worked was completely resetting the WSL/virtualization setup and reinstalling it cleanly.

I've since used this process to help a few other people with essentially the same problem, so I'm documenting it here.

Before You Start

This is a reset procedure. If you already have important WSL distributions, projects, databases, SSH keys, or other files inside WSL, back them up first.

For example:

wsl --export Ubuntu ubuntu-backup.tar

If this is a fresh/broken installation with nothing important inside it, continue.

The Fix

1. Finish Windows Update

Go to:

Settings → Windows Update

Install everything available and restart.

After restarting, check for updates again.

Don't skip this.

2. Disable the virtualization features

Open:

Control Panel → Programs → Turn Windows features on or off

Disable:

Apply the changes and restart if Windows asks you to.

3. Remove the existing WSL installation

Open PowerShell as Administrator:

wsl --uninstall

Then check:

wsl -l -v

You shouldn't have an existing distro that you need to preserve.

Again: don't delete a distro containing data you care about.

4. Restart Windows

Do a full restart.

This is important because we're changing Windows virtualization components, not just installing a normal application.

5. Check BIOS virtualization

Open:

Task Manager → Performance → CPU

Check:

Virtualization: Enabled

If it says Disabled, enter your BIOS/UEFI and enable CPU virtualization.

Depending on your hardware, it may be called:

6. Check Windows Update again

Go back to:

Settings → Windows Update

Check again and install anything pending.

Restart if required.

7. Enable WSL

Go back to:

Turn Windows features on or off

Enable:

Windows Subsystem for Linux

Apply the change and restart if prompted.

8. Enable Virtual Machine Platform

Go back to the same menu and enable:

Virtual Machine Platform

You can also do it from an elevated PowerShell:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Then restart Windows.

9. Install WSL again

Open PowerShell as Administrator:

wsl --install

Ubuntu should be installed by default.

If you want to see the available distributions:

wsl --list --online

10. Verify WSL2

Finally:

wsl -l -v

You should see something like:

  NAME      STATE           VERSION
* Ubuntu    Running         2

The important part is:

VERSION
2

That's it.

Why This Worked

I don't think there was a single magic command here.

The useful part was resetting the Windows virtualization/WSL state instead of repeatedly trying to enable Virtual Machine Platform on top of the broken configuration.

The sequence is essentially:

Windows Update
      ↓
Disable virtualization features
      ↓
Remove WSL
      ↓
Reboot
      ↓
Verify BIOS virtualization
      ↓
Update Windows again
      ↓
Enable WSL
      ↓
Enable Virtual Machine Platform
      ↓
Reboot
      ↓
wsl --install

This isn't an official Microsoft "fix" for every WSL2 installation problem. It's the recovery sequence that worked for me when the normal installation path was stuck.

If you're seeing the same Virtual Machine Platform hanging at a percentage and never completing, this is what I'd try after the normal troubleshooting steps fail.

One Last Thing

If you're reading this because you've been staring at 37.8% for three hours, you're probably not alone.

I originally solved this for myself and later found several people dealing with almost the exact same issue.

A single screenshot and a few steps were enough to get some of them running again.

So I figured I'd finally write the solution down properly.

Hope it saves you the headache.