Windows停止错误 - 0x00000074系统配置信息错误

适用于: ✔️ Windows 虚拟机

总结

本文提供了解决Windows由于Azure虚拟机(VM)中的系统配置信息错误而无法启动和需要重启的问题的步骤。

症状

使用 Boot 诊断查看 VM 的屏幕截图时,你将看到屏幕截图显示Windows停止代码#0x00000074BAD_SYSTEM_CONFIG_INFO

你的电脑遇到问题,需要重启。 你可以重启。 有关此问题和可能的修复的详细信息,请访问 https://windows.com/stopcode。如果您致电支持人员,请向他们提供以下信息:错误代码:BAD_SYSTEM_CONFIG_INFO

Windows停止代码BAD_SYSTEM_CONFIG_INFO的截图。

原因

如果SYSTEM注册表配置单元似乎已损坏,则会出现BAD_SYSTEM_CONFIG_INFO停止代码。 此错误可能是由以下任一原因引起的:

  • 注册表配置节点未正确关闭。
  • 注册表配置单元已损坏。
  • 缺少注册表项或值。

解决方案

过程概述

提示

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

  1. 修复 Hive 数据损坏。

  2. 启用串行控制台和内存转储收集。

  3. 重新生成 VM。

    注意

    遇到此错误时,来宾操作系统(OS)无法运行。 你将在脱机模式下进行故障排除,以解决此问题。

修复 Hive 数据损坏

按照以下步骤修复损坏的 hive:

  1. 删除 VM。

    重要

    当系统提示确认删除 VM 时,请确保清除与 OS 磁盘资源类型关联的“与 VM 一起删除”选项。

  2. 将 OS 磁盘作为数据磁盘附加到另一个 VM(故障排除 VM)。 有关详细信息,请参阅使用 Azure 门户将托管数据磁盘附加到 Windows VM

  3. 连接到故障排除 VM。

  4. 选择“开始”,然后搜索并选择“计算机管理”。 在计算机管理应用的控制台树中,选择“ 磁盘管理”。 确保 OS 磁盘处于联机状态,并且其分区已分配驱动器号。

  5. 在附加的 OS 磁盘上,导航到 \Windows\System32\config 文件夹。 如果需要回滚,请将所有文件复制到备份文件夹。

  6. 选择“开始,然后搜索并选择“注册表编辑器regedit.exe)。

  7. 在注册表编辑器应用中,选择 HKEY_USERS 子树, 在菜单上选择 File>Load Hive,然后加载 \Windows\System32\config\SYSTEM 文件。

  8. 如果 Hive 在加载时没有出现问题,则表示 Hive 未正确关闭。 在这种情况下,请卸载配置单元以解锁文件并修复问题。

    注意

    如果收到以下错误消息,请联系Azure支持部门:

    无法加载 <drive>:\Windows\System32\config\SYSTEM:加载 hive 时出错

  9. 从故障排除 VM 中分离已修复的 OS 磁盘。 然后,从 OS 磁盘创建新的 VM。

启用串行控制台和内存转储收集

建议:在重新生成 VM 之前,请按照以下步骤启用串行控制台和内存转储收集:

  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>
    

重新生成 VM

使用 VM 修复命令的步骤 5 重新生成 VM。