保护Windows注册表
保护注册表是很重要的,有很多不同的工具可以实现这一目的。当没有安全设置时,用户可能的错误会更多。幸运的是,他们可以有几中方法来保护Windows注册表,在注册表失败时他们可以用额外的拷贝来恢复注册表。下面就是其中的一些方法:
1、使用windows备份软件
注:Win95和Win98备份程序有部分区别,在这里只讲Win98的备份程序。
Win98中包括一个备份程序。当安装Win98时如果你选择“自定义安装”,或者你可以在控制面板中的添加/删除程序里安装它。当你安装了这个备份程序,从 开始菜单| 程序| 附件 |系统工具 |备份 可以运行它。启动时,这个程序提示你是否新建一个新备份,打开现有的备份作业,或者是还原备份文件 。
如果选择新建备份,则会有一个备份向导提示你如何去做备份。
如果选择取消向导,那么可以自己手工设置要备份的内容。在备份内容里可以备份网络和本地驱动器的文件。可以在你想备份磁盘或者文件的选择框打上对号来做备份工作。然后在备份在何处里填上你做备份的目的位置既可。如果要连同windows注册表一起备份,那么在 作业|选项|高级 里,在“备份windows注册表”选择框打对号就可以了。恢复则是备份的逆过程,这里就不详述了。
2、在安全模式下复制注册表文件
当Win95运行时,注册表文件被锁定,只能用注册表编辑器或者系统自己来进行存取,这些文件不能够被复制到其他地方。如果你在安全模式下启动Win95,注册表就不会使用同样的方法载入,这样SYSTEM.DAT 和 USER.DAT就可以被复制。实际上安全模式下系统文件是受保护的。
在启动时,当计算机显示Starting Windows 95...时按F8键进入安全模式。改变SYSTEM.DAT 和 USER.DAT的隐藏和只读属性这样就可以看到和复制它们。当拷贝完注册表文件,不要忘记了改回它们只读和隐藏属性。
3、使用微软配置备份来备份你的注册表文件
CFGBACK.EXE是Win95(Win98中没有这个软件)所附带的备份软件。它在Win95CD-ROM上的OtherMiscCFGBACK这个目录。在系统上拷贝所有的文件到任何一个目录,然后在桌面上建立一个CFGBACK.EXE的快捷方式。
要做一个注册表的备份,启动CFGBACK然后在选择的备份名位置输入一个名字然后点备份继续。
注意:在使用CFGBACK前确定你已经关掉了所有运行的程序。如果有程序在运行,CFGBACK可能将使得系统崩溃,数据丢失,而且保存的是一个不完整的备份。
4、导出注册表
在我看来,如果你没有磁带机或者其他东西。在REGEDIT.EXE中导出选项有一个导出为文本文件。通常使用一个压缩工具,导出工具选项也可以被用做保存和保护注册表的方法。
要导出在注册表中的任意键,选中这个键然后选择 注册/导出注册表文件。这将会复制这个键,并提示你在那里存放这个键及它的名字,然后用一个扩展名为.REG的文件保存这些数据。
当我们用文本格式导出注册表。我们可以使用象pkzip或者其他压缩工具压缩它(可以在正常Dos模式运行的)来节省空间。
为了备份我们可以在windows目录下建立一个用来做备份的文件夹。最少在一个月我们应该进行定期的备份。因为许多计算机用户订阅或购买带有赠送CD的计算机杂志。这些CD上有大量的时间限制的共享软件。许多用户从其中安装一个或者多个程序。当软件过期时它们反安装这些程序,但是这些程序在注册表中留下了一些痕迹。频繁的添加/删除程序会影响注册表,但是有了备份相对来说我们就比较安全了。
我们必须重新启动计算机到DOS模式下来导入,假定你导出你的注册表为mar99.reg.现在在命令提示下打
REGEDIT /C MAR99.REG
注册表编辑器将mar99.reg中的数据导入你的注册表并保存。不过只在命令提示下这个全部导入的工作才比较可靠。
技巧:如果你的注册表不断的变的庞大,那么先导出它然后象上面那样再逐个导入它。在这个导入导出过程中注册表中不必要的项将被清除出去。如果你使用Win98那么你可以使用Scanreg.exe程序。在windows目录命令提示下打 Scanreg /fix来执行命令。
请记住,预防要比修复好的多。注册表太容易被改变了,在发生突然事件时有几个注册表的备份是解决问题最好的方法。
从注册表故障中恢复
这里有四种不同级别的方法可以从Windows注册表故障中恢复
Restart
Redetect
Restore
Reinstall
让我们来看每一个方法来断定来使用它最适合的时间,并且解决何种类型的问题。
Restart(重新启动)
Win95注册表大部分内容保存在RAM中。如果哪个信息受损,它就必须重新读取正确的信息。当你重新启动系统,注册表将数据从硬盘读到RAM中就可以使用了。
拿字体ID问题来说。每种字体在系统中用一个ID号来使用。当一个字体被用在一个文档时,这个字体被这个数字保存并且用一个名字来标识。当字体ID损坏那么字体显示和打印将被其他字体取代。重新启动系统从硬盘上刷新数据,将产生修复过的字体ID,这样字体显示和打印就变的正常了。
这也就是为什么Windows系统故障经常在重新启动后就又恢复正常的一个原因。
Redetect the Devices(重新检测硬件)
如果一个设备工作不正常,那么在注册表中控制设备的设置可能受损了。为了重新设置注册表,你应该删除并且重装设备的驱动,或者你应该让Win95重新检测它们。很多时候,当一个设备工作不正常,它们会在设备管理器上此设备前使用一个惊叹号标志显示出来。很明显,如果设备从来不工作,可能就是其他问题了。但是如果设备以前工作,现在出问题,注册表就需要被恢复。
要检测一个设备,在控制面板上选择添加新硬件。第一个问题是文你“需要Windows搜索新硬件吗?”如果你选择是,Win95将做一个彻底的搜索去找“新”设备。任何设置不正确的或者没找到驱动的设备将被检测到并显示出来。
Restore(恢复)
从CFGBACK中恢复注册表
从CFGBACK中恢复注册表有很多好处。如果你建立了几个备份,你可以选择正确的一个来恢复。你可以如同做手术般放置排列注册表参数项。
导入注册表文件
象前面章节讲述的那样,一个代替使用备份的方法就是导入一个.REG文件。.REG文件包括了目的数据位置,所以对这个文件简单的双击就可以将数据放入注册表。它是所有恢复程序中最简单的,但是也可能造成错误。错误不会是用REGEDIT.EXE 把数据写入错误的位置,它很可能出现在用户直接双击注册表文件的时候。
Reinstall(重新安装)
重新安装
最后的方法就是重新安装驱动、应用程序或者Win95。一般来说,它只花费你一个小时左右时间去做这些事。如果你在现有的文件上重新安装,很多配置信息还被安装在同样的地方。同样在安装驱动程序时,你应该重新加入配置数据。
实际上找出原因并修复它所花费的时间比重新安装还要多,这就是为什么重新安装在技术支持上是一个相当普通的“解决方法”。关键的问题在于,“你是否想找出是什么错误,或者你是否只想让它工作正常?”答案取决于问这个问题的用户情况,发生问题的频繁次数和重新安装的软件的实用性。
当Windows第一次被安装时它将在启动目录的根目录上创建一个名为SYSTEM.1ST的文件。这是Windows第一次启动时创建的个简单的system.dat文件。你所应该做的就是将这个文件放到windows目录(在dos模式下)并将它的名字改为SYSTEM.DAT。然后重新启动。然后你就可以得到安装时第一次启动的windows。
因为很多.INI,.DLL和其他文件的改变,这种方法的成功机率大概只超过50%。比如当装IE4.0后系统和注册表将有一个彻底的改变。我们的system.1st文件虽然包含了一个Dll文件的参考,但它可能更新或者改变版本号。
这里就是几个在注册表出故障的时候恢复它的工具和方法。你的数据可能会安全恢复,但是不管你用什么方法,除了重新格式化硬盘,最好的方法就是做好系统注册表的备份工作。