Windows 在启动 Azure VM 时显示蓝屏错误

适用于:✔️ Windows VM

本文介绍在 Microsoft Azure 中启动 Windows 虚拟机(VM)时可能会遇到的蓝屏错误。 本文提供用于收集支持票证数据的步骤。

现象

Windows VM 不启动。 在启动诊断检查启动屏幕截图时,蓝屏中会显示以下错误消息之一:

你的电脑遇到问题,需要重启。 我们将收集一些错误信息,然后你就可以重启。

你的电脑遇到问题,需要重启。

原因

你遇到停止错误的原因可能有很多。 最常见的原因是以下问题:

  • 驱动程序中的问题
  • 系统文件或内存损坏
  • 访问内存的禁止扇区的应用程序

解决方案

提示

如果 VM 有最近的备份,可以尝试 从备份 还原 VM 以修复启动问题。

若要解决此问题,必须先收集故障转储文件,然后才能联系支持人员。 若要收集转储文件,请执行以下步骤:

步骤 1:找到转储文件并提交支持票证

第 1 部分:将 OS 磁盘附加到恢复 VM
  1. 创建受影响 VM 的 OS 磁盘的快照以创建备份。 有关详细信息,请参阅 创建虚拟硬盘的快照。

  2. 将 OS 磁盘附加到恢复 VM

  3. 使用远程桌面协议(RDP)远程连接到恢复 VM。

  4. 如果受影响的 VM 的 OS 磁盘已加密,请关闭加密,然后再转到下一步。 有关详细信息,请参阅 解密加密的 OS 磁盘

第 2 部分:找到转储文件并提交支持票证
  1. 在恢复 VM 上,转到 附加 OS 磁盘上的 Windows 文件夹。 例如,如果分配给附加 OS 磁盘的驱动器号为 F,请转到 F:\Windows

  2. 找到Memory.dmp文件,然后提交支持票证并附加转储文件。

如果找不到转储文件,请转到后续步骤以启用转储日志和串行控制台,然后重现问题。

步骤 2:启用转储日志和串行控制台

重要

此部分(或称方法或任务)介绍了修改注册表的步骤。 但是,注册表修改不当可能会出现严重问题。 因此,按以下步骤操作时请务必谨慎。 出于防范目的,请在修改之前备份注册表,以便在出现问题时还原注册表。 有关如何备份和还原注册表的详细信息,请参阅:如何备份和还原 Windows 中的注册表

若要启用转储日志和串行控制台,请执行以下步骤:

  1. 以管理员身份打开提升的命令提示符会话。

  2. 使用 /ems 和 /emssettings 选项运行以下 BCDEdit 命令:

    启用串行控制台:

    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /ems {<boot-loader-identifier>} ON
    bcdedit /store <volume-letter-containing-the-bcd-folder>:\boot\bcd /emssettings EMSPORT:1 EMSBAUDRATE:115200
    
  3. 验 OS 磁盘上的可用空间是否大于 VM 上的内存大小 (RAM)。

    如果 OS 磁盘上没有足够的空间,请更改创建内存转储文件的位置,并将该位置引用附加到 VM 且有足够的可用空间的任何数据磁盘。 若要更改位置,请替换为 %SystemRoot% 数据磁盘的驱动器号,如 F:以下命令中的驱动器号。

    若要启用 OS 转储文件,请运行以下 加载添加卸载 命令,以使用 reg 工具实现建议的配置:

    从损坏的 OS 磁盘加载注册表配置单元:

    reg load HKLM\<broken-system> <volume-letter-of-broken-os-disk>:\windows\system32\config\SYSTEM
    

    在 ControlSet001 上启用:

    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet001\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    在 ControlSet002 上启用:

    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v CrashDumpEnabled /t REG_DWORD /d 1 /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v DumpFile /t REG_EXPAND_SZ /d "%SystemRoot%\MEMORY.DMP" /f
    reg add "HKLM\<broken-system>\ControlSet002\Control\CrashControl" /v NMICrashDump /t REG_DWORD /d 1 /f
    

    卸载损坏的 OS 磁盘:

    reg unload HKLM\<broken-system>
    

步骤 3:重现问题

  1. 分离 OS 磁盘,然后将 OS 磁盘重新附加到受影响的 VM

  2. 启动 VM 以重现问题,以便生成转储文件。

  3. 重复步骤 1 中的 说明:找到转储文件并提交支持票证 部分。

联系我们寻求帮助

如果你有任何疑问或需要帮助,请创建支持请求联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区