概要
本文介绍如何恢复由于注册表损坏而无法启动的 Windows XP 系统。该步骤不能保证一定会将系统完全恢复为以前的状态;但是使用该步骤,您应当可以恢复数据。
警告:如果您的计算机上的操作系统是由 OEM 安装的,请不要使用本文中介绍的步骤。OEM 安装中的系统配置单元会创建以前不存在的密码和用户帐户。如果您使用本文中介绍的步骤,可能无法重新登录到故障恢复控制台,因而无法还原最初的注册表配置单元。您可以修复 Windows XP 中损坏的注册表。注册表文件损坏可能导致多种不同的错误信息。要了解与注册表问题相关的错误信息,请参阅 Microsoft 知识库中的相关文章。本文假定一般恢复方法失败,只能使用故障恢复控制台访问系统,别无他法。如果有自动系统故障恢复 (ASR) 备份,则该备份是进行恢复的首选方案。Microsoft 建议您在尝试本文介绍的步骤之前先使用 ASR 备份。
注意:请务必将 5 个注册表配置单元全部替换掉。如果您只替换一两个配置单元,则可能导致潜在问题,这是因为软件和硬件的设置可能位于注册表中的多个位置。 如果反复出现与注册表损坏相关的问题,Microsoft 建议您获得以下文章中介绍的修复程序并加以安装:
318159 (http://support.microsoft.com/kb/318159/) 修复和恢复 Windows XP 中损坏的注册表 Windows XP Service Pack 1 中也包含此更新。
更多信息
当您尝试启动或重新启动基于 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.exeWhen trying to update a passWord the return status indicates that the value provided as the current password is not correct.本文介绍的步骤使用故障恢复控制台和系统还原。本文还以特定顺序列出所有必需的步骤,以确保该过程完整执行。完成此过程之后,系统将恢复到与出现问题之前的系统非常接近的状态。如果您曾运行 NTBackup 并完成了系统状态备份,则无需执行第二部分和第三部分中的步骤。可以直接跳到第四部分。
第一部分在第一部分中,您依次执行下列操作:启动故障恢复控制台,创建临时文件夹,将现有注册表文件备份到新位置,删除当前位置的注册表文件,然后将注册表文件从修复文件夹复制到 System32\Config 文件夹中。完成此过程之后将创建一个注册表,您可以使用此注册表启动 Windows XP。此注册表是在 Windows XP 最初安装过程中创建并保存的,因此,安装过程结束后进行的一切更改和设置都将丢失。要完成第一部分,请按照下列步骤操作:
1.
将 Windows XP 启动盘插入软盘驱动器,或将 Windows XP 安装光盘插入 CD-ROM 驱动器,然后重新启动计算机。按照提示,单击以选中从 CD-ROM 驱动器启动计算机所需的所有选项。
2.
出现“欢迎使用安装程序”屏幕时,按 R 启动故障恢复控制台。
3.
如果您使用的是双启动或多重启动计算机,请从故障恢复控制台中选择要访问的安装。
4.
根据提示,键入管理员密码。如果管理员密码为空,则按 Enter。
5.
在故障恢复控制台的命令提示符处,键入下面几行命令,并在每行之后按 Enter:
md tmpcopy c:\windows\system32\config\system c:\windows\tmp\system.bakcopy c:\windows\system32\config\software c:\windows\tmp\software.bakcopy c:\windows\system32\config\sam c:\windows\tmp\sam.bakcopy c:\windows\system32\config\security c:\windows\tmp\security.bakcopy c:\windows\system32\config\default c:\windows\tmp\default.bakdelete c:\windows\system32\config\systemdelete c:\windows\system32\config\softwaredelete c:\windows\system32\config\samdelete c:\windows\system32\config\securitydelete c:\windows\system32\config\defaultcopy c:\windows\repair\system c:\windows\system32\config\systemcopy c:\windows\repair\software c:\windows\system32\config\softwarecopy c:\windows\repair\sam c:\windows\system32\config\samcopy c:\windows\repair\security c:\windows\system32\config\securitycopy 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\samdel c:\windows\system32\config\securitydel c:\windows\system32\config\softwaredel c:\windows\system32\config\defaultdel c:\windows\system32\config\systemcopy c:\windows\tmp\software c:\windows\system32\config\softwarecopy c:\windows\tmp\system c:\windows\system32\config\systemcopy c:\windows\tmp\sam c:\windows\system32\config\samcopy c:\windows\tmp\security c:\windows\system32\config\securitycopy 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.
单击
系统还原,然后单击“恢复我的计算机到一个较早的时间”。
(出处:http://www.sheup.com)