必须开启嵌套虚拟化才能在Hyper-V虚拟机中运行雷电模拟器、KVM或第二层Hyper-V;需先在BIOS启用VT-x/SVM,确认宿主机已启用Hyper-V,关闭目标虚拟机后执行Set-VMProcessor -VMName "名称" -ExposeVirtualizationExtensions $true,并验证返回值为True。

要在Hyper-V虚拟机里运行雷电模拟器、KVM或第二层Hyper-V,必须让虚拟机本身能调用CPU的硬件虚拟化指令,而默认情况下Hyper-V会拦截并独占这些指令——开启嵌套虚拟化就是把VT-x/AMD-V能力“透传”给虚拟机。
确认宿主机硬件与系统支持
嵌套虚拟化不是纯软件开关,它依赖物理CPU真实开启虚拟化扩展。若这一步跳过,后续所有操作都无效。
重启电脑,在开机自检阶段按F2/Del/F10等键进入BIOS/UEFI界面→找到“Advanced”“CPU Configuration”或“Security”菜单→启用【Intel Virtualization Technology (VT-x)】(Intel CPU)或【SVM Mode】(AMD CPU)→保存退出并重启。
以管理员身份打开PowerShell,运行:Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V→确认输出中“State”为“Enabled”。若为“Disabled”,执行:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All -NoRestart,然后手动重启系统。
检查并关闭目标虚拟机
嵌套虚拟化只能在虚拟机完全关机(Off)状态下配置,暂停(Saved)或休眠(Paused)状态均不生效,强行操作会失败且无提示。
在Hyper-V管理器中,右键目标虚拟机→选择“关闭”→等待状态变为“已关闭”(不是“已暂停”或“已保存”)。
运行:Get-VM | Where-Object {$_.State -eq "Off"},确认该虚拟机出现在列表中。
让 Windows 桌面程序在开机时静默自启并隐藏到系统托盘。特别适用于 Flutter、Electron 等无视 VBS/ProcessStartInfo 窗口样式、难以隐藏的顽固应用。提供「VBS 启动器 + Python ctypes/Win32 API」的隐藏窗口方案,可稳定把窗口收进托盘且不闪控制台。
启用嵌套虚拟化核心参数
这是最关键的一步:告诉Hyper-V把CPU的虚拟化扩展暴露给指定虚拟机。
方法一:PowerShell命令行(推荐)
在管理员PowerShell中执行:Set-VMProcessor -VMName "Win11-Dev" -ExposeVirtualizationExtensions $true(将“Win11-Dev”替换为你自己的虚拟机名称)。
方法二:验证是否生效
运行:Get-VMProcessor -VMName "Win11-Dev" | Select-Object VMName,ExposeVirtualizationExtensions→返回结果中“ExposeVirtualizationExtensions”值必须为【True】,否则说明未成功启用。
调整虚拟机硬件兼容性设置
第一步:禁用动态内存
在Hyper-V管理器中右键虚拟机→“设置”→左侧选“内存”→取消勾选“启用动态内存”→点击“确定”。
第二步:固定内存并启用处理器扩展
仍在“设置”窗口→左侧选“处理器”→勾选“启用处理器资源保护”下方的【启用虚拟机监控程序”和“启用嵌套虚拟化扩展】(Windows 11 22H2+或Server 2022+版本可见此选项)→同时确保“内存大小”设为固定值,最低建议【4096 MB】,低于此值可能导致二级虚拟机启动失败。
第三步:(可选但强烈建议)启用MAC地址欺骗
如需让嵌套虚拟机联网,必须在L1虚拟机网卡上开启MAC地址欺骗。运行:Get-VMNetworkAdapter -VMName "Win11-Dev" | Set-VMNetworkAdapter -MacAddressSpoofing On。










