-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Description
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:
- Forcibly killed all active WSL sessions using
ForceApplicationShutdownOption, ForceTargetApplicationShutdownOption(no warning or prompt) - Initiated an automatic system restart via
msiexec.exejust 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::ForceTargetApplicationShutdownThis force-kills WSL sessions during update without any user notification.
Expected Behavior
- 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."
- WSL update should NOT use
ForceApplicationShutdownwhen WSL sessions are actively running — or at minimum warn the user first - If
HypervisorPlatformis now required by 2.7.1.0, the error message should clearly state: "Please enable the 'HypervisorPlatform' Windows feature" instead of the misleadingERROR_FILE_NOT_FOUND - 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 HypervisorPlatformSteps to Reproduce
- Have WSL 2.7.0.0 working with only
VirtualMachinePlatformenabled (noHypervisorPlatform) - Have active WSL sessions running
- Run
wsl --update --pre-release - Observe: active sessions are forcibly killed, system reboots automatically
- After reboot, try
wsl -d Ubuntu - Observe:
ERROR_FILE_NOT_FOUNDerror — no indication of what's actually wrong