使用 SAC 对 Windows 实例进行故障排除 - Amazon Elastic Compute Cloud

使用 SAC 对 Windows 实例进行故障排除

Windows 的特殊管理控制台 (SAC) 功能可用于对 Windows 实例进行故障排查。通过连接到实例的串行控制台并使用 SAC,您可以中断引导流程并在安全模式下启动 Windows。

限制

如果您在实例上启用 SAC,则依赖密码检索的 EC2 服务将无法通过 Amazon EC2 控制台运行。Amazon EC2 启动代理(EC2Config、EC2Launch v1 和 EC2Launch v2)上的 Windows 依靠串行控制台来执行各种任务。当您在实例上启用 SAC 时,这些任务不会成功执行。有关 Amazon EC2 启动代理上的 Windows 的更多信息,请参阅配置您的 Windows 实例

先决条件

要使用 SAC 对 Windows 实例进行故障排查,必须首先满足以下先决条件:

  1. 授予串行控制台的访问权限。有关更多信息,请参阅配置对 EC2 串行控制台的访问

  2. 启用 SAC 和启动菜单。有关更多信息,请参阅启用 SAC 和启动菜单

  3. 连接到串行控制台。有关更多信息,请参阅连接到 EC2 串行控制台

启用 SAC 和启动菜单

使用以下方法之一在实例上启用 SAC 和启动菜单。

PowerShell

在 Windows 实例上启用 SAC 和启动菜单

  1. 连接到您的实例并从提升的 PowerShell 命令行执行以下步骤。

  2. 启用 SAC。

    bcdedit /ems '{current}' on bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200
  3. 启用启动菜单。

    bcdedit /set '{bootmgr}' displaybootmenu yes bcdedit /set '{bootmgr}' timeout 15 bcdedit /set '{bootmgr}' bootems yes
  4. 重新启动实例以应用更新后的配置。

    shutdown -r -t 0
Command prompt

在 Windows 实例上启用 SAC 和启动菜单

  1. 连接到您的实例并从命令提示符执行以下步骤。

  2. 启用 SAC。

    bcdedit /ems {current} on bcdedit /emssettings EMSPORT:1 EMSBAUDRATE:115200
  3. 启用启动菜单。

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

    shutdown -r -t 0

使用 SAC

使用 SAC

  1. 连接到串行控制台。

    如果在实例上启用了 SAC,串行控制台将显示 SAC> 提示。

  2. 要显示 SAC 命令,请输入 ?,然后按 Enter

    预期输出

  3. 要创建命令提示符通道(例如 cmd0001cmd0002),输入 cmd,然后按 Enter

  4. 要查看命令提示符通道,请按 ESC,然后按 TAB

    预期输出

  5. 要切换通道,请同时按 ESC+TAB+通道编号。例如,要切换至 cmd0002 通道(如果已创建),请按 ESC+TAB+2

  6. 输入命令提示符通道所需的凭证。

    命令提示符与您在桌面上获得的功能全面的命令 shell 相同,例外之处是它不允许读取已输出的字符。

还可以从命令提示符使用 PowerShell。

请注意,您可能需要将进度首选项设置为静默模式。

使用启动菜单

如果实例已启用了启动菜单并在通过 SSH 连接后重新启动,则您应看到启动菜单,如下面所示。

启动菜单命令

ENTER

启动操作系统的选定条目。

TAB

切换到 Tools(工具)菜单。

ESC

取消并重新启动实例。

按 ESC 后再按 8

相当于按下 F8。显示所选项目的高级选项。

ESC 键 + 向左箭头

返回到初始启动菜单。

注意

单靠 ESC 密钥不会让您返回主菜单,因为 Windows 正在等待查看转义序列是否正在进行中。