该系列补丁计划增加对运行嵌套的微软 Hypervisor 的支持。在嵌套微软 Hypervisor 的情况下,有一些特权的 hypercalls 需要走 L0 Hypervisor 而不是 L1 Hypervisor。该补丁系列基本上可以识别这样的超调用,并用嵌套的超调用取代它们。
- mshv: 增加对检测嵌套的 hypervisor 的支持
- hv:在嵌套根分区的情况下设置 synic 寄存器
- hv: 增加接口来做嵌套的超调用
- hv: 为嵌套的根分区启用 vmbus 驱动
- hv, mshv : 改变嵌套根分区的中断向量
嵌套虚拟化允许用户在另一个 Hyper-V 虚拟机内运行虚拟机(VM)。所以,如果这个补丁很快就能成功合并,比如在 Linux 内核 6.2 版本中及时合并,那么很快用户就可以在 Linux 中运行多个 Windows 实例。
嵌套式虚拟化通常是为企业设计的,而微软也肯定在添加该功能时考虑到了这些因素。对于普通用户来说,这也是有趣的体验。
嵌套虚拟化是指模拟硬件虚拟化扩展插件的 Hyper-v 虚拟机监控程序。这些仿真扩展可供其他虚拟化软件使用 (例如,嵌套虚拟机监控程序) 在 Hyper-v 平台上运行。此功能仅适用于来宾分区。必须按虚拟机启用此功能。Windows 根分区不支持嵌套虚拟化。
与裸机相比,在虚拟机中运行时,虚拟机监控程序可以显著提高性能。可以通过使用 L0 虚拟机监控程序提供的启用接口,将 L1 虚拟机监控程序优化为在 Hyper-v VM 中运行。