Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

使用 EC2Config 重置 Windows 管理员密码

如果您丢失了 Windows 管理员密码并且使用的是 Windows Server 2016 之前的 Windows AMI,则可以使用 EC2Config 服务生成新密码。

注意

如果您使用的是 Windows Server 2016 AMI,请参阅使用 EC2Launch 重置 Windows 管理员密码以了解管理员密码重置步骤。

开始前的准备工作

在尝试重置管理员密码之前,请使用以下过程验证已安装并运行 EC2Config 服务。在此部分后面的内容中,您将使用 EC2Config 服务重置管理员密码。

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在导航窗格中,选择 Instances,然后选择要重置密码的实例。(在此过程中,该实例称为原始 实例。)

  3. 依次选择 ActionsInstance SettingsGet System Log

  4. 找到 EC2 代理条目。例如,EC2 Agent: Ec2Config service v3.18.1118。如果您看到此条目,则 EC2Config 服务正在运行。

    如果系统日志输出为空,或者 EC2Config 服务未运行,则使用实例控制台屏幕快照截图服务对实例进行故障排除。有关更多信息,请参阅 对无法访问的实例进行故障排除

重置管理员密码

要重置 EC2 实例的管理员密码,您需要修改实例引导卷上的配置文件。但是,如果此文件作为根卷连接到实例,则您无法修改此文件。您必须先分离卷并将其连接到临时实例。修改临时实例上的配置文件之后,您可将其作为根卷重新连接到原始实例,如以下过程中所述。

重要

按下面过程所述停止和启动实例后,实例获取新的公有 IP 地址。重置密码后,请务必使用实例的当前公有 DNS 名称连接到实例。如果实例位于 EC2-Classic 中,则所有弹性 IP 地址都与实例解除关联,因此必须重新关联。有关更多信息,请参阅 实例生命周期

