跳至内容

如何打开 EC2 Serial Console、SAC 和启动菜单以对 Windows EC2 实例进行故障排除?

3 分钟阅读
0

我想对我的 Windows 实例中的 Amazon Elastic Compute Cloud (Amazon EC2) Serial Console、特殊管理控制台 (SAC) 和启动菜单进行故障排除。

简短描述

要打开 Windows 实例上的 EC2 Serial Console、SAC 和启动菜单,请使用 AWSSupport-EnableWindowsEC2SerialConsole 自动化运行手册。对于处于由 AWS Systems Manager 管理的 running(正在运行)状态的实例,该运行手册运行 Systems Manager Run Command PowerShell 脚本。此脚本将打开 SAC 和启动菜单。对于处于 stopped(已停止)状态或不受 Systems Manager 管理的实例,该运行手册使用 AWSSupport-StartEC2RescueWorkflow 自动化工作流程。此工作流程会创建临时 EC2 实例来离线执行更改。

使用 Serial Console 对您的 Windows 实例进行手动故障排除。Amazon EC2 Serial Console 可连接到您的实例的串行端口,以帮助您解决启动、网络配置和其他问题。该串行控制台不要求您的实例具有任何联网功能,并使用命令从实例的串行端口运行。串行控制台会话在实例重启和停止期间持续进行。当您的实例重启时,系统会从一开始就查看启动消息。

有关支持的实例系列和 AWS 区域的详细信息,请参阅 EC2 Serial Console 的先决条件

解决方法

使用自动化运行手册

**先决条件:**确保您的 AWS Identity and Access Management (IAM) 用户或角色拥有所需的权限。有关详细信息,请参阅 AWSSupport-EnableWindowsEC2SerialConsole 中的 Required IAM permissions(所需的 IAM 权限)。

重要事项:

要使用运行手册,请完成以下步骤:

  1. 打开 Systems Manager 控制台
  2. 在导航窗格中,选择 Shared Resources(共享资源),然后选择 Documents(文档)。
  3. 选择 Automation documents(自动化文档),然后搜索并选择 AWSSupport-EnableWindowsEC2SerialConsole
  4. 选择 Execute automation(执行自动化)。
  5. 对于输入参数,输入以下值:
    InstanceId(必填): EC2 实例的 ID。
    AutomationAssumeRole(可选): 允许 Systems Manager Automation 代表您执行操作的 AWS Identity and Access Management (IAM) 角色的 ARN。如果未指定角色,则 Systems Manager Automation 将使用启动此运行手册的用户的权限。
    HelperInstanceType(有条件): 运行手册规定的用于为离线实例配置 EC2 Serial Console 访问权限的 Amazon EC2 实例的类型。
    HelperInstanceProfileName(有条件): 辅助实例的现有 IAM 实例配置文件的名称。当您在处于 stopped(已停止)状态的实例上打开 SAC 和启动菜单时,需要此信息。当实例不由 Systems Manager 管理时,此信息也是必需的。如果未指定 IAM 实例配置文件,则自动化会为您创建一个。
    **SubnetId(有条件):**辅助实例的子网 ID。默认情况下,自动化使用提供的实例所在的同一子网。
    **注意:**如果目标实例处于已停止状态或不由 Systems Manager 管理,则自定义子网必须满足以下要求:必须与 InstanceID 位于同一个可用区中,并且必须允许访问 Systems Manager 端点。
    **CreateInstanceBackupBeforeScriptExecution(可选):**选择 True 以在 SAC 和启动菜单打开之前创建 EC2 实例的亚马逊机器映像 (AMI) 备份。自动化完成后,AMI 仍然存在。您有责任保护对 AMI 的访问权限或将其删除。
    **BackupAmazonMachineImagePrefix(有条件):**在 CreateInstanceBackupBeforeScriptExecution 参数设置为 True 时创建的 AMI 的前缀。
  6. 选择 Execute(执行)。
  7. Outputs(输出)部分中查看详细结果。以下是输出中包含的部分:
    **EnableSACAndBootMenu.Output:**在 EnableSACAndBootMenu 步骤中执行命令的输出。
    **GetExecutionDetails.OfflineScriptOutput:**在 RunAutomationToInjectOfflineScriptForEnablingSACAndBootMenu 步骤中执行的离线脚本的输出。
    **GetExecutionDetails.BackupBeforeScriptExecution:**在 CreateInstanceBackupBeforeScriptExecution 输入参数为 True 时拍摄的备份 AMI 的映像 ID。

手动使用 Serial Console 对您的 Windows 实例进行故障排除

要使用 Serial Console 对 Windows 实例进行故障排除,请完成以下任务之一:

**注意:**在开始之前,请确保配置对 Serial Console 的访问权限

打开 SAC

要打开 SAC,请完成以下步骤:

  1. 使用远程桌面协议 (RDP) 连接您的 Windows 实例,然后运行以下命令:

    打开 SAC:

    bcdedit /ems {current} on
    bcdedit /emssettings EMSPORT:1
    EMSBAUDRATE:115200

    打开启动菜单:

    bcdedit /set {bootmgr} displaybootmenu yes
    bcdedit /set {bootmgr} timeout 15
    bcdedit /set {bootmgr} bootems yes
  2. 重启实例以应用更新的配置:

    shutdown -r -t 0

    **注意:**当您使用上述命令打开并配置 SAC 时,您可以直接从 Amazon EC2 控制台连接 SAC

  3. 使用 SAC 对您的 Windows 实例进行故障排除

离线打开 SAC

要离线打开 SAC,请完成以下步骤:

  1. 打开 Amazon EC2 控制台

  2. 在导航窗格中,选择 Instances(实例),然后选择 Instances(实例)。

  3. 选择受影响的实例并选择 Instance state(实例状态),然后选择 Stop instance(停止实例)。

  4. 选择 Launch instances(启动实例),然后在与受影响实例相同的可用区中创建临时实例。
    **注意:**确保选择使用不同版本 Windows 的实例类型。例如,如果您的实例是 Windows Server 2016,请选择 Windows Server 2012 R2 或 2019 实例。

  5. 在导航窗格中,选择 Elastic Block Store,然后选择 Volumes(卷)。

  6. 选择受影响实例的 Amazon Elastic Block Store (Amazon EBS) 卷。

  7. 分离 Amazon EBS 卷并使用默认设备名称 (xvdf) 将该卷连接到临时实例。

  8. 使用 RDP 连接到临时实例,然后使用磁盘管理实用程序使该卷可在 Windows 上使用

  9. 打开命令提示符并运行以下命令:

    **注意:**将 d 替换为您连接的辅助卷的驱动器号:

    bcdedit /store d:\boot/bcd /set {default} ems on
    bcdedit /store d:\boot/bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
    bcdedit /store d:\boot/bcd /set {bootmgr} displaybootmenu yes
    bcdedit /store d:\boot/bcd /set {bootmgr} timeout 15
    bcdedit /store d:\boot/bcd /set {bootmgr} bootems yes
  10. 在磁盘管理实用程序中,选择您连接的驱动器。打开上下文菜单,然后选择 Offline(离线)。

  11. 在 Amazon EC2 控制台中,将受影响的卷与临时实例分离。使用设备名为 /dev/sda1 将原始卷重新连接到您的原始实例。要将该卷指定为根卷,请确保指定此设备名称。

  12. 使用串行控制台中的 SAC 启动实例。

  13. (可选)删除或停止临时实例。

相关信息

AWS Support 自动化工作流程 (SAW)

运行由 Systems Manager Automation 提供支持的自动操作

设置自动化

适用于实例的 EC2 Serial Console