Windows 11虚拟机在ESXi上安装失败是因TPM 2.0和安全启动未启用,可通过五种方法解决:一、启用UEFI固件及安全启动;二、安装时用reg add命令绕过TPM/CPU检查;三、用DISM离线修改ISO映像;四、在ESXi中配置高级参数如vhv.enable="TRUE";五、用PowerShell脚本自动化注入绕过键值。

如果您在ESXi服务器上创建Windows 11虚拟机时遇到安装程序拒绝继续的提示,通常是因为Windows 11安装介质在启动阶段强制校验TPM 2.0和安全启动支持,而ESXi默认虚拟硬件未向客户操作系统暴露兼容的TPM模块。以下是绕过该检测并完成安装的多种可行方法:
一、修改虚拟机固件设置为UEFI并启用安全启动
此方法通过启用UEFI固件中的安全启动功能,使Windows 11安装程序识别到符合要求的安全环境,从而跳过部分TPM依赖逻辑(尤其适用于vSphere 7.0 U3及以上版本,其支持虚拟TPM 2.0但需配合UEFI+Secure Boot)。
1、关闭目标虚拟机电源。
2、在vSphere Client中右键虚拟机,选择“编辑设置”,进入“虚拟硬件”选项卡。
3、展开“其他设备”,点击“添加新设备”,选择“EFI固件”并完成添加。
4、选中已添加的“EFI固件”,勾选“启用安全启动”复选框。
5、确认保存设置,重新启动虚拟机并挂载Windows 11 ISO进行安装。
二、注入regedit脚本跳过TPM与CPU检查
该方法在Windows安装界面加载后、进入图形化安装前,通过Shift+F10调出命令提示符,修改注册表项以禁用安装程序的硬件验证逻辑,适用于所有ESXi版本及Windows 11 ISO镜像(包括21H2/22H2)。
1、在Windows 11安装初始界面按Shift + F10打开命令提示符窗口。
2、输入命令:reg load HKLM\Temp C:\Windows\System32\config\SYSTEM(若提示路径不存在,则说明尚未部署系统分区,此时应改用下一步的setupact.log判断方式;常见于首次启动安装环境)。
3、实际生效操作为:在安装界面等待至出现“这台电脑无法运行Windows 11”提示后,按Shift+F10,在命令行中依次执行:reg add HKLM\SYSTEM\Setup\LabConfig /v BypassTPMCheck /t REG_DWORD /d 1 /f。
4、继续执行:reg add HKLM\SYSTEM\Setup\LabConfig /v BypassSecureBootCheck /t REG_DWORD /d 1 /f。
5、再执行:reg add HKLM\SYSTEM\Setup\LabConfig /v BypassRAMCheck /t REG_DWORD /d 1 /f。
6、关闭命令提示符,点击安装界面左上角的返回箭头或刷新按钮,验证提示是否消失并可继续安装。
三、使用DISM离线挂载并注入绕过策略到ISO映像
此方法在宿主机(如Windows或Linux)上对原始Windows 11 ISO文件内的install.wim或esd映像进行预处理,将Bypass注册表策略写入映像默认配置,确保每次启动安装环境均自动生效,避免每次安装都需手动执行命令。
1、在Windows宿主机上下载并安装Windows Assessment and Deployment Kit(ADK),包含Deployment Tools组件。
2、以管理员身份运行“Deployment and Imaging Tools Environment”命令行工具。
3、执行:dism /mount-wim /wimfile:D:\sources\install.wim /index:1 /mountdir:C:\mount(D:为ISO挂载盘符,C:\mount为本地空目录)。
4、执行:reg load HKLM\Mounted C:\mount\Windows\System32\config\SOFTWARE。
5、执行:reg add HKLM\Mounted\Microsoft\Windows NT\CurrentVersion\WinPE /v LabConfig_BypassTPMCheck /t REG_DWORD /d 1 /f(注意路径需适配实际注册表结构,此处为示意关键键值)。
6、执行:reg unload HKLM\Mounted,随后运行:dism /unmount-wim /mountdir:C:\mount /commit。
7、使用Oscdimg等工具将修改后的文件重新构建成可引导ISO,并上传至ESXi数据存储供虚拟机挂载。
四、配置虚拟机高级参数禁用平台验证
该方法直接在ESXi层面向虚拟机注入启动参数,影响Windows PE环境的行为,无需修改ISO或注册表,适用于批量部署场景,且不影响后续系统运行时的安全机制。
1、关闭虚拟机电源。
2、在vSphere Client中右键虚拟机 → “编辑设置” → “VM Options” → “Advanced” → “Edit Configuration”。
3、点击“Add Configuration Params”,新增以下两行键值对:
bios.bootDelay = "5000"
vhv.enable = "TRUE"
4、再次新增参数:hypervisor.cpuid.v0 = "FALSE"(用于隐藏宿主机HV标识,降低安装环境检测敏感度)。
5、新增参数:firmware = "efi",确保固件类型明确为EFI。
6、保存配置,启动虚拟机并挂载标准Windows 11 ISO进行安装。
五、使用PowerShell脚本自动化注入绕过键值(仅限Windows宿主机预处理)
该方法利用Windows原生PowerShell与DISM模块,在不依赖ADK完整安装的情况下,快速挂载并修改WIM映像中的注册表配置,适合运维人员快速生成定制化安装介质。
1、以管理员身份运行PowerShell。
2、执行:Mount-WindowsImage -ImagePath "D:\sources\install.wim" -Index 1 -Path "C:\mount"。
3、执行:Copy-Item "C:\mount\Windows\System32\config\SOFTWARE" "C:\temp\SOFTWARE.bak" -Force。
4、执行:reg load HKLM\TempReg "C:\temp\SOFTWARE.bak"。
5、执行:Set-ItemProperty -Path "HKLM:\TempReg\Microsoft\Windows NT\CurrentVersion\WinPE" -Name "LabConfig_BypassTPMCheck" -Value 1 -Type DWord -ErrorAction SilentlyContinue。
6、执行:reg unload HKLM\TempReg,然后运行:Dismount-WindowsImage -Path "C:\mount" -Save。










