« 上一篇下一篇 »

注册表损坏,Windows XP 无法启动恢复办法


概要
本文介绍如何恢复由于注册表损坏而无法启动的 Windows XP 系统。该步骤不能保证一定会将系统完全恢复为以前的状态;但是使用该步骤,您应当可以恢复数据。

如果反复出现与注册表损坏相关的问题,Microsoft 建议您获得以下文章中介绍的修复程序并加以安装:
318159
修复和恢复
Windows XP 中损坏的注册表

当您尝试启动或重新启动基于 Windows XP 的计算机时,可能会收到下列错误信息之一:
Windows XP could not start because the following file is missing or corrupt:\WINDOWS\SYSTEM32\CONFIG\SYSTEM
Windows XP could not start because the following file is missing or corrupt:\WINDOWS\SYSTEM32\CONFIG\SOFTWARE
Stop:c0000218 {Registry File Failure} The registry cannot load the hive (file):\SystemRoot\System32\Config\SOFTWARE or its log or alternate
System error:Lsass.exe
When trying to update a password the return status indicates that the value provided as the current password is not correct.


第一部分
在第一部分中,您依次执行下列操作:启动故障恢复控制台,创建临时文件夹,将现有注册表文件备份到新位置,删除当前位置的注册表文件,然后将注册表文件从修复文件夹复制到 System32\Config 文件夹中。完成此过程之后将创建一个注册表,您可以使用此注册表启动 Windows XP。此注册表是在 Windows XP 最初安装过程中创建并保存的,因此,安装过程结束后进行的一切更改和设置都将丢失。

要完成第一部分,请按照下列步骤操作:
1.    将 Windows XP 启动盘插入软盘驱动器,或将 Windows XP 安装光盘插入 CD-ROM 驱动器,然后重新启动计算机。
按照提示,单击以选中从 CD-ROM 驱动器启动计算机所需的所有选项。
2.    出现“欢迎使用安装程序”屏幕时,按 R 启动故障恢复控制台。
3.    如果您使用的是双启动或多重启动计算机,请从故障恢复控制台中选择要访问的安装。
4.    根据提示,键入管理员密码。如果管理员密码为空,则按 Enter。
5.    在故障恢复控制台的命令提示符处,键入下面几行命令,并在每行之后按 Enter:
md tmp
copy c:\windows\system32\config\system c:\windows\tmp\system.bak
copy c:\windows\system32\config\software c:\windows\tmp\software.bak
copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak
copy c:\windows\system32\config\security c:\windows\tmp\security.bak
copy c:\windows\system32\config\default c:\windows\tmp\default.bak

delete c:\windows\system32\config\system
delete c:\windows\system32\config\software
delete c:\windows\system32\config\sam
delete c:\windows\system32\config\security
delete c:\windows\system32\config\default

copy c:\windows\repair\system c:\windows\system32\config\system
copy c:\windows\repair\software c:\windows\system32\config\software
copy c:\windows\repair\sam c:\windows\system32\config\sam
copy c:\windows\repair\security c:\windows\system32\config\security
copy c:\windows\repair\default c:\windows\system32\config\default
6.    键入 exit 退出故障恢复控制台。计算机将重新启动。
注意:此过程假定 Windows XP 安装在 C:\Windows 文件夹中。如果 Windows XP 安装在另一个位置,请务必将 C:\Windows 更改为相应的 windows_folder。

如果您具有对另一台计算机的访问权限,为了节省时间,您可以在第 2 步中复制该文本,然后创建一个文本文件(例如“Regcopy1.txt”)。要创建此文件,请在启动故障恢复控制台时运行以下命令:
batch regcopy1.txt
使用故障恢复控制台中的 batch 命令,您可以按顺序处理文本文件中的所有命令。在使用 batch 命令时,无需手动键入多个命令。


第二部分
要完成本节中介绍的步骤,您必须以管理员或管理用户(在管理员组中拥有帐户的用户)的身份登录。如果您使用的是 Windows XP Home Edition,则可以用管理用户的身份登录。如果以管理员身份登录,则必须先以安全模式启动 Windows XP Home Edition。要以安全模式启动 Windows XP Home Edition 计算机,请按照下列步骤操作。

注意:在继续之前请打印这些说明。以安全模式重新启动计算机之后,您将无法查看这些说明。如果您使用的是 NTFS 文件系统,还应打印知识库文章 KB309531 中的说明。第 7 步中引用了该文章。
1.    单击开始,单击关机(或单击关闭计算机),单击重新启动,然后单击确定(或单击重新启动)。
2.    按 F8。

在配置为启动到多个操作系统的计算机上,您可以在看到启动菜单时按 F8。
3.    使用箭头键选择相应的安全模式选项,然后按 Enter。
4.    如果使用的是双启动或多重启动系统,请使用箭头键选择要访问的安装,然后按 Enter。
在第二部分中,您将使用系统还原从注册表文件的备份位置复制这些文件。此文件夹在故障恢复控制台中不可用,而且在正常使用过程中通常不可见。在开始此过程之前,您必须更改多个设置以使该文件夹可见:
1.    启动 Windows 资源管理器。
2.    在工具菜单上,单击文件夹选项。
3.    单击查看选项卡。
4.    在“隐藏文件和文件夹”下,单击选中“显示所有文件和文件夹”,然后单击以清除“隐藏受保护的操作系统文件(推荐)”复选框。
5.    在出现对话框并要求您确认是否显示这些文件时,单击“是”。
6.    双击 Windows XP 安装所在的驱动器以显示文件夹列表。一定要单击正确的驱动器。
7.    打开 System Volume Information 文件夹。因为此文件夹被设置为超级隐藏文件夹,所以此文件夹不可用并显示为灰色。

