Amazon Elastic Compute Cloud
Windows 实例用户指南
AWS 服务或AWS文档中描述的功能,可能因地区/位置而异。点 击 Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

常见问题

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

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

从 Windows Server 2012 R2 和更早 Amazon 系统映像 (AMI) 创建的实例使用 EC2Config 服务来执行各种启动任务,包括初始化 EBS 卷。为了适应从 .NET Framework 到 .NET Core 的更改,EC2Config 服务已在 Windows Server 2016 AMI 中废弃,并且被 EC2Launch 所取代。EC2Launch 是 Windows PowerShell 脚本的捆绑包,这些脚本执行许多由 EC2Config 服务执行的任务。默认情况下,EC2Launch 不初始化辅助卷。您可以配置 EC2Launch 以便通过排定脚本运行或通过在用户数据中调用 EC2Launch 来自动初始化磁盘。

将盘符映射到卷

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

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

    Copy
    { "driveLetterMapping": [ { "volumeName": "Temporary Storage 0", "driveLetter": "H" } ] }
  3. 保存您的更改。

  4. 在 Windows PowerShell 中,请使用以下脚本初始化磁盘:

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

    要在每次实例启动时初始化磁盘,请使用 -Schedule 标记:

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

您还可以通过将以下路径添加到 PowerShell 脚本的 Amazon EC2 用户数据中,在实例启动时初始化连接的磁盘。

Copy
<powershell> C:\ProgramData\Amazon\EC2-Windows\Launch\Scripts\InitializeDisks.ps1 </powershell>

有关更多信息,请参阅 使用用户数据配置实例

将 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

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

Copy
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 替换为您刚刚挂载的辅助卷的实际驱动器号:

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

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

  11. 启动实例。

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

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