How to fix WslRegisterDistribution failed with error: 0x80370102?
Error code 0x80370102 is accompanied by the message “WslRegisterDistribution failed with error”. Has a habit of appearing when trying to install a Linux distribution to access Linux 2 (WSL2) through the Windows subsystem. Thus, the procedure for deploying the sub-system is interrupted and the very meaning of the newly released Windows function evaporates. The Linux Distro installation aborts with the message:
WslRegisterDistribution failed with error: 0x80370102
Error: 0x80370102 The virtual machines could not be started because a required feature is not installed.
Table of Contents
Causes of Error 0x80370102
This is a completely new bug, because it only started appearing in the late summer of 2021 with the release of WSL2. It began to appear not only when trying to install the Linux subsystem, but also Debian. Due to its novelty, it does not yet have a detailed technical analysis on the part of the developers, and we rely on users and their reports. They indicate the presence of the following several problems:
- Assembly used Windows Insider Preview… Many insider Windows users are experiencing this problem and this is normal, because we are talking about an unfinished system. We need to wait for updates.
- Problems transitioning from WSL 1 on WSL 2… The result is again unfinished software.
- Disabled or missing hardware virtualization… It must be supported by the processor. If this feature is not available on the CPU, you will not be able to use the Linux subsystem. It may be that the option is simply disabled and needs to be enabled.
- Switched off Hyper-V… It is an important component of a virtual environment that is involved in running multiple operating systems on a single physical machine. It must be activated.
What to do with error 0x80370102?
All fixes are based on the cause of the error. For now, we can only enable hardware virtualization and Hyper-V. If your version of Windows (from 2004, May 2020) and hardware allows the WSL2 subsystem, it should work after manually enabling prerequisites.
1. Enable hardware virtualization in BIOS
If you try to run Ubuntu or another flavored Linux in VirtualBox without enabling hardware virtualization, Windows will immediately display a series of errors. The system will begin to sin on the distribution of WSL registers, sound and other failures. This function must be enabled, otherwise you will not be able to start the virtual system. Unfortunately, the option is activated in the BIOS, so you have to make a few extra gestures.
How to fix error 0x80370102:
- Click on the virtual button in Start – “Restart”.
- At the moment of turning on the computer, there should be a hint from below with which key you need to press to activate the BIOS. Usually it is Del, Esc, F2, but it can be different. If you fail to log in the first time, you will need to restart your PC again.
- Find the tab CPU config, Processor or Chipset.
- We are looking for the Virtualization or Virtualization parameter.
- Click opposite it and select the Enable option. Depending on the manufacturer, it might be called Intel Virtualization Technology, AMD-V, Hyper-V, VT-X, Vanderpool, or SVM.
- Return to the initial window and click on the “Save & Exit” option.
2. Activate hardware virtualization in PowerShell and configure RAM
There is another type of virtualization, the so-called nested virtualization, which allows you to run Hyper-V in a virtual machine. It is needed to run the Visual Studio phone emulator inside a virtual machine or to test hardware configurations using multiple hosts. Some users managed to fix their error by activating nested virtualization.
Instructions to fix error 0x80370102:
- Right-click on Start and select PowerShell (or search through the search). She must have administrator rights.
- Insert the command Set-VMProcessor
-ExposeVirtualizationExtensions $ true and press Enter.
- Right-click on the virtual machine using the Hyper-V manager and go to its “Settings”.
- Click on the “Memory” tab in the left panel and turn off the “Enable dynamic memory” option, just manually double the value.
- We start the virtual machine.
- Right-click on it and select “Connect”. After starting Hyper-V, a reboot will occur and when you try to start again, the error should no longer appear.
3. Start the Hyper-V component
Hyper-V is needed to give administrators more control over their own hardware when virtualizing multiple operating systems on the same hardware. Without it, an error during the Linux installation is guaranteed.
You need to enable Hyper-V and here’s how you can do it:
- Using the search, go to the “Control Panel”.
- We open “Programs and components”.
- Click on the item on the left menu “Turn Windows features on or off.”
- We are looking for the Hyper-V item (one of the first) and set the flag next to it.
- We reboot the computer.
This is the best we can offer to fix the WslRegisterDistribution failed with error: 0x80370102 error. The listed methods work for the majority, this is indicated by the answers in the comments on the forums, therefore, without a twinge of conscience, we can recommend them for use.