适用于:✔️ Windows VM
本文介绍在 Microsoft Azure 中的 Windows 虚拟机 (VM) 上可能遇到的重启循环。
症状
使用启动诊断获取 VM 的屏幕截图时,你发现虚拟机正在启动,但启动进程被中断并且即将重新开始。
原因
重启循环由以下原因导致:
原因 1
存在标记为“重要”的第三方服务,并且该服务无法启动。 这将导致操作系统重启。 若要解决此问题,请参阅 原因 1 的解决方案。
原因 2
对操作系统进行了一些更改。 通常情况下,这些更改与更新安装、应用程序安装或新策略相关。 可能需要查看以下日志来了解更多详细信息:
- 事件日志
- CBS.logWindows
- Update.log
若要解决此问题,请参阅 原因 2 的解决方案。
原因 3
注册表配置单元损坏可能会导致此问题。 若要解决此问题,请参阅 原因 3 的解决方案。
解决方案
提示
如果 VM 有最近的备份,可以尝试 从备份 还原 VM 以修复启动问题。
要解决此问题,请备份 OS 磁盘,并将 OS 磁盘附加到安全的 VM,然后按照相应地解决方案选项执行操作或逐个尝试解决方案。
原因 1 的解决方案
将 OS 磁盘附加到有效的 VM 后,确保磁盘在磁盘管理控制台中标记为“联机”,并记下保存 \Windows 文件夹的分区的驱动器号。
如果磁盘设置为“脱机”,则将其设置为“联机”。
创建 \Windows\System32\config 文件夹的副本,以防需要回滚更改。
在安全的 VM 中,打开 Windows 注册表编辑器 (regedit)。
选择 HKEY_LOCAL_MACHINE 键,然后选择菜单中的“文件”>“加载配置单元”。
浏览到 \Windows\System32\config 文件夹中的系统文件。
选择“打开”,键入 BROKENSYSTEM 作为名称,展开 HKEY_LOCAL_MACHINE 键,然后将看到名为 BROKENSYSTEM 的附加键。
检查计算机从哪个 ControlSet 重启。 你将在以下注册表项中看到键编号。
HKEY_LOCAL_MACHINE\BROKENSYSTEM\Select\Current
通过以下注册表项查看 VM 代理服务的重要程度。
HKEY_LOCAL_MACHINE\BROKENSYSTEM\ControlSet00x\Services\RDAgent\ErrorControl
如果注册表项的值未设置为 2,则执行下一步缓解措施。
如果注册表项的值设置为 2,则将值从 2 改为 1。
如果存在以下键,并且其值为 2 或 3,则将这些值相应地改为 1:
HKEY_LOCAL_MACHINE\BROKENSYSTEM\ControlSet00x\Services\AzureWLBackupCoordinatorSvc\ErrorControl
HKEY_LOCAL_MACHINE\BROKENSYSTEM\ControlSet00x\Services\AzureWLBackupInquirySvc\ErrorControl
HKEY_LOCAL_MACHINE\BROKENSYSTEM\ControlSet00x\Services\AzureWLBackupPluginSvc\ErrorControl
选择 BROKENSYSTEM 密钥,然后从菜单中选择“文件>卸载 Hive”。
从故障排除 VM 中分离 OS 磁盘。
从故障排除 VM 中删除该磁盘并等待大约 2 分钟,以便 Azure 释放此磁盘。
如果问题得到解决,则可能需要重新安装 RDAgent (WaAppAgent.exe)。
原因 2 的解决方案
将 VM 还原到上一个已知的正确配置:按照如何使用上一个已知的正确配置启动 Azure Windows VM 中的步骤执行操作。
原因 3 的解决方案
注意
以下过程应该仅作为最后的手段。 尽管从 regback 还原可以还原对计算机的访问权限,但 OS 并不稳定,因为注册表中将出现数据丢失(在配置单元和当天的时间戳之间)。 需要构建新的 VM 并制订数据迁移计划。
将磁盘附加到故障排除 VM 后,请确保磁盘在磁盘管理控制台中标记为“联机”。
创建 \Windows\System32\config 文件夹的副本,以防需要回滚更改。
复制 \Windows\System32\config\regback 文件夹中的文件,并替换 \Windows\System32\config 文件夹中的文件。
从故障排除 VM 中删除该磁盘并等待大约 2 分钟,以便 Azure 释放此磁盘。
联系我们寻求帮助
如果你有任何疑问或需要帮助,请创建支持请求或联系 Azure 社区支持。 你还可以将产品反馈提交到 Azure 反馈社区。