高级用户的注册表疑难解答步骤

本文介绍如何解决注册表损坏问题。

适用于:  Windows 10 - 所有版本,Windows Server 2012 R2
原始 KB 编号:   822705

摘要

如果计算机未重新启动,则注册表配置单元可能已损坏。 错误消息可能会有所不同。 它们可以包括以下任一内容:

Windows文件缺失或损坏,无法启动:\WINNT\SYSTEM32\CONFIG\SYSTEM.ced

Windows文件缺失或损坏,无法启动:\WINNT\SYSTEM32\CONFIG\SYSTEM

Windows文件缺失或损坏,无法启动:\WINNT\SYSTEM32\CONFIG\SOFTWARE

系统配置单元错误

停止0xc0000218 (0xe11a30e8、0x00000000、0x000000000、0x00000000) UNKNOWN_HARD_ERROR

Stop: 0xc0000218 {Registry File Failure} 注册表无法加载配置单元 (文件) :
\SystemRoot\System32\Config\ CorruptHive 或者 其日志或备用日志。 它已损坏、不存在或无法写入。

更多信息

注册表配置单元可能损坏有很多原因。 很可能在计算机关闭时导致损坏,并且你无法跟踪原因,因为计算机在关闭期间卸载进程和驱动程序。 有时,很难找出注册表损坏的原因。 以下各节介绍问题的三个可能原因,并提供解决问题的步骤。

电源故障

电源故障或其他一些意外关闭事件可能导致注册表配置单元损坏。 若要确定这是否是问题的原因,请查找事件 ID 6008 条目。 事件 ID 6008 条目指示发生意外关闭。 在这种情况下,某些进程可能修改了注册表配置单元的一部分,并且计算机在更改完成之前断电。 这使得注册表配置单元的状态不一致。 重新启动时,当操作系统尝试加载注册表配置单元时,它可能会发现该注册表配置单元中无法解释的数据,并且您可能会收到"摘要"部分中包含的错误消息之一。

文件损坏和故障硬件

其他文件可能已损坏。 您必须确定仅注册表配置单元是否已损坏,或系统 (文件是否) 损坏。 如果损坏不限于注册表配置单元,损坏可能导致硬件损坏。 此硬件可能包括写入磁盘所涉及的任何内容,例如:

  • 随机访问内存 (内存)
  • 缓存
  • 处理器
  • 磁盘控制器

如果您怀疑硬件出错,则硬件供应商必须全面调查所有计算机组件的情况。

注册表在关闭时写入

如果一个或两个注册表配置单元出于任何原因一直损坏,则问题可能在关闭时出现,直到尝试在下次重新启动时加载注册表配置单元时才会发现。 在这种情况下,关闭计算机时注册表配置单元将写入磁盘,并且此过程可能会停止计算机或计算机中的组件,然后再完成写入操作。

疑难解答

若要解决此问题,请按照以下步骤操作。

  1. 在注册表损坏发生之前,将计算机还原到以前的状态。
    可用于备份注册表配置单元的一个工具是恢复控制台。 若要详细了解如何备份和还原注册表,请单击以下文章编号以查看 Microsoft 知识库中的文章:

    322756如何在 Windows XP 和 Windows Vista 中备份和还原注册表

    307654如何在 Windows XP 中安装和使用恢复控制台

  2. 检查硬件、磁盘、固件驱动程序和 BIOS。 为此,请按照下列步骤操作。 这些步骤可能需要计算机停机。

    1. 确保 CPU 未超时运行。
    2. 确保系统事件日志不包含事件 ID 9、事件 ID 11 或事件 ID 15 (或这些事件的任何) 。 这些事件可能指示必须解决的硬件问题。
    3. 在包含注册表配置单元文件的磁盘上,结合 chkdsk /r 开关运行命令行命令。 此命令可帮助验证问题中是否未涉及包含注册表配置单元文件的磁盘区域。
    4. 将最新的固件修订应用到磁盘控制器,并使用匹配的驱动程序版本。 确保驱动程序是已签名的驱动程序,并且你安装了相应的固件修订。
    5. 请确保将最新的基本输入/输出系统应用到 (BIOS) 更新。
  3. 完成步骤 2 后,您可能不会看到任何行为更改。 若要防止损坏,请在关闭计算机之前尝试关闭所有正在运行的进程。 你或许能够将范围缩小到涉及的单个进程。 即使您确定该过程,在将注册表配置单元写入到之前,也可能无法阻止卸载组件。 但是,如果确保先停止进程再关闭,则可以避免注册表配置单元损坏。

  4. 完成步骤 3 后,如果看不到任何行为更改,请比较注册表配置单元。 捕获未损坏的注册表配置单元和损坏的注册表配置单元,然后使用比较工具(如 Windiff.exe)比较这两者。

  5. 确定哪个注册表配置单元部分正在增长。 如果注册表配置单元中的问题似乎过大,你可能会确定哪个部分正在增长,并跟踪到写入配置单元的进程。