Linux – “Virtual Machine Platform” in Win 10 (2004) is Hyper-V

hyper-vvirtual machinewindows 10windows-subsystem-for-linux

To use Windows Subsystem for Linux 2 in Windows 10 May 2020 update, the documentation says that I must turn on the "Virtual Machine Platform" Windows feature. Is it some sort of Hyper-V? Doesn't it cause the same problems as Hyper-V with other software?

Best Answer

To discuss this you first need to know the different components of a virtualization stack:

The (bare metal) hypervisor called Windows Hypervisor[1] - the software that runs on the machine with the highest level of privilege. It controls what amount of CPU time each partition gets.

The partitions - operating system software that are less privileged than the hypervisor. They run your applications. These are Windows, Linux, Docker images, Android. The "main" OS, sometimes called "host", is officially known as parent partition.[2]

The client software that controls the Windows Hypervisor called Hyper-V platform[3] - not to be confused with the hypervisor itself. Services in the platform sends command to the hypervisor to control it, turning up VMs, shutting down VMs, copy, backup etc. This platform software runs on the parent partition, which has access rights to control the Windows Hypervisor.

The GUI software Hyper-V Manager that controls Hyper-V platform. You can also use Powershell to control Hyper-V platform if you don't want a GUI.

The API that Microsoft exposed to allow third party software to use the Windows Hypervisor, this is called Windows Hypervisor Platform[4]. VMWare Workstation 15.5.5+ and VirtualBox 6+ can use this new API to run VM on the Windows Hypervisor. (They can use either their own hypervisor or the Windows Hypervisor)

Another API, which Microsoft uses internally for WSL2, called Virtual Machine Platform. This is undocumented by Microsoft. The only thing they mention is that you need to enable this for WSL2.[5]

Finally, Microsoft calls the ability to create, start, stop, copy VMs using Hyper-V Platform simply Hyper-V. This ability is limited to Windows Server and Windows Pro, Enterprise, Education[6]. Do not confuse the ability to run VMs on Windows Hypervisor with Hyper-V. Windows 10 Home can use WSL2 containers running on Windows Hypervisor, it can also run VMs on Windows Hypervisor using Windows Hypervisor Platform API through VMWare/VirtualBox.

Before Windows Hypervisor Platform, people normally claim Hyper-V is incompatible with third party hypervisor used by VMWare/VirtualBox. This is technically comparing Apples to Oranges. A more direct comparison is between Windows Hypervisor and third party hypervisors, which are incompatible.

Back to your question

Is it some sort of Hyper-V? Doesn't it cause the same problems as Hyper-V with other software?

Hyper-V uses Windows Hypervisor, WSL2 also uses Windows Hypervisor through Virtual Machine Platform, they are compatible. VMWare Workstation 15.5.5+ and VirtualBox 6+ can also use Windows Hypervisor through Windows Hypervisor Platform, which is also compatible.[7]

Any third party hypervisor not making use of Windows Hypervisor is incompatible with WSL2 or Hyper-V.

[1] Hyper-V uses the Windows hypervisor - https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-technology-overview#how-hyper-v-works

[2] The Microsoft hypervisor must have at least one parent, or root, partition, running Windows. https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/reference/hyper-v-architecture

[3] Hyper-V has required parts that work together so you can create and run virtual machines. Together, these parts are called the virtualization platform. https://docs.microsoft.com/en-us/windows-server/virtualization/hyper-v/hyper-v-technology-overview#what-does-hyper-v-consist-of

[4] https://docs.microsoft.com/en-us/virtualization/api/

[5] WSL 2 is available [...] including Windows 10 Home. The newest version of WSL uses Hyper-V architecture to enable its virtualization. This architecture will be available in the 'Virtual Machine Platform' optional component. https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#does-wsl-2-use-hyper-v-will-it-be-available-on-windows-10-home

[6] https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v#check-requirements

[7] recently both VirtualBox and VMware have released versions that support Hyper-V and WSL2. https://docs.microsoft.com/en-us/windows/wsl/wsl2-faq#will-i-be-able-to-run-wsl-2-and-other-3rd-party-virtualization-tools-such-as-vmware-or-virtualbox