如何在VMware ESXi下的Windows 10 VM中安装Hyper-V角色

时间:2020-01-09 10:46:38  来源:igfitidea点击:

在VMWare ESXi主机上运行的Windows 10虚拟机(也适用于Windows Server 2015)上安装Hyper-V虚拟化角色所需的测试任务之一。这意味着我需要在VMWare ESXi上提供Hyper-V的嵌套虚拟化。

首先,关于嵌套虚拟化的几句话。嵌套虚拟化允许在另一个虚拟机监控程序上运行的虚拟机内部运行虚拟机监控程序。在Hyper-V中,对嵌套虚拟化的完全支持出现在Windows Server 2015/Windows 10周年更新中。在VMWare中,这项技术已经使用了很长时间(出现在ESXi 5.0中)。

我有一台运行Windows 10 1709虚拟机的VMWare ESXi 6.0虚拟化主机。

当尝试从控制面板->程序和功能->打开或者关闭Windows功能安装Hyper-V虚拟机监控程序角色(该组件称为" Hyper-V虚拟机监控程序"组件)时,该选项未激活。原因如下:

Hyper-V cannot be installed: The processor does not have the required virtualization capabilities

要使用Windows 10 guest虚拟机操作系统对此虚拟机启用嵌套虚拟化,请使用vSphere Web Client打开虚拟机设置(虚拟机必须关闭)。在" CPU"部分中,检查"将硬件辅助虚拟化暴露给来宾OS"选项(该选项在vCenter Cthin客户端中不可用)。

注意在没有此选项的早期ESXi版本中,以及在桌面VMWare Workstation中,我们可以通过将以下选项添加到虚拟机的配置文件(*。vmx)中来启用嵌套虚拟化。

hypervisor.cpuid.v0 =否mce.enable = TRUE vhv.enable =" TRUE"

在VMware vSphere客户端中,可以在VM设置中添加以下选项:"选项"->"常规"->"配置参数"。添加两个具有相同参数的新行("添加行")。

启动Windows 10虚拟机,然后尝试再次安装Hyper-V角色。现在,Windows无法检测到它正在另一个虚拟机管理程序中运行,但是会出现一个新错误:

Hyper-V cannot be installed: the processor does not support second level address translation (SLAT).

这意味着,除了支持虚拟化之外,VM处理器还必须支持SLAT技术。 e。内存页面的虚拟化及其来宾OS的直接控制。用Intel的术语来说,此功能称为扩展页表(Extended Page Tables,EPT),而AMD将其称为快速虚拟索引(Rapid Virtualization Indexing,RVI)。

使用以下命令确保处理器(vCPU)支持SLAT:

systeminfo

Hyper-V要求部分中的命令应返回不支持SLAT的信息:

Second Level Address Translation: No

在这种情况下,我们需要更改虚拟机处理器的参数。在vSphere Web Client的CPU/MMU虚拟化部分中,选择"硬件CPU和MMU"。

在瘦vSphere Client中,相同的选项位于"选项"选项卡的" CPU/MMU虚拟化"部分中,称为"使用Intel VT-x/AMD-V用于指令集虚拟化,而Intel EPT/AMD RVI用于MMU虚拟化。

启动Windows 10虚拟机,并确保其处理器现在支持SLAT。然后,我们可以安装Hyper-V角色的所有组件,并在此Windows 10 VM中运行其他虚拟机。