Hyper-V 可以在虚拟机中运行吗?

Hyper-V 可以在虚拟机中运行吗?

好吧,我们都知道(或者应该知道)微软的答案很简单“不!“。

但我们也知道,最近的虚拟机管理程序可以支持嵌套/递归虚拟化,只要底层 CPU 提供硬件虚拟化;VMware 的最新产品(ESXi 5、Workstation 8)甚至支持这一点天生地,无需丑陋的黑客攻击。

所以,我的问题是:Hyper-V 是否可以在其他虚拟机管理程序中成功运行(即允许实际运行虚拟机)?

如果有的话,是哪些?以及如何做到的?


这仅适用于测试, 当然。

答案1

是的,如果底层 CPU 支持最新的虚拟化扩展(Intel VT-X/EPT)并且您使用最新的 VMware 产品(Workstation 8、ESXi 5),则可以。

您的虚拟机中的相关设置应如下:

monitor.virtual_mmu = "hardware"
monitor.virtual_exec = "hardware"
vhv.enable = "TRUE"
hypervisor.cpuid.v0 = "FALSE"

前三个设置可以通过 GUI 启用(Workstation 和 ESXi 之间略有不同),最后一个设置需要手动添加到 VM 的.vmx文件中。

此外,在 ESXi 5 上,您需要添加以下行/etc/vmware/config

vhv.allow = "TRUE"

答案2

对这个问题有不同的答案。

在 WS2016/W10 之前,正确答案是:是的,您可以在 Hyper-V VM 中启用 Hyper-V 角色,但虚拟机管理程序不会启动。因此,您可以在 vHost 中创建 VM,但这些 VM 无法启动。

但是,在 Windows 10 和 WS2016(TP4 及更高版本)中,我们可以使用嵌套 Hyper-V。如果您足够疯狂地尝试,您可以在主机中、在主机中、在主机中、在主机上创建主机...

答案3

为了完成前面的回答。根据这个问题和 Michael H. 的评论,ESXi 目前是仅有的在 VM 内运行 Hyper-V 的选项。

相关内容