Appearance
Hyper-v嵌套虚拟化
什么是嵌套虚拟化
简单来说嵌套虚拟化就是在虚拟机里再开虚拟机。
如何开启
在VMware Workstation中,只要打个勾就可以开启了。
但是在Hyper-v中,并没有这个选项。(再一次吐槽Hyper-v的图形化什么都没有)
想要开启,需要在Powershell中进行相关的操作。
- 需要用到Get-VM系列的命令 首先查看当前存在的虚拟机及名称等
PS C:\Windows\system32> Get-VM
Name State CPUUsage(%) MemoryAssigned(M) Uptime Status Version
---- ----- ----------- ----------------- ------ ------ -------
DNS-Server Off 0 0 00:00:00 正常运行 8.0
Nas Running 1 1024 02:22:59.3840000 正常运行 9.0
- 然后使用Get-VMProcessor -VMName 虚拟机名称 | fl 获取需要进行嵌套虚拟化的虚拟机的相关信息(下面是部分的信息)
PS C:\Windows\system32> Get-VMProcessor -VMName Proxmox | fl
ResourcePoolName : Primordial
Count : 1
CompatibilityForMigrationEnabled : False
CompatibilityForOlderOperatingSystemsEnabled : False
HwThreadCountPerCore : 0
ExposeVirtualizationExtensions : False
可以看到ExposeVirtualizationExtensions的值为False,这里就是嵌套虚拟化的参数了。
- 使用Set-VMProcessor -ExposeVirtualizationExtensions $true -VMName 虚拟机名称进行修改即可 修改后再次查看虚拟机相关信息
PS C:\Windows\system32> Set-VMProcessor -ExposeVirtualizationExtensions $true -VMName Proxmox
PS C:\Windows\system32> Get-VMProcessor -VMName Proxmox | fl
ResourcePoolName : Primordial
Count : 1
CompatibilityForMigrationEnabled : False
CompatibilityForOlderOperatingSystemsEnabled : False
HwThreadCountPerCore : 0
ExposeVirtualizationExtensions : True
可以发现ExposeVirtualizationExtensions的值为True,嵌套虚拟化已经开起了。 接下来就可以在虚拟机里开虚拟机了(禁止套娃)