WslRegisterDistribution failed with error: 0x80370102

Follow these suggestions to fix the problem.

Enable Nested VirtualizationEnable Hyper-V support at BIOS LevelDisable 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. 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. Similar WslRegisterDistribution failed with errors: 0xc03a001a | 0x80041002 | 0x800700b7 or 0x80080005 | 0x80070422 | 0x80370114 | 0x80070003 |  0x80070032 | 0x8007023e | 0x800701bc | 0x8007019e and 0x8000000d.