[技术文章]在Windows XP 中恢复正确的注册表

ravenkatte 2003-04-23 07:18:16
[这是转帖,因为个人认为写得不错,所以推荐给大家。希望能对大家有所帮助!]



关键字:Windows XP,注册表修复,Windows XP无法启动,因为下列文件可能丢失或者发生错误:\WINDOWS\SYSTEM32\CONFIG\SYSTEM

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


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


以下的xx作全部需要你有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


上面的所有xx作都是假设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文件夹下的同名文件。而由于在控制台模式下,我们对文件和文件夹的xx作收到限制,因而不得不采取这样的方法。
接下来重启动电脑,继续进入故障控制台,删除当前的注册表文件,并恢复到之前的正确状态去。


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


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就可以了。
...全文
46 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
nba23 2003-04-23
  • 打赏
  • 举报
回复
支持和学习
jslfxx 2003-04-23
  • 打赏
  • 举报
回复
我第一个,这一分给我
snfire 2003-04-23
  • 打赏
  • 举报
回复
收藏
daivd826 2003-04-23
  • 打赏
  • 举报
回复
xue xi

6,850

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