Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 Amazon AWS 入门

常见问题

以下是一些故障排除技巧,可帮助您解决与运行 Windows Server 的 EC2 实例相关的常见问题。

EBS 卷在 Windows Server 2016 AMI 上不初始化

从 Windows Server 2016 Amazon 系统映像 (AMI) 创建的实例使用 EC2Launch 服务来执行各种启动任务,包括初始化 EBS 卷。默认情况下,EC2Launch 不初始化辅助卷。您可以将 EC2Launch 配置为自动初始化这些磁盘。

将盘符映射到卷

  1. 连接到要配置的实例并在文本编辑器中打开 C:\ProgramData\Amazon\EC2-Windows\Launch\Config\DriveLetterMappingConfig.json 文件。

  2. 使用以下格式指定卷设置:

    { "driveLetterMapping": [ { "volumeName": "sample volume", "driveLetter": "H" } ] }
  3. 保存更改并关闭文件。

  4. 打开 Windows PowerShell 并使用以下命令来运行初始化磁盘的 EC2Launch 脚本:

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1

    要在每次实例启动时初始化磁盘,请添加 -Schedule 标记,如下所示:

    PS C:\> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 -Schedule

将 EC2 Windows 实例启动至目录服务还原模式 (DSRM)

如果运行 Microsoft Active Directory 的实例遇到系统故障或其他关键问题,您可以通过启动至特殊版本的安全模式 (称为目录服务还原模式 (DSRM)) 对该实例进行故障排除。在 DSRM 中,您可以修复或恢复 Active Directory。

DSRM 的驱动程序支持

您启用 DSRM 和启动至实例的方式取决于实例正在运行的驱动程序。在 EC2 控制台中,您可以从系统日志查看实例的驱动程序版本详细信息。下表显示了 DSRM 支持的驱动程序。

驱动程序版本 DSRM 是否支持? 后续步骤
Citrix 半虚拟化驱动程序 5.9 从备份还原实例。您无法启用 DSRM。
AWS 半虚拟化驱动程序 7.2.0 尽管该驱动程序不支持 DSRM,但您仍可以将根卷从实例分离并为其创建快照或 AMI,然后将其作为辅助卷附加到同一个可用区中的其他实例。然后,您可以按照本部分的说明启用 DSRM。
AWS 半虚拟化驱动程序 7.2.2 和更高版本 分离根卷,将其附加到其他实例,然后启用 DSRM (如本节中所述)。
增强联网 分离根卷,将其附加到其他实例,然后启用 DSRM (如本节中所述)。

有关如何启用增强联网功能的信息,请参阅在 VPC 中的 Windows 实例上启用增强联网功能。有关升级 AWS PV 驱动程序的更多信息,请参阅在 Windows 实例上升级半虚拟化驱动程序

将实例配置为启动至 DSRM

在操作系统运行前,EC2 Windows 实例没有网络连接。因此,您无法通过按键盘上的 F8 键来选择启动选项。您必须使用以下过程之一将 EC2 Windows Server 实例启动至 DSRM。

如果您怀疑 Active Directory 已损坏,但该实例仍在运行,则可以使用 System Configuration 对话框或命令提示符将该实例配置为启动至 DSRM。

使用 System Configuration 对话框将在线实例启动至 DSRM

  1. Run 对话框中,键入 msconfig 并按下 Enter。

  2. 选择 Boot 选项卡。

  3. Boot options 下,选择 Safe boot

  4. 选择 Active Directory repair,然后选择 OK。系统将提示您重新启动服务器。

使用命令行将在线实例启动至 DSRM

从命令提示符窗口运行以下命令:

bcdedit /set safeboot dsrepair

如果某个实例处于离线状态并且无法访问,您必须先分离根卷并将其附加到其他实例才能启用 DSRM 模式。

将离线实例启动至 DSRM

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

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

  3. 找到受影响的实例。打开实例的上下文 (右键单击) 菜单,选择 Instance State,然后选择 Stop

  4. 选择 Launch Instance 并在与受影响实例相同的可用区中创建临时实例。选择使用其他 Windows 版本的实例类型。例如,如果您的实例是 Windows Server 2008 R1,则选择 Windows Server 2008 R2 实例。

    重要

    如果您未在与受影响实例相同的可用区中创建该实例,则无法将受影响的实例的根卷附加到新实例。

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

  6. 找到受影响的实例的根卷。分离该卷并将其附加到早先创建的临时实例。使用默认设备名称 (xvdf) 附加该卷。

  7. 使用远程桌面连接临时实例,然后通过磁盘管理实用工具使该卷可供使用

  8. 打开命令提示符窗口并运行以下命令。将 D 替换为您刚刚附加的辅助卷的实际驱动器号:

    bcdedit /store D:\Boot\BCD /set {default} safeboot dsrepair
  9. 在磁盘管理实用工具中,选择您之前附加的驱动器,打开上下文 (右键单击) 菜单,然后选择脱机

  10. 在 EC2 控制台中,将受影响的卷从临时实例分离,然后将其重新附加到设备名称为 /dev/sda1 的原始实例。您必须指定此设备名称才能将卷指派为根卷。

  11. 启动实例。

  12. 在实例将健康检查传入 EC2 控制台后,使用远程桌面连接到实例,然后验证实例是否启动至 DSRM 模式。

  13. (可选) 删除或停止您在本过程中创建的临时实例。