1、要实现 hyper-v 嵌套虚拟化,首先,我们以管理员身份打开 powershell

2、在命令行中输入 get-vm ,列出我们自己的虚拟机

PS C:\Users\Windows> Get-VM

3、输入 Get-VMProcessor -VMName 主机名 | fl

我们可以看到嵌套虚拟化选项的值为 False,设置为 True 即可。

4、输入Set-VMProcessor -VMName 主机名 -ExposeVirtualizationExtensions $true

正常情况下,是没有输出的,

再输入Get-VMProcessor -VMName 主机名 | fl         查看设置结果

经过上面 4 步,我们就可以在虚拟机中再进行虚拟化了。

5.另外在虚拟交换机的端口组需要开启混杂功能,否则通信会有问题。

开启混杂的原因: Hyper-V虚拟交换机上只能感知到其上的虚拟机,但无法感知到嵌套后其上虚拟机的子虚拟机的MAC地址,所以通信时候,用子虚拟机通信到 Hyper-V 最底层虚拟交换机就会丢包。

Get-VMNetworkAdapter -VMName LCFC-DOCKER-M1 | Set-VMNetworkAdapter -MacAddressSpoofing On