Microsoft is bringing the ability to run nested hypervisor (Hyper-V) or nested virtualization to Linux. A senior Microsoft Linux engineer, Jinank Jain, sent a series of patches out regarding the feature earlier today. The patch notes read:
This patch series plans to add support for running nested Microsoft Hypervisor. In case of nested Microsoft Hypervisor there are few privileged hypercalls which need to go L0 Hypervisor instead of L1 Hypervisor. This patches series basically identifies such hypercalls and replace them with nested hypercalls.
mshv: Add support for detecting nested hypervisor
hv: Setup synic registers in case of nested root partition
hv: Add an interface to do nested hypercalls
hv: Enable vmbus driver for nested root partition
hv, mshv : Change interrupt vector for nested root partition
For those unaware, nested virtualization allows users to run a virtual machine (VM) inside another Hyper-V virtual machine. So, if the patch gets successfully merged soon, potentially in time for Linux kernel version 6.2, then soon, you may be able to run more than one Windows instance inside Linux.
Nested virtualization is typically something that is designed for use by enterprises, and Microsoft too is certainly adding the feature keeping those things in mind. Still, it can be a fun experience to tinker around with it for the general users too.