适用于: ✔️ Windows 虚拟机
总结
本文提供了解决Windows由于Azure虚拟机(VM)中的系统配置信息错误而无法启动和需要重启的问题的步骤。
症状
使用 Boot 诊断查看 VM 的屏幕截图时,你将看到屏幕截图显示Windows停止代码#0x00000074或 BAD_SYSTEM_CONFIG_INFO。
你的电脑遇到问题,需要重启。 你可以重启。 有关此问题和可能的修复的详细信息,请访问 https://windows.com/stopcode。如果您致电支持人员,请向他们提供以下信息:错误代码:BAD_SYSTEM_CONFIG_INFO
原因
如果SYSTEM注册表配置单元似乎已损坏,则会出现BAD_SYSTEM_CONFIG_INFO停止代码。 此错误可能是由以下任一原因引起的:
- 注册表配置节点未正确关闭。
- 注册表配置单元已损坏。
- 缺少注册表项或值。
解决方案
过程概述
提示
如果 VM 有最近的备份,可以尝试 从备份 还原 VM 以修复启动问题。
修复 Hive 数据损坏。
启用串行控制台和内存转储收集。
重新生成 VM。
注意
遇到此错误时,来宾操作系统(OS)无法运行。 你将在脱机模式下进行故障排除,以解决此问题。
修复 Hive 数据损坏
按照以下步骤修复损坏的 hive:
删除 VM。
重要
当系统提示确认删除 VM 时,请确保清除与 OS 磁盘资源类型关联的“与 VM 一起删除”选项。
将 OS 磁盘作为数据磁盘附加到另一个 VM(故障排除 VM)。 有关详细信息,请参阅使用 Azure 门户将托管数据磁盘附加到 Windows VM。
连接到故障排除 VM。
选择“开始”,然后搜索并选择“计算机管理”。 在计算机管理应用的控制台树中,选择“ 磁盘管理”。 确保 OS 磁盘处于联机状态,并且其分区已分配驱动器号。
在附加的 OS 磁盘上,导航到 \Windows\System32\config 文件夹。 如果需要回滚,请将所有文件复制到备份文件夹。
选择“开始”,然后搜索并选择“注册表编辑器”(regedit.exe)。
在注册表编辑器应用中,选择 HKEY_USERS 子树, 在菜单上选择 File>Load Hive,然后加载 \Windows\System32\config\SYSTEM 文件。
如果 Hive 在加载时没有出现问题,则表示 Hive 未正确关闭。 在这种情况下,请卸载配置单元以解锁文件并修复问题。
注意
如果收到以下错误消息,请联系Azure支持部门:
无法加载 <drive>:\Windows\System32\config\SYSTEM:加载 hive 时出错
从故障排除 VM 中分离已修复的 OS 磁盘。 然后,从 OS 磁盘创建新的 VM。
启用串行控制台和内存转储收集
建议:在重新生成 VM 之前,请按照以下步骤启用串行控制台和内存转储收集:
以管理员身份打开提升的命令提示符会话。
使用 /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验 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。