为什么 EC2 Windows 实例上的 Windows 激活失败?

上次更新时间:2020 年 9 月 10 日

我的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 实例上收到了“Windows 激活失败”消息。我该如何修复此问题?

简短描述

Windows 实例在 Amazon Web Services (AWS) 上使用 Microsoft Key Management Service (KMS) 进行激活。如果您的实例无法访问 KMS 服务器,您可能会收到 Windows 激活错误消息。或者,KMS 客户端配置可能存在问题。

您可以使用 AWS Systems Manager Automation 文档或按照手动流程激活 Windows。

解决方法

使用 Systems Manager Automation 文档激活 Windows

AWSSupport-ActivateWindowsWithAmazonLicense Automation 文档使用 Amazon 提供的许可证激活 Amazon EC2 Windows 实例。自动化将为您的实例检查 Windows 的当前状态,然后在状态处于非活动状态时激活 Windows。

注意:此解决方案不适用于自带许可 (BYOL) Windows 实例。要使用您自己的许可证,请参阅 AWS 上的 Microsoft 许可

1.    打开 AWS Systems Manager 控制台。请务必选择与需要激活 Windows 的 EC2 Windows 实例相同的区域。

2.    从导航窗格中选择自动化,然后选择执行自动化

3.    在搜索字段中,输入 AWSSupport-ActivateWindowsWithAmazonLicense。选择 Automation 文档,然后选择下一步

4.    对于执行自动化文档,选择简单执行

5.    对于输入参数,打开显示交互式实例选取器

6.    选择您的 EC2 实例。

注意:如果您未在列表中看到实例,则该实例尚未启用 Systems Manager。查看使用 Systems Manager 的先决条件,以管理您的 Amazon EC2 实例。

如果您不想启用 Systems Manager,或者如果实例未提供在输入参数中,请关闭显示交互式实例选取器。对于 InstanceID,请输入受损实例的 ID。对于 AllowOffline,选择 True

重要提示:如果您将 AllowOffline 设置为 True,则您的实例将停止,然后重新启动。实例存储卷中的数据将会丢失。如果您未使用弹性 IP 地址,则公有 IP 地址将发生更改。

7.    选择执行

8.    要监控执行进度,请打开 Systems Manger 控制台,然后在导航窗格中选择自动化。选择正在运行的自动化,然后查看已执行的步骤。要查看自动化输出,请展开输出

手动激活 Windows

1.    更新 EC2Config 或运行 EC2Launch 初始化脚本。

对于 Windows Server 2012 R2 及更低版本请更新 EC2Config,然后重启实例。

对于 Windows Server 2016 及更高版本:请运行以下命令设置到 KMS 服务器的正确路由:

PS C:>Import-Module "C:\ProgramData\Amazon\EC2-Windows\Launch\Module\Ec2Launch.psd1"
PS C:>Add-Routes
PS C:>Set-ActivationSettings
PS C:>slmgr /ato

如果 Windows 仍未激活,则继续执行步骤 2。

2.    KMS 以 TCP 流量的形式在端口 1688 上运行。请务必添加异常,以允许控制您的实例出站连接的任何防火墙或安全软件上的 KMS 流量。

3.    设置您的 Windows KMS 设置密钥。首先,为您的操作系统版本确定正确的 KMS 客户端设置密钥。然后,以管理员身份运行以下命令:

slmgr.vbs /ipk <KMSSetupKey>

4.    设置您的 Windows KMS 机器 IP 地址。源自 VM Import 或旧版 EC2-Classic 实例的实例可能没有 KMS 服务器的正确 IP 地址。以管理员身份运行以下命令:

slmgr.vbs /skms 169.254.169.250:1688

5.    要激活 Windows,请以管理员身份运行以下命令:

slmgr /ato

这篇文章对您有帮助吗?


您是否需要账单或技术支持?