重置管理员密码

  1. 打开 Amazon EC2 控制台 https://console.amazonaws.cn/ec2/

  2. 在 EC2 控制台中,选择 Instances,然后选择需要重置密码的实例。

  3. 依次选择 ActionsInstance StateStop

    警告

    当您停止某个实例时,任何实例存储卷上的数据都将被擦除。因此,如果实例存储卷上有任何您要保留的数据,请确保将其备份到持久性存储。

  4. Stop Instances 对话框中,选择 Yes, Stop。停止实例之后,继续下一步操作。

  5. (可选) 如果您没有原始密钥对 (用于创建此实例的 .pem 文件),请完成以下步骤来创建此实例的 AMI (原始实例的副本),并使用已知或新的密钥对来重新部署该实例。如果有密钥对,您可以跳到下一步。

    1. 在 EC2 控制台中,选择需要新密钥对的实例,然后依次选择 ActionsImageCreate Image

    2. 键入实例的名称和说明,然后选择 Create Image

    3. Create Image 页面中,选择 View pending image ami-ID。当新 AMI 的状态显示为 available 时,在导航窗格中选择 Instances,然后选择原始实例。

    4. 依次选择 ActionsLaunch More Like This。此时将打开实例启动向导。向导中会预先填充创建原始实例所用的设置规格,包括相同的 VPC、子网以及可用区,但是不会 预先填充来使用刚刚创建的 AMI。

    5. 在向导顶部的导航栏中,选择 1. Choose AMI

    6. 选择 My AMIs,清除预填充的筛选条件,然后找到您之前创建的 AMI。选择 Select

       AMI 选择向导
    7. You selected a different AMI 页面中,选择 Yes, I want to continue with this AMI,然后选择 Next

    8. 在向导顶部的导航栏中,选择 7. Review,然后选择 Launch

    9. Select an existing key pair or create a new key pair 页面中,选择您可以访问的密钥对或者创建新密钥对。

    10. 选择 I acknowledge... 选项,然后选择 Launch

    重要

    对于此过程的剩余部分,所有对原始实例 的引用将应用到您刚刚创建的这一实例。您可以停止或终止旧实例。如果您不停止或者终止旧实例,可能会产生费用。

  6. 在 Amazon EC2 控制台中,选择 Instances 并在与原始实例相同的可用区中启动临时 Windows 实例。(在此过程中,该实例称为临时实例。)

    警告

    (可选) 如果您的临时实例与原始实例基于相同的 AMI,且操作系统版本高于 Windows Server 2003,则您必须完成额外的步骤,否则在您恢复原始实例的根卷之后,由于磁盘签名冲突,您将无法启动原始实例。或者,可以为临时实例选择不同的 AMI。例如,如果原始实例使用 Windows Server 2008 R2 的 AWS Windows AMI,则使用 Windows Server 2012 或 Windows Server 2003 的 AWS Windows AMI 来启动临时实例。(要查找适用于 Windows Server 2003 的 AMI,请使用名称 Windows_Server-2003-R2_SP2 来搜索 AMI。)

  7. 通过以下操作将根卷与原始实例分离:

    1. 在原始实例的 Description 窗格上,记下作为 Root device 列出的 EBS 卷 ID。

    2. 在导航窗格中,选择 Volumes

    3. 在卷列表中,选择该卷,然后选择 ActionsDetach Volume。当卷的状态变为 available (可用) 之后,继续下一步操作。

  8. 通过以下操作,将卷作为辅助卷连接到临时实例:

    1. 选择 ActionsAttach Volume

    2. Attach Volume (连接卷) 对话框中,在 Instances 字段中键入临时实例的名称或 ID,然后从建议选项的列表中选择该实例。

    3. Device 框中,键入 xvdf (如果此处没有),然后选择 Attach

    4. 连接到临时实例,打开磁盘管理实用工具,使用以下说明使驱动器联机:使卷可在 Windows 上使用

  9. 在辅助卷上,按照以下说明修改配置文件:

    1. 在临时实例中,导航到辅助卷,然后使用文本编辑器 (如 Notepad) 打开 \Program Files\Amazon\Ec2ConfigService\Settings\config.xml

    2. 在文件顶部,查找名为 Ec2SetPassword 的插件,如图所示。将状态从 Disabled 更改为 Enabled,然后保存文件。

       要更改的 Config.xml 文件区域
  10. (可选)如果您的临时实例与原始实例基于相同的 AMI,且操作系统版本高于 Windows Server 2003,则您必须完成以下步骤,否则在您恢复原始实例的根卷之后,由于磁盘签名冲突,您将无法启动原始实例。

    警告

    以下过程介绍了如何使用注册表编辑器编辑 Windows 注册表。 如果您不熟悉注册表或不知道如何使用注册编辑器安全地做出更改,请阅读 Microsoft TechNet 上的注册表。

    1. 打开命令提示,键入 regedit.exe,并按“Enter”键。

    2. 注册表编辑器中,从上下文菜单中选择 HKEY_LOCAL_MACHINE(右击),然后选择“查找”

    3. 键入 Windows Boot Manager,然后选择“查找下一个”

    4. 选择名为 11000001 的密钥。此密钥与您在之前步骤中找到的密钥处于同一层级。

    5. 在右侧窗格中,选择 Element,然后从上下文菜单 (单击右键) 中选择 Modify

    6. 在数据中的偏移 0x38 处查找四字节磁盘签名。颠倒这些字节以创建磁盘签名并将其记下。例如,由以下数据表示的磁盘签名为 E9EB3AA5

      ...
      0030  00 00 00 00 01 00 00 00
      0038  A5 3A EB E9 00 00 00 00
      0040  00 00 00 00 00 00 00 00
      ...
    7. 在命令提示符窗口中,运行以下命令以启动 Microsoft DiskPart。

      Copy
      diskpart
    8. 运行以下 DiskPart 命令以选择卷。(您可以使用 Disk Management (磁盘管理) 实用工具来验证磁盘编号为 1。)

      Copy
      DISKPART> select disk 1 Disk 1 is now the selected disk.
    9. 运行以下 DiskPart 命令以获取磁盘签名。

      Copy
      DISKPART> uniqueid disk Disk ID: 0C764FA8
    10. 如果上一步骤中显示的磁盘签名与前面记下的 BCD 中的磁盘签名不匹配,请使用以下 DiskPart 命令更改磁盘签名以使其匹配:

      Copy
      DISKPART> uniqueid disk id=E9EB3AA5
  11. 通过以下操作从临时实例分离辅助卷:

    1. 使用 Disk Management (磁盘管理) 实用工具,将该卷脱机。

      注意

      如果临时实例运行的操作系统与受影响实例相同,则驱动器将自动脱机,因此您无需手动使其脱机。

    2. 在 Amazon EC2 控制台的导航窗格中,选择 Volumes

    3. 选择卷,然后选择 ActionsDetach Volume。当卷的状态变为 available (可用) 之后,继续下一步操作。

  12. 通过以下操作,将卷作为根卷连接到原始实例:

    1. 选择卷,然后选择 ActionsAttach Volume

    2. Attach Volume (连接卷) 对话框中,在 Instances 列表中键入原始实例的名称或 ID,然后选择该实例。

    3. Device 框中,输入 /dev/sda1

    4. 选择 Yes, Attach

  13. 通过以下步骤重新启动原始实例:

    1. 在导航窗格中,选择 Instances

    2. 选择原始实例,然后依次选择 ActionsInstance StateStart

    3. Start Instances 对话框中,选择 Yes, Start

  14. 通过以下步骤检索新的默认密码:

    1. 在导航窗格中,选择 Instances

    2. 选择原始实例,然后选择 ActionsGet Windows Password

    3. Retrieve Default Windows Administrator Password 对话框中,选择 Browse,然后选择对应于启动实例时指定的密钥对的 .pem 文件。

    4. 选择 Decrypt Password。您将使用解密的密码以及本地管理员账户连接到原始实例。

注意

(可选) 如果您完成了此过程中的可选步骤来解决缺少密钥对的问题 (步骤 5),请记录以下内容:

  • 如果您的实例使用了弹性 IP 地址,则必须将该弹性 IP 地址重新分配到刚刚创建的新实例。有关更多信息,请参阅 将弹性 IP 地址与正在运行的实例关联起来

  • 请确保引用公共和/或私有 DNS 或 IP 地址的任何 DNS 条目指向了合适的值。