首页  编辑  

在Windows XP中恢复正确的注册表

Tags: /计算机文档/Windows应用技巧/Windows NT_2000_XP/   Date Created:

CC Tips Site        

在Windows XP中恢复正确的注册表

Thank you for Your Access

Windows 2k/XP|Windows 9x|Network|Special|Others|Something to Tell|Come Together  

 

   朋友上个月买了台预装Windows XP的品牌机,经过使用,对Windows XP的稳定性赞不绝口。可是问题马上就来了,一天在启动电脑的时候看见了如下的错误信息:"Windows XP无法启动,因为下列文件可能丢失或者发生错误:\WINDOWS\SYSTEM32\CONFIG\SYSTEM"。不能正常进入Windows,只能进入安全模式。经过判断可能是注册表损坏造成无法正确开机,因此在启动时按F8,并选择了恢复最后一次正确配置,无效。进行系统还原,无效。于是向我求救。

   经过仔细分析以及查阅资料,最终成功的解决了这个问题,现在把这个过程完整的写出来,希望在你遇到类似的错误时能够对你有所帮助。

   以下的操作全部需要你有Administrators组的权限,系统盘的文件系统是NTFS,并且你没有关闭对系统盘的系统还原。

   首先需要进入故障控制台,为了安全起见,我先建立一个临时文件夹,并且把注册表文件备份到新建的文件夹中。方法是使用Windows XP的光盘启动电脑,然后选择修复,就可以进入故障控制台(Recovery Console),然后直接在命令行状态下输入下列命令:

 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

   上面的所有操作都是假设Windows XP安装在C:\WINDOWS 文件夹下的,如果你的系统安装在其它文件夹下,那么直接替换成你的安装文件夹就可以了。

   如果愿意,你也可以直接把控制台安装进电脑中,这样如果要进入故障控制台就不用在使用光盘启动电脑了,只要在启动时按F8,就有进入故障控制台的选项。安装的方法是,把Windows XP的光盘放入光驱中,假设你的光驱盘符是F,那么在运行中输入"F:\i386\winnt32 /cmdcons"回车后就会自动安装故障控制台了。

   之后需要从系统自己备份的系统文件中恢复注册表。我先在启动时按F8进入了安全模式,然后打开了我的电脑,在"工具-文件夹选项"的"察看"选项卡下,取消对"隐藏受保护的系统文件"的选择,并且选中"显示隐藏文件和文件夹"。然后点击确定。

   双击打开安装了Windows XP的硬盘分区(我这里打开的就是C盘),找到System Volume Information这个文件夹,并打开它。这个文件夹平时是看不到的,你应该可以看见多个类似"_restore{87BD3667-3246-476B-923F-F86E30B3E7F8}"的文件夹。

   根据那几个文件夹的创建日期,选择一个在系统完全正常时创建的文件夹,这文件夹中的文件就是系统还原的备份文件。我选择了_restore{87BD3667-3246-476B-923F-F86E30B3E7F8}这个文件夹,并且从_restore{87BD3667-3246-476B-923F-F86E30B3E7F8}\RP1\Snapshot 下,复制了一些文件到我最初建立的临时文件夹(C:\WINDOWS\TMP)中,这些文件是:

 _REGISTRY_USER_.DEFAULT

 _REGISTRY_MACHINE_SECURITY

 _REGISTRY_MACHINE_SOFTWARE

 _REGISTRY_MACHINE_SYSTEM

 _REGISTRY_MACHINE_SAM

   这些文件就是系统还原功能备份的注册表文件,我们的目的就是用这些文件替换C:\Windows\System32\Config文件夹下的同名文件。而由于在控制台模式下,我们对文件和文件夹的操作收到限制,因而不得不采取这样的方法。

接下来重启动电脑,继续进入故障控制台,删除当前的注册表文件,并恢复到之前的正确状态去。

   在控制台下,依次输入下列命令:

 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\_registry_machine_software c:\windows\system32\config\software

 Copy c:\windows\tmp\_registry_machine_system c:\windows\system32\config\system

 Copy c:\windows\tmp\_registry_machine_sam c:\windows\system32\config\sam

 Copy c:\windows\tmp\_registry_machine_security c:\windows\system32\config\security

 Copy c:\windows\tmp\_registry_user_.default c:\windows\system32\config\default

   到这里,大部分的准备工作就完成了,这之后只要通过安全模式启动电脑,并且运行系统还原,选择合适的还原点,就一切完成了。

   在这里还有一点要主意的,就是System Volume Information文件夹,你可能没有合适的权限打开它,如果是这样,那么可以试试用下面的方法解决:

   对于Windows XP Professional,首先在"文件夹选项-察看"中禁用简单文件共享,然后在System Volume Information文件夹上点击鼠标右键,选择"属性",在"安全"选项卡下,点击"添加",然后输入你当前登录的用户的用户名,点击确定。然后你就能打开那个文件夹了。

   对于Windows XP Home,在运行中输入"CMD"然后回车,打开命令提示符窗口,进入到系统盘的根目录下,例如C:\ ,然后直接输入cacls " C:\System Volume Information" /E /G .com.cn:F ,之后按回车。在这里的".com.cn"是你当前使用的用户名。之后你就可以访问被拒绝的文件夹了。而如果你要恢复到被拒绝的状态,只需要输入cacls " C:\System Volume Information" /E /R .com.cn就可以了。

   希望这篇文章对你有帮助。

 

 

Last Updated At 4,Oct,2002

Best View at 800*600 resolution and use Microsoft Internet Explorer 6