win98 恢复注册表,浅析WIN98注册表

浅析WIN98注册表 - 注册表 - 电脑教程网

浅析WIN98注册表

日期:2007-07-08   荐:

  p align="JUSTIFY">  对各位初学计算机的朋友,若想从“菜鸟”茁壮成长为一只“老鸟”,要学的东西真是太多了。比如说吧,要想玩转微软的窗子,就不能不了解注册表这东东。

  注册表实际上是Win98的中心数据库,其中包含了Win98系统和用户程序的各种所需数据及各项配置。它替代了Win3.x时代的Autoexec.bat、Config.sys、System.ini、Win.ini和Reg.dat等系统配置文件。其中Reg.dat是Win3.x中的注册表,我们可以用Regedit.exe程序来打开它。当然,它远没有Win98的注册表强大,稳定。

  Win98的这个中心数据库主要由两个文件组成:System.dat和User.dat。如果你在系统中安装了“系统策略编辑器”,它还应当包括Config.pol。这三个文件都是系统、隐含、只读属性。其中,System.dat类似于Win3.x中的System.ini。保存有微机的系统信息,如硬件设备配置和设备驱动程序的有关信息等等。它必须放在Windows子目录下。User.dat相当于Win3.x中的Win.ini。保存有用户特征信息,如桌面设置、墙纸或窗口的颜色设置等。这个文件一般放在Windows子目录下。当在网络环境下使用Win98时,则必须放在网络服务器上。Config.pol主要用于网络用户管理,系统据以对网络用户的操作作一些限制。以上三个文件在系统中会自动得到备份。自备份文件分别为:System.da0、User.da0、Config.po0。当注册表主文件被破坏后,可以从这几个备份文件中得到恢复。

  在注册表中,所有的数据都是通过树状层次结构加以组织,类似于硬盘中的文件结构。你只需打开注册表编辑器就能一目了然。在“运行”对话框中输入RegEdit,确定,就能打开注册表编辑器了。在编辑器的左窗格中显示的就是注册表的“根键”。这样的“根键”共六个(HKEY_CLASSES_ROOT、HKEY_CURRENT_USER、HKEY_LOCAL_MACHINE、HKEY_USERS、HKEY_CURRENT_CONFIG、HKEY_DYN_DATA)。它们都是由大写字母和下划线组成,并都以HKEY_为前缀。你可以打开每个根键前的+号,进入到根键下的子键当中,打开各级子键前的+号,便能进入到更下一级的子键当中。每个根键下都有数量众多的子键和键值。这时常将初识注册表的朋友弄得昏头转向。在六个主键中,HKEY_LOCAL_MACHINE是包含信息量最多的。该主键包含了计算机硬件和软件的全部信息。当系统的配置和设置发生变化时,本关键字下面的登录项也将随之改变。在此主键之下,包括了另两个主键(HKEY_CLASSES_RO KEY_CURRENT_CONFIG)中的全部信息。实际上,HKEY_LOCAL_MACHINE\SOFTWARE\Classes就是HKEY_CLASSES_ROOT, HKEY_LOCAL _MACHINE\Config就是HKEY_CURRENT_CONFIG。与此类似,HKEY_CURRENT_USER也仅是HKEY_USER中的一部份信息,一般情况下,这两个主关键字包含的内容是完全相同的。主键HKEY_DYN_DATA保存了系统运行的动态数据,它反映了系统的当前状态。它的许多子键信息是保存在内存当中的,即便是同一台机器,每次运行时,其内容都是不一样的。

  在注册表的各级键与子键之下保存有大量的信息,这些信息都是以各种形式的键值项数据来保存的。在注册表编辑器的右窗格中,显示的就是各键值项数据,各项数据分为键值名(名称)和键值(数据)两部分。键值名是各键值项数据的标识符,而键值就是各键值项数据的具体内容了。键值分为三类。第一类为字符串值,它一般用于描述文件或各类标识。通常由字母和数字组成,最大长度为255字符。第二类为二进制值:它的长度不受限制,在注册表编辑器中以十六进制的方式显示,如“60 60 00 00”。第三类被称为DWord值。它是一个长度为4个字节(双字)的数值。它也是以十六进制的方式显示的。但形式与二进制值不同,数值前多了“0x”。形如“0x00000000(1)”。

注册表的维护和修复

  注册表作为Win98的核心数据库,从内容到结构都是相当复杂的,且注册表本身也只是以文件形式保存。所以注册表又是比较脆弱的。若注册表存在错误或遭到破坏,轻则影响系统性能和稳定,重则不能正常访问硬件或运行软件,甚至无法启动机器或使程序与数据受到损坏。

  注册表产生错误和遭到破坏的原因主要有三类:

软件方面的原因。主要是应用程序中的错误和相互之间的冲突和各类计算机病毒引起的,另外使用了错误的驱动程序或存在驱动程序的不兼容现象也有可能引发注册表的问题。

硬件方面的原因。如硬盘、内存或其它硬件的品质不过关,造成数据读写错误,或因过度超频等情况使机器稳定性大为下降。

