使用 EC2 Serial Console 对 Amazon EC2 实例进行故障排查
通过使用 EC2 Serial Console,您可以通过连接到实例的串行端口来排查启动、网络配置和其他方面的问题。
注意
在开始之前,请确保您已完成先决条件。
使用 GRUB 对 Linux 实例进行故障排查
GNU GRUB(GNU GRand Unified Bootloader [统一引导加载程序] 的缩写,通常称为 GRUB)是大多数 Linux 操作系统的默认引导加载程序。从 GRUB 菜单中,您可以选择要引导到哪个内核,或修改菜单项以更改内核的启动方式。这在对失败的实例进行故障排查时非常有用。
在引导流程中将显示 GRUB 菜单。该菜单无法通过普通 SSH 访问,但您可以通过 EC2 Serial Console 访问。
使用 SysRq 对 Linux 实例进行故障排查
系统请求 (SysRq) 键(有时称为“magic SysRq”)可用于在 Shell 外直接向内核发送命令,无论内核正在执行什么操作,内核都会响应。例如,如果实例已停止响应,则可以使用 SysRq 密钥告诉内核崩溃或重新启动。有关更多信息,请参阅 Wikipedia 中的 Magic SysRq 键
您可以在基于 EC2 Serial Console 浏览器的客户端中或 SSH 客户端中使用 SysRq 命令。每个客户端发送中断请求的命令都不同。
要使用 SysRq,请根据您正在使用的客户端选择以下程序之一。
使用 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,则可在之后将其禁用。有关更多信息,请参阅 禁用 SAC 和启动菜单。
使用 SAC
使用 SAC
-
如果在实例上启用了 SAC,串行控制台将显示
SAC>
提示。 -
要显示 SAC 命令,请输入
?
,然后按 Enter。预期输出
-
要创建命令提示符通道(例如
cmd0001
或cmd0002
),输入cmd
,然后按 Enter。 -
要查看命令提示符通道,请按 ESC,然后按 TAB。
预期输出
-
要切换通道,请同时按 ESC+TAB+通道编号。例如,要切换至
cmd0002
通道(如果已创建),请按 ESC+TAB+2。 -
输入命令提示符通道所需的凭证。
命令提示符与您在桌面上获得的功能全面的命令 Shell 相同,例外之处是它不允许读取已输出的字符。
还可以从命令提示符使用 PowerShell。
请注意,您可能需要将进度首选项设置为静默模式。
![命令提示符中的 PowerShell。](images/win-boot-8.png)
使用启动菜单
如果实例已启用了启动菜单并在通过 SSH 连接后重新启动,则您应看到启动菜单,如下面所示。
![命令提示符的启动菜单。](images/win-boot-1.png)
启动菜单命令
- ENTER
-
启动操作系统的选定条目。
- TAB
-
切换到 Tools(工具)菜单。
- ESC
-
取消并重新启动实例。
- 按 ESC 后再按 8
-
相当于按下 F8。显示所选项目的高级选项。
- ESC 键 + 向左箭头
-
返回到初始启动菜单。
注意
单靠 ESC 密钥不会让您返回主菜单,因为 Windows 正在等待查看转义序列是否正在进行中。
![高级启动选项。](images/win-boot-2.png)
禁用 SAC 和启动菜单
如果您启用 SAC 和启动菜单,则可在之后将这些功能禁用。
使用以下方法之一在实例上禁用 SAC 和启动菜单。