嘉定都市网
标题:
[转帖]安全恢复注册表
[打印本页]
作者:
zxhpqf
时间:
2002-5-1 22:41
标题:
[转帖]安全恢复注册表
注册表是一个容纳了应用程序和计算机系统全部配置信息的数据库 对于计算机系统的操作至关重要 一旦注册表遭到损坏 计算机系统就会出现各种问题 本文将有针对性地介绍几种常见的注册表恢复方法。
Win 9X操作系统的注册表对于很多电脑爱好者来说既熟悉又陌生,说它熟悉是因为每次系统的启动都离不开它,说它陌生是因为注册表的结构比较复杂,一般非专业人士不能够随意地修改和管理它,稍不留神就会导致系统崩溃。所谓注册表实际上是一个庞大的数据库,容纳了应用程序和计算机系统的全部配置信息,其中包括系统和应用程序的初始化信息,应用程序和文档的关联关系,硬件设备的说明、状态和属性以及各种状态信息和数据。从一般用户的角度看,注册表系统由两个部分组成:注册表数据库和注册表编辑器。其中注册表数据库包括两个文件:system.dat和user.dat,system.dat是用来保存微机的系统信息,user.dat是用来保存每个用户特有的信息,我们所说的恢复注册表就是恢复这两个文件;注册表编辑器则是Win 9X操作系统提供的修改和管理注册表的程序。采用注册表来管理系统配置主要是为了提高系统的稳定性,而系统出现的一些问题(如计算机无法启动、应用程序无法运行、系统工作不正常等)很多都是因为注册表出现错误而造成的,通过修改相应的错误数据就能使得Windows工作如初了。下面介绍几种安全恢复注册表的方法,希望能对大家有所帮助。
简单拷贝还原法
及时、正确的备份能够在计算机发生意外时,比较完全地恢复整个工作进程。对注册表进行的备份也一样,利用在正常工作状态下备份的注册表可以用来恢复发生错误的注册表,从而达到使系统重新恢复正常工作的目的。
备份注册表就是备份system.dat和user.dat这两个文件,它们的文件属性都是系统、隐藏、只读的,因此在DOS状态下,请先进入Windows目录,然后键入命令“Attrib -h -r -s system.dat”,对于user.dat同样操作,此时就可以将这两个文件复制到其他的目录中去了。
恢复方法:
在Windows的资源管理器窗口状态下,在“查看”中选择“文件夹选项”→“查看”,在“隐藏文件”中选择“显示所有文件”,这样system.dat和user.dat才能在文件夹窗口中显示出来。然后把这两个文件复制到备份目录中,以备还原时用。还原的方法当然是重新用备份的文件覆盖现有文件。
注意事项:
在覆盖现有文件前,同样得先将system.dat和user.dat的文件属性全部取消,否则系统会拒绝覆盖操作。在还原前请务必启动到DOS状态下,然后再进行此操作。千万不要在Windows或Windows的DOS窗口下进行此还原操作,否则不但不能恢复注册表,反而会对注册表产生极大的破坏。
利用注册表编辑器导入导出法
借助于注册表编辑器将注册表导出,也是一种不错的注册表备份方法。在“开始”→“运行”栏中输入REGEDIT,进入注册表编辑窗口中选择“注册表”→“导出注册表”,最后选择导出注册表文件的存储位置就可以了。需要注意的是,在导出注册表时,千万要在“导出范围”中选择“全部”,否则导出的注册表文件不完全,将无法用来恢复原注册表。采用此方法备份后只生成一个文件,它的文件名的后缀是.reg。
恢复方法:
如果注册表出错,但还能够进入Windows时,可在Windows下运行注册表编辑器后选择“注册表”→“导入注册表”,选择要导入注册表文件的所在位置,重新启动后就可以恢复注册表。
如果已不能进入Windows,那就只能在纯DOS状态下利用注册表编辑器导入了。但在DOS下只能以命令行的方式运行Regedit.exe,其命令行形式:
Regedit [/L:system] [/R:user] filename1
Regedit [/L:system] [/R:user] /C filename2
Regedit [/L:system] [/R:user] /E filename3 regpath1
参数定义:
/L: system 指定system.dat文件的存放位置;
/R: user 指定user.dat文件的存放位置;
filename1 指定导入的注册表数据库文件名;
/C filename2 利用指定的注册表文件重新生成注册表;
/E filename3 导出注册表文件为指定文件名;
regpath1 将指定开始关键字的部分从注册表文件中导出。
下面介绍在DOS下使用regedit命令来恢复注册表的方法。
1.首先在安全模式下导出,然后再引入注册表文件。
第一步:关闭计算机后,重新启动,在出现“Starting Windows 9X”时,按F8键,在启动选单中选择“Safe mode command prompt only”,则系统进入安全模式下。
执行如下命令:
regedit/l:c:\\windows\\system.dat /e c:\\system.txt
cd\\windows
attrib -s -h -r system.dat
ren system.dat system.old
regedit /l:c:\\windows\\system.dat /c c:\\system.txt
第二步:重新启动计算机,以正常方式启动系统,如果错误仍出现,可以在安全模式下使用如下命令:
regedit /r:c:\\windows\\user.dat /e c:\\user.txt
cd\\windows
attrib -s -h -r user.dat
ren user.dat user.old
regedit /r:c:\\windows\\user.dat /c c:\\user.txt
第三步:重新启动计算机,以正常方式启动系统,如果错误仍出现,可以利用系统自备份文件恢复至系统最后一次成功运行时的注册表。
cd\\windows
attrib -s-h-r system.dat
ren system.dat system.bad
2.重新启动计算机,在启动时,系统如果没有发现system.dat文件,就会使用system.da0文件,系统会自动将它改名为system.dat。如果仍有启动错误出现,则可以恢复至系统第一次成功运行时的注册表。
启动至DOS安全模式下,执行如下命令:
cd\\windows
attrib -s-h-r system.dat
ren system.dat system.old
cd\\
attrib -s-h-r system.1st(此文件在启动盘的根目录下,通常在C:\\)
copy system.1st c:\\windows\\system.dat
attrib +s+h+r system.1st
重新启动系统,一般都会解决问题,如果仍有错误发生,那只有重新安装系统了。
注意事项:
在使用导入命令时,请务必在运行前加载磁盘高速缓存程序Smartdrv,否则运行时间之长令你无法忍受。
系统备份法
1.使用Win 95/Win 98备份程序可以备份与恢复系统注册表。如果在安装系统时并未安装备份程序,可以运行“添加删除程序”安装它。
首先在开始选单下“系统工具”中选择“备份工具”来启动备份程序。在弹出的选单下面单击“备份”选项页,然后在“备份内容”框中选择文件夹(如系统目录\\windows),在右窗格中选择system.dat和user.dat。并选择好备份的目标位置,单击“开始”按钮,则系统备份程序将开始备份注册表。
如需要恢复时,启动备份程序,单击“恢复”选项页,在“还原位置”框内选择备份文件,在“要还原的数据”框内选择要还原的目标,单击“开始”按钮,则备份程序将开始恢复注册表。
2.由于注册表对于系统的重要性,微软在开发Win 95时就考虑到系统对于注册表的自动备份问题。尽管它所提供的功能直到Win 98才令人稍感满意,但这也是修复注册表的方法之一。下面主要介绍在Win 98中利用scanreg程序来恢复注册表。Win 98对注册表文件备份的改进主要体现在以下两个方面:其一,备份文件不仅包括system.dat和user.dat,还包括了system.ini和win.ini这两个初始化文件,大大提高了系统还原的完整性;其二,备份文件被统一地压缩在一个文件中,而且备份压缩文件的数量大大增加,避免了在Win 95下一个备份容易发生错误无法恢复的现象。
Win 98将注册表的备份文件放在了Windows下面的隐藏子目录Sysbckup中,备份文件以rbx(x为数字)为名,都是CAB格式的压缩文件,每个文件都包含system.dat、user.dat 、system.ini和win.ini。默认情况下,系统共留有5个(rbx中的x从000到004,如果某次有错误,数字往后顺延)压缩包备份,这5个压缩包备份分别是你最近5个工作日中第一次启动计算机时系统所做的备份。请注意,并不是最近5次,举个例子,如果你每天都使用计算机,那么这5个备份中保存的分别是5天来每天你第一次启动计算机时的注册表文件。当某次启动发生错误时,系统会将这时的注册表文件另外保存为rbbad.cab,以供使用者分析、寻找发生错误的原因所在。
恢复方法:
了解了Win 98的备份原理后,对于注册表的还原就比较轻松了。想进行备份还原的话,可以利用Windows附带的scanreg.exe,在DOS状态下运行此程序,按提示选择检查注册表,在程序检查完注册表后,可以看到“Create Backups”和“View Backups”这两项,前者用来将当前的注册表备份下来,后者用来查看以前备份的注册表情况。选择后者,屏幕将显示近日来的各备份注册表文件情况(主要是备份的时间),选择你想还原的备份,按回车键,然后选择“Restore”开始还原,还原完毕后选择“Restart”重新启动计算机就可以了。
如果在Win 95中也想利用scanreg进行备份还原的话,可以把Win 98的c:\\windows\\ command目录下的scanreg.exe和c:\\windows目录下的scanreg.ini、scanregw.exe拷贝到Win 95对应的目录中。
注意事项:
当第一次启动计算机失败后,请不要不断地继续尝试启动计算机,因为scanreg.exe会将启动失败的注册表都一一依次备份下来,如果你连续启动失败5次的话,也就意味着原先备份的5个完好的注册表都将被这连续5次的坏注册表所替代,也就失去了利用它们来还原系统注册表的机会。因此,在启动失败后,请尽量不要一而再、再而三地连续启动,应及时地进行注册表还原工作。
如果以上方法都不能奏效的话你还可以用和你的硬件配置大致相同的计算机上的注册表文件来覆盖自己计算机上的注册表文件,然后启动。如果可以进入Windows,再对系统做相应的修改,就能恢复如初了。
[fly]如果不实用请斑竹删![/fly]
欢迎光临 嘉定都市网 (http://www.jiading.com.cn/)
Powered by Discuz! X3.1