注意:此文件夹包含一个或多个 _restore {GUID} 文件夹,例如“_restore{87BD3667-3246-476B-923F-F86E30B3E7F8}”。

注意:您可能会收到以下错误信息:
C:\System Volume Information is not accessible.Access is denied.
如果收到此信息,请查看以下 Microsoft 知识库文章以获得对此文件夹的访问并继续执行后续步骤:
309531 (http://support.microsoft.com/kb/309531/) 如何获得对 System Volume Information 文件夹的访问
8.    打开一个过去创建的文件夹。您可能需要单击查看菜单上的详细信息,以查看这些文件夹的创建时间。此文件夹中可能有一个或多个名称以“RPx”开头的文件夹。这些是还原点。
9.    打开其中一个文件夹并找到 Snapshot 子文件夹。以下路径是 Snapshot 文件夹路径的示例:
C:\System Volume Information\_restore{D86480E3-73EF-47BC-A0EB-A81BE6EE3ED8}\RP1\Snapshot
10.    从 Snapshot 文件夹中,将下列文件复制到 C:\Windows\Tmp 文件夹:
?    _REGISTRY_USER_.DEFAULT
?    _REGISTRY_MACHINE_SECURITY
?    _REGISTRY_MACHINE_SOFTWARE
?    _REGISTRY_MACHINE_SYSTEM
?    _REGISTRY_MACHINE_SAM
11.    如下所示,重命名 C:\Windows\Tmp 文件夹中的文件:
?    将 _REGISTRY_USER_.DEFAULT 重命名为 DEFAULT
?    将 _REGISTRY_MACHINE_SECURITY 重命名为 SECURITY
?    将 _REGISTRY_MACHINE_SOFTWARE 重命名为 SOFTWARE
?    将 _REGISTRY_MACHINE_SYSTEM 重命名为 SYSTEM
?    将 _REGISTRY_MACHINE_SAM 重命名为 SAM
这些文件是系统还原产生的备份注册表文件。因为您使用的是安装程序创建的注册表文件,所以该注册表不知道这些还原点的存在和可用。系统将在 System Volume Information 下新建一个具有新 GUID 的文件夹,这就创建了一个还原点,该还原点包括在第一部分中复制的注册表文件的副本。所以,一定不能使用最新的文件夹,特别是在该文件夹的时间戳与当前时间相同的情况下。

当前系统配置无法识别以前的还原点。您必须拥有来自以前还原点的以前的注册表副本,才能使以前的还原点再次可用。

移动复制到 C:\Windows 文件夹中的 Tmp 文件夹中的注册表文件,一定要保证这些文件在故障恢复控制台中可用。您必须用这些文件替换 C:\Windows\System32\Config 文件夹中的当前注册表文件。默认情况下,故障恢复控制台的文件夹访问权限是有限的,不能从 System Volume 文件夹复制文件。

注意:本节中介绍的步骤假定您正在运行使用 FAT32 文件系统的计算机。

有关如何访问使用 NTFS 文件系统的 System Volume Information 文件夹的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
309531 (http://support.microsoft.com/kb/309531/) 如何获得对 System Volume Information 文件夹的访问


第三部分
在第三部分中,您将删除现有的注册表文件,然后将系统还原注册表文件复制到 C:\Windows\System32\Config 文件夹:
1.    启动故障恢复控制台。
2.    在命令提示符处,键入下列命令行,并在键入每行之后按 Enter:
del c:\windows\system32\config\sam

del c:\windows\system32\config\security

del c:\windows\system32\config\software

del c:\windows\system32\config\default

del c:\windows\system32\config\system

copy c:\windows\tmp\software c:\windows\system32\config\software

copy c:\windows\tmp\system c:\windows\system32\config\system

copy c:\windows\tmp\sam c:\windows\system32\config\sam

copy c:\windows\tmp\security c:\windows\system32\config\security

copy c:\windows\tmp\default c:\windows\system32\config\default
注意:为了便于阅读,以上某些命令行可能经过换行处理。
3.    键入 exit 退出故障恢复控制台。您的计算机将重新启动。
注意:此过程假定 Windows XP 安装在 C:\Windows 文件夹中。如果 Windows XP 安装在另一个位置,请务必将 C:\Windows 更改为相应的 windows_folder。

如果您具有对另一台计算机的访问权限,为了节省时间,您可以在第 2 步中复制该文本,然后创建一个文本文件(例如“Regcopy1.txt”)。


第四部分
1.    单击开始,然后单击所有程序。
2.    单击附件,然后单击系统工具。
3.    单击系统还原,然后单击“恢复我的计算机到一个较早的时间”。