WslRegisterDistribution failed with error: 0x80370102
When installing WSL, if you receive an error saying—WslRegisterDistribution failed with error: 0x80370102—then this post will help you resolve it. The Error occurs for a couple of reasons. Nested Virtualization, a limit on the CPUID, Virtualization support, and more.
WslRegisterDistribution failed with error: 0x80370102
Follow these suggestions to fix the problem.
- Enable Nested Virtualization
- Enable Hyper-V support at BIOS Level
- Disable limitation on CPUID
You will need admin permission and an understanding of BIOS to implement them.
Enable Nested Virtualization
If you have installed Windows in a VM and then try to install WSL, you need to enable nested virtualization. Launch PowerShell with admin permission, and execute the command as mentioned below.
Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true
If this doesn’t work, you need to enable virtualization at the hardware level. This will depend on the BIOS or UEFI. More on this on the official Microsoft Documents.
Enable Hyper-V support at BIOS Level
Open the BIOS/UEFI and check for settings that may be called VT-x, AMD-V, SVM, Vanderpool, Intel VT-d, or AMD IOMMU. If it’s AMD, you need to check for AMD-V, SVM, and so on. For Intel, it is usually VT-x.
Follow the linked post to find out settings according to your computer. The list includes settings for Dell, Asus, Acer, and so on.
Disable limitation on CPUID
When you turn on your computer, the OS executes CPUID instruction to determine the processor and its capabilities. CPUID uses when you are using a new processor with an old OS. Windows may have issues handling the CPUID information, and hence you need to disable it.
The location of Limit CPUID Max
will vary for each BIOS/UEFI. So make sure to look around to find where it has on your computer.
I hope the post was helpful to resolve the WslRegisterDistribution 0x80370102, which appears when installing WSL.