错误的操作。如非正常关机或掉电,用户错误地对注册表进行操作或修改。

  为防止注册表损坏而影响机器的正常运行,平时应做好注册表的维护工作。Win98中自带的注册表工具有两个,一是注册表编辑器(Regedit.exe),另一个是注册表检查程序(Scanreg.exe / Scanregw.exe)。Win98在每次启动时都会为注册表做一次备份,但这并不是非常保险的。因为Win98只是在每次启动时,简单地覆盖上一次启动所作的备份,即使注册表中本巳存在错误,Win98照样使其备份。所以,你需要自己对注册表作好备份。在注册表编辑器(Regedit.exe)中选中“注册表”菜单,然后选“导出注册表文件”子菜单,选好保存的文件名和目录就可以了。今后如遇到注册表的麻烦,只需要轻松地“引入注册表文件”就解决了。另外,注册表编辑器在导出注册表时还能修复注册表中的一些简单的错误,并能去掉一些无用的分枝,让注册表减减肥。使用注册表编辑器还能方便地对注册表中的内容进行修改。关于修改,有兴趣的朋友可留意《电脑报》中的相关文章。备份注册表还可以用Scanreg.exe来进行。方法是在运行对话框中输入Scanreg,确定。Scanreg.exe首先会检查注册表是否有错。如果有,它将提示用户进行修复。如果没有,则提示用户是否备份当前注册表。Regedit和Scanreg还能在DOS坏境下运行。如:在DOS提示符下输入

  Regedit/E Myreg.reg 将注册表导出到Myreg.reg中了。

  Regedit Myreg.reg 将备份文件引入到注册表中。

  Regedit/C Myreg.reg 根据Myreg.reg创建注册表数据库。

  Scanreg /Backup 将注册表备份到.CAB文件中。

  Scanreg /Restore 恢复注册表。

  Scanreg /Fix 修复注册表。

  Win98自带的这两个注册表工具的功能并不是很强。为加强对注册表的管理和维护,还可以使用各类第三方的注册表工具软件。在《电脑报》第6期上对这些工具,有详细的介绍,各位有举的朋友可认真看看。

  如果注册表巳经存在错误和损坏。那又当如何呢?

  首先,如你巳作了注册表的备份,只需简单地引入就可以了。要是没有作的话,可能就要麻烦些了。

  如果损坏得不是很严重,可重新启动机器进入安全模式,此时系统可自动地修复注册表的问题。另外,还可将System.dat和 User.dat改名或移往其它目录。使Win98在下次启动时因找不到此两文件,而将自备份文件System.da0和User.da0改回System.dat与 User.dat。以使机器恢复到上一次正常运行时的状态。

  如果注册表损坏较重,或因出现故障后启动了多次,使自备份文件中保存的为不正确的注册表信息。就不能用以上方法了。可在机器启动时,按F8键调出启动菜单,选中第6项“Safe mode command prompt only”进入安全DOS模式。执行如下命令:

  regedit /l:c:\windows\system.dat /e c:\system.txt 导出System.dat至System.txt中

  cd\windows 进入Win98所在目录

  attrib -s -h -r system.dat 去掉System.dat系统、隐含、只读属性

  ren system.dat system.old 将当前的System.dat文件改名

  regedit /l:c:\windows\system.dat /c c:\system.txt 重新创建system.dat文件

  regedit /r:c:\windows\user.dat /e c:\user.txt 导出User.dat 至User.txt中

  cd\windows 进入Win98所在目录

  attrib -s -h -r user.dat 去掉User.dat的系统、隐含、只读属性

  ren user.dat user.old 将当前的User.dat文件改名

  regedit /r:c:\windows\user.dat /c c:\user.txt 重新创建User.dat文件

  如果重启动系统后,系统仍然存在问题,我们就只能用System..1st来对注册表进行恢复了。System.1st是Win98在安装后第一次正常运行时将系统信息保存在C盘根目录下的。它也是一个系统、隐藏、只读文件。我们可在DOS提示符下输入如下命令:

  cd\windows 进入Win98所在目录

  attrib -s -h -r system.dat 去掉System.dat系统、隐含、只读属性

  ren system.dat system.old 将当前的System.dat文件改名

  cd \ 回到根目录

  attrib -s -h -r system.1st 去掉System.1st系统、隐含、只读属性

  copy system.lst c:\windows\system.dat 用system.lst覆盖system.dat

  attrib +s +h +r system.lst 恢复属性

  attrib +s +h +r c:\windows\system.dat 恢复属性

  使用此方法是最为保守的方法。它只能使机器恢复到系统初装时的状态,系统中所安装的各类软件几乎都需要重装。

  在实际应用中,当Win98的注册表遭到较重破坏后,即使能够修复,效果可能也并不太好,此时重新安装系统也许是更好的选择。所以平时应着重做好系统的维护工作,并即时备份好注册表。你可以在Win98初装时,先安装好那些你常用的,且较大的软件,然后做好注册表的备份(我就是先在机器是装入Office、Visual Studio这些大玩艺和Norton Utilites等常用工具后进行备份的)。在平时运行时,你应当使用一些工具,如Norton、Regclean等等,时常对你的注册表进行必要的查错、减肥等各项维护。你还能够结合使用一些DLL程序的清理工具(如Clean System)对你的系统进行维护,使你的系统常期保持在健康、稳定状态,以避免频繁重装系统的麻烦。

(出处:http://www.sheup.com)




标签: