Skip to content

WSL 2.7.1.0 pre-release update forces system restart via msiexec without user consent, then fails with unhelpful ERROR_FILE_NOT_FOUND when HypervisorPlatform is not enabled #14536

@syed-dawood

Description

@syed-dawood

Two issues with WSL 2.7.1.0 pre-release update

Issue 1: Forced system restart during update without user consent

When updating from WSL 2.7.0.0 to 2.7.1.0 (pre-release) while WSL was actively running, the update process:

  1. Forcibly killed all active WSL sessions using ForceApplicationShutdownOption, ForceTargetApplicationShutdownOption (no warning or prompt)
  2. Initiated an automatic system restart via msiexec.exe just 1 second after the package registration completed — without any user consent dialog

This caused immediate data loss risk and disrupted work in progress.

Issue 2: Unhelpful error message after reboot

After the forced reboot, WSL 2.7.1.0 fails to start with:

Wsl/Service/CreateInstance/CreateVm/HCS/ERROR_FILE_NOT_FOUND

The actual underlying error is 0xC0370103 ("Hypervisor not available") — the system has VirtualMachinePlatform enabled but NOT HypervisorPlatform. WSL 2.7.0.0 worked fine with only VirtualMachinePlatform.

The error message ERROR_FILE_NOT_FOUND is completely misleading and does not tell the user what to do. The MessageEnableVirtualization string in WSL's resources only mentions "Virtual Machine Platform" — it never mentions HypervisorPlatform.

Environment

  • Windows version: 10.0.26200.8037
  • WSL version: 2.7.1.0 (pre-release, updated from 2.7.0.0)
  • Kernel version: 6.6.114.1-1

Windows Optional Features State

Feature State
VirtualMachinePlatform Enabled
HypervisorPlatform Disabled (never was enabled)
Microsoft-Hyper-V-All Disabled
Microsoft-Windows-Subsystem-Linux Disabled

Evidence from Windows Event Logs

AppX Deployment Events (March 25, 2026)

4:56:00 PM — WSL 2.7.0.0 deprovision starts

4:56:02 PM — Remove operation starts with ForceApplicationShutdownOption, ForceTargetApplicationShutdownOption:

Started deployment Remove operation on a package with main parameter
MicrosoftCorporationII.WindowsSubsystemForLinux_2.7.0.0_x64__8wekyb3d8bbwe

4:56:35 PM — Old WSL package moved to Deleted folder

4:56:36 PM — WSL 2.7.1.0 staging begins

4:56:37 PM — Registration with forced shutdown flags:

Started deployment RegisterByPackageFamilyName operation on a package with main parameter
MicrosoftCorporationII.WindowsSubsystemForLinux_8wekyb3d8bbwe and Options
ForceApplicationShutdownOption,ForceTargetApplicationShutdownOption

4:56:38 PM — WSL 2.7.1.0 registration completed successfully

System Event Log — Forced Restart

4:56:39 PM — Event ID 1074:

The process msiexec.exe has initiated the restart of computer [REDACTED]
on behalf of user NT AUTHORITY\SYSTEM for the following reason:
No title for this reason could be found
Reason Code: 0x80030002
Shutdown Type: restart
Comment: The Windows Installer initiated a system restart to complete
or continue the configuration of 'Windows Subsystem for Linux'.

This is an automatic system restart initiated by SYSTEM — no user consent was requested.

HCS (Host Compute Service) Events — After Reboot

4:58:31 PM — HCS service started after reboot

5:01:57 PM — VM creation fails with 0xC0370103 (hypervisor not available):

Start compute system, result 0xC0370103

5:01:58 PM — Cascading errors:

Queue system notification: 6 / 0x80070002
Queue system notification: 3 / 0x80070002

Source Code Evidence

In src/windows/common/wslutil.cpp, UpdatePackageImpl() uses:

DeploymentOptions::ForceApplicationShutdown | DeploymentOptions::ForceTargetApplicationShutdown

This force-kills WSL sessions during update without any user notification.

Expected Behavior

  1. WSL update should NOT force a system restart without user consent. At minimum, a dialog should warn: "WSL needs to restart your computer to complete the update. Save your work."
  2. WSL update should NOT use ForceApplicationShutdown when WSL sessions are actively running — or at minimum warn the user first
  3. If HypervisorPlatform is now required by 2.7.1.0, the error message should clearly state: "Please enable the 'HypervisorPlatform' Windows feature" instead of the misleading ERROR_FILE_NOT_FOUND
  4. If the requirement changed from 2.7.0.0 → 2.7.1.0, the release notes should document this breaking change

Workaround

Manually enable HypervisorPlatform and reboot:

Enable-WindowsOptionalFeature -Online -FeatureName HypervisorPlatform

Steps to Reproduce

  1. Have WSL 2.7.0.0 working with only VirtualMachinePlatform enabled (no HypervisorPlatform)
  2. Have active WSL sessions running
  3. Run wsl --update --pre-release
  4. Observe: active sessions are forcibly killed, system reboots automatically
  5. After reboot, try wsl -d Ubuntu
  6. Observe: ERROR_FILE_NOT_FOUND error — no indication of what's actually wrong

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions