ESXi 7.0 独立主机配置 vTPM:PowerCLI 脚本 7 步实现 Windows 11 安装
2026/7/8 21:15:21 网站建设 项目流程

ESXi 7.0 独立主机配置 vTPM:PowerCLI 脚本 7 步实现 Windows 11 安装

在虚拟化环境中安装 Windows 11 时,TPM 2.0 模块是一个绕不开的话题。微软将 TPM 2.0 作为 Windows 11 的强制硬件要求,这对物理机和虚拟机都适用。对于使用 VMware ESXi 的独立主机用户来说,如何在不依赖 vCenter Server 的情况下配置 vTPM 成为一个实际需求。

本文将详细介绍如何在独立 ESXi 7.0 主机上,通过 PowerCLI 脚本配置 vTPM,从而满足 Windows 11 的安装要求。这种方法特别适合小型实验室环境或预算有限的个人用户,无需额外购买 vCenter 许可即可实现 vTPM 功能。

1. 准备工作与环境检查

在开始配置 vTPM 之前,我们需要确保环境满足基本要求。首先确认你的 ESXi 主机版本为 7.0 或更新版本,并且拥有有效的许可证(免费版 ESXi 不支持此功能)。

硬件要求检查清单:

  • ESXi 主机 CPU 支持硬件虚拟化(Intel VT-x 或 AMD-V)
  • 至少 8GB 内存(推荐 16GB 以上)
  • 足够的存储空间用于虚拟机(建议 64GB 以上)

软件准备清单:

  • Windows 10/11 主机用于运行 PowerCLI
  • PowerShell 5.1 或更新版本
  • VMware PowerCLI 模块(最新版本)
  • vTPMStandaloneESXiFunctions.ps1 脚本

提示:虽然物理 TPM 芯片不是必须的,但如果你的 ESXi 主机有物理 TPM 2.0 芯片,建议在 BIOS 中启用它,这将提供更好的密钥持久性支持。

2. PowerCLI 环境配置

PowerCLI 是 VMware 提供的 PowerShell 模块,用于管理 vSphere 环境。我们需要先在 Windows 主机上配置好 PowerCLI 环境。

以管理员身份运行 PowerShell,执行以下命令安装 PowerCLI:

Set-ExecutionPolicy Bypass -Scope Process -Force Install-Module -Name VMware.PowerCLI -Scope CurrentUser -AllowClobber

安装完成后,下载 William Lam 开发的 vTPMStandaloneESXiFunctions.ps1 脚本。这个脚本包含了一系列自定义的 PowerCLI 函数,专门用于在独立 ESXi 主机上配置 vTPM。

常见安装问题解决:

问题描述解决方案
模块安装被策略阻止执行Set-ExecutionPolicy RemoteSigned
旧版本 PowerCLI 冲突先执行Uninstall-Module VMware.PowerCLI -AllVersions
网络连接超时使用-Repository PSGallery -Proxy参数指定代理

3. 连接 ESXi 主机并准备加密环境

准备好 PowerCLI 环境后,我们需要连接到目标 ESXi 主机并准备加密环境。

首先加载下载的脚本并连接到 ESXi 主机:

# 加载脚本(假设脚本保存在桌面) . .\Desktop\vTPMStandaloneESXiFunctions.ps1 # 连接到 ESXi 主机 Connect-VIServer -Server 192.168.1.100 -User root -Password "yourpassword"

如果连接时遇到证书警告,可以运行以下命令忽略证书验证:

Set-PowerCLIConfiguration -InvalidCertificateAction Ignore -Confirm:$false

连接成功后,执行以下命令准备主机的加密环境:

Prepare-VMHostForEncryption

这个命令会检查主机是否已经准备好加密,如果没有则会进行必要的配置。执行成功后,主机将进入"prepared"状态,可以接受加密密钥。

4. 创建主机和虚拟机加密密钥

接下来,我们需要创建两个加密密钥:一个用于主机本身,另一个用于虚拟机。

创建主机加密密钥:

New-InitialVMHostKey -Operation CREATE -KeyName "host-key-1"

这个命令会生成一个 256 位的 AES 加密密钥,并自动备份到当前目录下的 tpm-keys.csv 文件中。这个操作只需要在主机上执行一次。

创建虚拟机加密密钥:

New-VMTPMKey -Operation CREATE -KeyName "windows-11-key"

同样,这个密钥也会被备份到 tpm-keys.csv 文件中。你可以为不同的虚拟机创建不同的密钥,或者多个虚拟机共享同一个密钥。

密钥管理注意事项:

  • 妥善保管 tpm-keys.csv 文件,这是密钥的唯一备份
  • 密钥名称应当具有描述性,便于后续管理
  • 可以使用Get-VMHostTPMKeys命令查看当前配置的所有密钥

5. 创建并配置 Windows 11 虚拟机

在添加 vTPM 之前,我们需要先创建一个基本的虚拟机。虽然 ESXi 7.0 没有直接的 Windows 11 选项,但我们可以选择 Windows 10 作为兼容性选项。

虚拟机创建建议配置:

  • 操作系统版本:Microsoft Windows 10 (64-bit)
  • 至少 2 个 vCPU
  • 至少 4GB 内存
  • 使用 EFI 启动
  • 虚拟磁盘至少 64GB
  • 虚拟硬件版本 15 或更高

创建完成后,先不要启动虚拟机。我们需要先为其添加 vTPM 设备。

6. 为虚拟机添加 vTPM 设备

使用以下命令为虚拟机添加 vTPM 设备:

Reconfigure-VMWithvTPM -KeyName "windows-11-key" -VMName "Win11-VM"

将 "Win11-VM" 替换为你实际创建的虚拟机名称。这个命令会执行以下操作:

  1. 将之前创建的虚拟机加密密钥关联到目标虚拟机
  2. 添加一个虚拟 TPM 设备
  3. 配置虚拟机使用加密存储

命令执行完成后,你可以通过 ESXi 的 Web 界面验证 vTPM 是否添加成功。在虚拟机的硬件配置中,应该能看到"可信平台模块"设备。

7. 安装 Windows 11 及后续管理

现在可以启动虚拟机并开始 Windows 11 的安装过程。使用你准备好的 Windows 11 ISO 镜像启动虚拟机,安装过程与物理机无异。

安装过程中的注意事项:

  • 如果安装程序仍然提示 TPM 2.0 不可用,可能是 vTPM 没有正确初始化,尝试重启虚拟机
  • 安装完成后,可以在 Windows 中运行tpm.msc验证 vTPM 是否被识别
  • vTPM 制造商应显示为 "VMware"

密钥持久性问题解决方案:

默认情况下,ESXi 主机重启后不会保留加密密钥,这会导致虚拟机无法启动。有几种解决方案:

  1. 物理 TPM 方案(推荐):

    • 如果主机有物理 TPM 2.0 芯片,可以启用 ESXi 的密钥持久性功能
    • 密钥会自动保存在 TPM 芯片中
  2. 密钥备份恢复方案

    • 主机重启后,重新导入之前备份的密钥:
      . .\vTPMStandaloneESXiFunctions.ps1 Connect-VIServer 192.168.1.100 -User root -Password "yourpassword" Prepare-VMHostForEncryption New-InitialVMHostKey -Operation IMPORT -KeyName "host-key-1" -CSVTPMKeyFile tpm-keys.csv New-VMTPMKey -Operation IMPORT -KeyName "windows-11-key" -CSVTPMKeyFile tpm-keys.csv
  3. 自动化脚本方案

    • 将密钥恢复过程编写为脚本
    • 设置为主机启动后自动执行

8. 高级管理与故障排除

查看当前密钥状态:

Get-VMHostTPMKeys

这个命令会列出所有已配置的主机和虚拟机加密密钥,包括它们的名称和算法信息。

移除虚拟机加密密钥:

如果需要移除某个虚拟机的加密密钥(例如虚拟机不再需要 vTPM 或要迁移到其他主机),可以使用以下命令:

Remove-VMTPMKey -KeyName "windows-11-key"

如果密钥正在使用中,可以添加-Force $true参数强制移除:

Remove-VMTPMKey -KeyName "windows-11-key" -Force $true

常见问题及解决方案:

问题现象可能原因解决方案
虚拟机启动失败,提示加密密钥不可用主机重启后密钥丢失按照第7节的密钥恢复流程操作
添加 vTPM 时提示权限不足使用的账户权限不足使用 root 账户或具有管理员权限的账户
PowerCLI 命令无法识别脚本没有正确加载检查脚本路径是否正确,重新加载脚本
Windows 11 安装程序仍提示 TPM 2.0 不可用vTPM 没有正确初始化关闭虚拟机电源再重新打开,或重新添加 vTPM 设备

性能优化建议:

  • 为加密虚拟机分配足够的资源,加密操作会增加 CPU 开销
  • 如果有多台虚拟机需要 vTPM,考虑为每台虚拟机创建独立的加密密钥
  • 定期备份 tpm-keys.csv 文件到安全位置

在实际使用中,我发现密钥管理是最容易出问题的环节。特别是在实验室环境中,ESXi 主机可能会频繁重启,每次都需要重新导入密钥确实有些麻烦。为此,我通常会编写一个简单的 PowerShell 脚本来自动化这个过程,并将它设置为计划任务,在主机启动后自动执行。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询