如何打开 EC2 Serial Console、SAC 和启动菜单以对 Windows EC2 实例进行故障排除?
我想对我的 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 权限)。
重要事项:
- 如果您打开 SAC,则依赖密码检索的 EC2 服务无法从 Amazon EC2 控制台运行。有关详细信息,请参阅(Windows 实例)使用 SAC 对实例进行故障排除。
- 要配置对 Serial Console 的访问权限,必须在 AWS 账户级别授予 Serial Console 访问权限。然后,配置 IAM 策略以向您的用户授予访问权限。您还必须在每个实例上配置基于密码的用户。有关详细信息,请参阅配置对 EC2 Serial Console 的访问。
- 有关如何确定您的账户中 Serial Console 是否已打开的信息,请参阅查看账户对 Serial Console 的访问状态。
- 仅在 Nitro 系统上构建的虚拟化实例支持串行控制台访问。
要使用运行手册,请完成以下步骤:
- 打开 Systems Manager 控制台。
- 在导航窗格中,选择 Shared Resources(共享资源),然后选择 Documents(文档)。
- 选择 Automation documents(自动化文档),然后搜索并选择 AWSSupport-EnableWindowsEC2SerialConsole。
- 选择 Execute automation(执行自动化)。
- 对于输入参数,输入以下值:
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 的前缀。 - 选择 Execute(执行)。
- 在 Outputs(输出)部分中查看详细结果。以下是输出中包含的部分:
**EnableSACAndBootMenu.Output:**在 EnableSACAndBootMenu 步骤中执行命令的输出。
**GetExecutionDetails.OfflineScriptOutput:**在 RunAutomationToInjectOfflineScriptForEnablingSACAndBootMenu 步骤中执行的离线脚本的输出。
**GetExecutionDetails.BackupBeforeScriptExecution:**在 CreateInstanceBackupBeforeScriptExecution 输入参数为 True 时拍摄的备份 AMI 的映像 ID。
手动使用 Serial Console 对您的 Windows 实例进行故障排除
要使用 Serial Console 对 Windows 实例进行故障排除,请完成以下任务之一:
**注意:**在开始之前,请确保配置对 Serial Console 的访问权限。
打开 SAC
要打开 SAC,请完成以下步骤:
-
使用远程桌面协议 (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 -
重启实例以应用更新的配置:
shutdown -r -t 0**注意:**当您使用上述命令打开并配置 SAC 时,您可以直接从 Amazon EC2 控制台连接 SAC。
离线打开 SAC
要离线打开 SAC,请完成以下步骤:
-
打开 Amazon EC2 控制台。
-
在导航窗格中,选择 Instances(实例),然后选择 Instances(实例)。
-
选择受影响的实例并选择 Instance state(实例状态),然后选择 Stop instance(停止实例)。
-
选择 Launch instances(启动实例),然后在与受影响实例相同的可用区中创建临时实例。
**注意:**确保选择使用不同版本 Windows 的实例类型。例如,如果您的实例是 Windows Server 2016,请选择 Windows Server 2012 R2 或 2019 实例。 -
在导航窗格中,选择 Elastic Block Store,然后选择 Volumes(卷)。
-
选择受影响实例的 Amazon Elastic Block Store (Amazon EBS) 卷。
-
使用 RDP 连接到临时实例,然后使用磁盘管理实用程序使该卷可在 Windows 上使用。
-
打开命令提示符并运行以下命令:
**注意:**将 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 -
在磁盘管理实用程序中,选择您连接的驱动器。打开上下文菜单,然后选择 Offline(离线)。
-
在 Amazon EC2 控制台中,将受影响的卷与临时实例分离。使用设备名为 /dev/sda1 将原始卷重新连接到您的原始实例。要将该卷指定为根卷,请确保指定此设备名称。
-
使用串行控制台中的 SAC 启动实例。
-
(可选)删除或停止临时实例。
相关信息
- 语言
- 中文 (简体)

相关内容
- 已提问 10 个月前