文章编号: 822705 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

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

如果您的计算机无法重新启动,则注册表配置单元可能损坏。显示的错误信息因情况而异,可能包括以下任何内容:
Windows could not start because the following file is missing or corrupt:\WINNT\SYSTEM32\CONFIG\SYSTEM.ced
Windows could not start because the following file is missing or corrupt:\WINNT\SYSTEM32\CONFIG\SYSTEM
Windows could not start because the following file is missing or corrupt:\WINNT\SYSTEM32\CONFIG\SOFTWARE
System hive error
Stop 0xc0000218 (0xe11a30e8, 0x00000000, 0x000000000, 0x00000000) UNKNOWN_HARD_ERROR
Stop:0xc0000218 {Registry File Failure} The registry cannot load the hive (file):\SystemRoot\System32\Config\CorruptHive or its log or alternate.It is corrupt, absent, or not writable.

更多信息

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

电源故障

电源故障或某些其他意外关机事件可能导致注册表配置单元损坏。要确定这是否是导致注册表配置单元损坏的原因,请查看事件 ID 6008 项。事件 ID 6008 项指示发生了意外关机。在此情况下,某个进程可能正在修改注册表配置单元的某一部分,并且在完成这个更改前计算机会断电。这将导致注册表配置单元处于不一致状态。如果重新启动,则在操作系统尝试加载注册表配置单元时,它会发现注册表配置单元中具有某些它无法解释的数据,并且您可能收到在本文的“概要”一节中包括的错误信息之一:

文件损坏和硬件故障

其他文件可能损坏。您必须确定是只损坏了注册表配置单元,还是也损坏了其他文件(系统和数据)。如果损坏不只限于注册表配置单元,则损坏可能是由于硬件故障造成的。此硬件可以包括涉及写入磁盘操作的以下任何硬件:
  • 随机存取存储器 (RAM)
  • 缓存
  • 处理器
  • 磁盘控制器
如果您怀疑硬件有故障,则硬件供应商必须彻底调查所有计算机组件的情况。

在关机时写入注册表

如果一个或两个注册表配置单元一直无端损坏,则问题很可能发生在关机时,并且在您尝试在下一次重新启动时加载注册表配置单元前不会被发现。在此情况下,在您关闭计算机时注册表配置单元被写入磁盘,并且此过程可能会在完成写入前终止计算机或计算机中的组件。

疑难解答

要解决此问题,请按照下列步骤操作。
  1. 备份注册表。

    您可以用来备份注册表配置单元的工具之一是故障恢复控制台。 有关如何备份、编辑和还原注册表的其他信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
    322756 如何在 Windows XP 和 Windows Server 2003 中备份、编辑和还原注册表
    322755 如何在 Windows 2000 中备份、编辑和还原注册表
    323170 如何在 Windows NT 4.0 中备份、编辑和还原注册表
  2. 检查硬件、磁盘、固件驱动程序和 BIOS。为此,请按照下列步骤操作。这些步骤可能要求计算机暂停一段时间。
    1. 确保 CPU 时钟未被超频。
    2. 确保系统事件日志不包含事件 ID 9、事件 ID 11 或事件 ID 15(或这些事件的任意组合)。这些事件可能指示存在必须解决的硬件问题。
    3. 对包含注册表配置单元文件的磁盘运行 chkdsk 命令行命令(使用 /r 开关)。此命令有助于确认包含注册表配置单元文件的磁盘区域与问题无关。
    4. 将最新的固件修订版应用于磁盘控制器,并且使用匹配的驱动程序版本。确保驱动程序是签名的驱动程序并且安装了适当的固件修订版。
    5. 确保将最新的基本输入/输出系统 (BIOS) 更新应用于计算机。
  3. 在完成步骤 2 后,您可能不会在行为上看到任何变化。要阻止损坏发生,应在关闭计算机前关闭所有正在运行的进程。您能够将范围缩小到涉及的单个进程。即使您找到了这个进程,也可能无法避免在写入注册表配置单元前卸载某个组件。但是,如果您确保在关机前终止该进程,则可以防止注册表配置单元损坏。
  4. 在您完成步骤 3 后,如果看到在行为上没有发生任何变化,则对注册表配置单元进行比较。捕获未损坏的注册表配置单元和已损坏的注册表配置单元,然后使用比较工具(如 Windiff.exe)对这两个配置单元进行比较。有关本主题的更多信息,请参见下面的 Microsoft 知识库文章:
    171780 如何使用 WinDiff 来比较注册表文件
  5. 确定哪一注册表配置单元部分在增长。如果它显示注册表配置单元中的问题增长得过大,则您能够确定哪一部分在增长并且就此追溯回写入该配置单元的进程。

属性

文章编号: 822705 - 最后修改: 2005年11月17日 - 修订: 2.2
这篇文章中的信息适用于:
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT 4.0
关键字:?
kbinfo kbtshoot KB822705
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com