精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>网络专区>>● Internet>>
相关软件
>>注册表相关>>备份注册表

主题:备份注册表
发信人: gamepower(绯吕)
整理人: snowypeng(2002-05-21 09:19:18), 站内信件
  在Windows 95里,注册表由保存在 Windows 目录下的System.dat和User.dat二个具有只读隐藏属性的文件所组成,前者中饮食有系统硬件和软件的设置信息,而后者则保存着与用户使用环境有关的信息,它们均可以由运行Windows目录下的注册表编辑器(Regedit.exe)来打开及进行编辑。Windows 95每次开机时,均会自动在这二个文件所在的同一目录下以System.da0和User.da0之名(均为只读隐藏文件)为这一注册表文件做备份,以便用户在万一需要时用作注册表的恢复之用。要特别指出的是:System.da0和User.da0在系统重新再启动后,实际上已用原注册表文件作为蓝本进行了覆盖备份,所以这时的备份文件从严格意义上来说已无备份恢复之价值了。

  在Windows 98中的Windows目录下,仍有System.dat和User.dat两个文件用来存放系统注册表信息,但都已没有了System.da0和User.da0这二个备份文件。因此在Windows 98中,注册表的备份及恢复工作与Windows 95就有了一些不同。下面笔者就根据自己的使用体会;来谈谈在Windows 98中对注册表进行备份及恢复的几种常用方法。
一、直接进行备份及恢复
  这是一种很原始的方法,即直接将所需之System.dat及User.dat二个文件拷贝存放在硬盘某个指定目录下或直接拷到软盘上作为备份,恢复时再将该备份替换覆盖回原处即可,当然在备份及恢复时都需对这两个文件的只读及隐藏属性进行相应的修改操作。需注意的是:一般情况下由于Windows 98的注册表(包括System.dat和User.dat二个文件)往往有近2M甚至更大,用一般1.44M的3寸软盘来存储备份是放不下的,所以必须利用压缩软件将其压缩后才能放入1.44M软盘中。当需要恢复时,还需要用解压缩软件将其解开后再放入Windows目录下替换覆盖原注册表数据。
用这种方法的好处是如因注册表问题而导致系统瘫痪,开机后无法进行Windows系统时,可用应急启动盘进入Windows 98自带之DOS7.1界面后,用常规的DOS操作来将存在硬盘或通过解压缩软件将软盘中的备份覆盖回原处,恢复原备份时注册表的正常数据。
二、利用注册表编辑器自带的导出及引入功能
  运行Regedit.exe打开Windows 98注册表后,利用“注册表”的“导出”及“引入”功能也可以用来备份或恢复注册表信息。
  具体方法为:打开左上角“注册表”下拉菜单,点击“导出注册表文件”项,在出现的“导出注表文件”对话框中,键入欲备份注册表的文件名及其保存位置,再按“保存”按钮即可。需恢复注册表时,用同样的方法打开注册表编辑器,打开“注册表”下拉菜单后点击“引入注册表文件”项,在出现的对话框中选中所需恢复的备份文件,再按“打开”按钮即可将该注表备份恢复回Windows系统了。
该方法主要适合于Windows系统还未瘫痪或能用启动时按F8键的方法,选择安全模式启动Windows 98系统时恢复注表之用,如因注册表问题而连Windows系统都进入不了时,则该法就无法应用了。此外因备份无法压缩而其大小又超过1.44M软盘容量,所以应用该法也只能将备份保存在硬盘里了。
三、用Windows 98中新增的注表自动备份功能
  在Windows 98中,取消了Windows 95中每次开机时自动以System.da0和User.da0为名的二个文件来备份注册表数据的功能,而新增加了一个以.Cab(Cabinet)作后缀的压缩文件作为注册表备份的功能,具体使用如下:
备份:该备份过程是由Windows 98系统自动完成的。在用户当天第一次(注意当天二字)开机时,Windows 98将会自动将系统中原有的注表信息,包括System.dat和User.dat,甚至还包括了System.ini和Win.ini这四个文件都压缩成Cab形式的文件,以rb00*.cab之名存放在Windows\Sysbckup目录下(其中*为0—4的数字)。系统自动保存最近5开机天(注意不是5天)的注册表数据,超过5开机天时则自动挤掉最早日期的备份文件。
  一般说来,当Windows 98安装好后,会在启动时自动运行Scanregw.exe/autorun,目的是每天备份一次注册表。你可以在开始选单上选择运行“Msconfig”,运行Microsoft的系统配置程序,点“启动”选项,查看该命令是否运行。倘若该命令没有被运行,则运行注册表编辑器“Regedit”,在“HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”主键下新建一个字符串值,键值为“C:\windows\scanregw.exe/autorun”(假设Windows98安装目录为C:\windows)。这样,Windows 98就会自动备份最近5天的注册表,以rb00?.cab形式存放在C:\windows\sysbckup\路径下。有些人为了提高Windows 98的启动速度,可能屏蔽了这个功能,但笔者建议还是有时间就再运行一下“运行”选单里的Scanregw.exe,以手工方式维护注册表。
四、用配置备份实用程序CFGBACK.EXE
该程序在Windows'95光盘的Other\Misc\Cfgback目录中,由两个文件组成CFGBACK.EXE和CFGBACK.HLP。将.EXE文件复制到你的WIN95文件夹中,把.HLP文件放入WIN95的Help文件夹,为CFGBACK.EXE创建一个捷径,这样CFGBACK可以为注册表创建命名了的安全的备份,也可以恢复以前的所有设置。
五、用紧急恢复实用程序ERU.EXE
该程序在Windows'95光盘的Other\Misc\ERU目录中,由四个文件组成。若对部分或全部的系统配置文件包括 SYSTEM.DAT和USER.DAT创建备份,运行文件ERU.EXE,并按照提示执行 即可。备份信息可以放在驱动器A中的引导盘内,也可以指定任何存放位置(包括网络驱动器)。要执行恢复实用程序ERD.EXE,请将计算机引导到DOS提示符(实模式)下。

压缩注册表

  对注册表进行压缩,可以删除注册表文件中多余和重复的键值,它甚至可以使注册表文件的大小减少2M多,这样也就大大缩短了机器的启动时间,使我们的系统更有效率,需要注意的是,做这一步之前,最早版本的windows95需要打个补丁,即换上新版的regedit.exe,而OSR 2.1和更高版本的windows则不需要做这个工作。具体操作:进入MS-DOS方式,在C:\Windows目录下敲入regedit /e all.reg,把注册表文件导出到all.reg,再敲入regedit /c all.reg,压缩并导入all.reg,取代原来的注册表文件,为了检验压缩后的注册表是否准确,我们可以借助FixReg这个工具,只需运行FixReg.exe,打开我们刚才在Windows目录下建立的all.reg,FixReg便会自动检查那些必要的键值是否已被导入,如果没有发现错误,删除all.reg,重新启动,大功告成!

清理注册表

  超级兔仔RegOpt超级兔仔的注册表工具RegOpt 是一款国产的注册表软件,据开发者所说,开始的时候他也在使用微软的Regclean ,但是总感到其中有些不足,所以,在分析了Regclean 以后,自己动手编写了该软件,据说,他修正了微软Regclean 的Bug,并且做了新的改进。
 首先去http://superr .nethome .com.cn/下载最新的版本,我使用的是V1.0版本。使用方法非常简单,全部中文界面,按下“检查”按钮,以便检查系统的错误地方,整个检查过程大概需要1-5分钟的时间,这与你的电脑配置有关。当检查完毕后,你就可以用“修理”按钮修正系统的错误。在修理之前,软件会提示你备份,你还是选择Yes 来备份吧!修理完后,你就可以退出了,我需要提醒你的是:在使用的过程中,“恢复”命令执行以后,系统要重新启动,所以在执行的时候要注意哦!

  “超级兔仔注册表优化软件”是一个很有前途的软件,它的特长在于查找、清除注册表垃圾,具有容量小(60KB)、绿色软件(只有一个执行文件和一个说明文件)这两大优点,但它在注册表错误的检查、修复和生成Undo文件的准确性这几方面不如WinDoctor。

修复注册表

  Windows 95/98设计者大概意识到注册表极易破坏这个问题,在Windows 95/98注册表出现问题时,可以通过内置方法进行解决。当然,如果您使用了注册表编辑器将注册表进行了备份,则在恢复注册表时就更方便了。修复注册表一般有以下几种方式:

一、重新启动系统
  Windows 95/98注册表中的许多信息是保存在内存中的,如HKEY_DYN_DATA根键中的子键信息等。用户可以通过重新将硬盘中的信息调入内存来修正各种错误。每次启动系统时,注册表都会把硬盘中的信息调入内存。
  例如,在启动Windows 98时出现如错误信息时,单击“确定”按钮,则Windows 98将首先修复注册表,然后进入启动过程。
二、使用安全模式启动
  如果在启动Windows 95/98系统时遇到注册表错误,则可以在安全模式下启动,即在启动时,按F5键,Windows 95/98将在安全模式下启动,此时系统可以自动修复注册表问题。在安全模式下启动Windows 95/98成功后,即可在正常模式(Normal)下启动Windows 95/98。
  注意:由于在安全模式下,Windows 95/98并没有将注册表文件锁住,所以用户可以在这种方式下拷贝注册表文件,其方法是在安全模式的Windows 95/98下,用户修改完System.dat和User.dat的文件属性后就可以拷贝这两个文件。在拷贝完以后,请将文件属性修改回去。
三、重新检测设备
  如果注册表中关于某种设备的信息发生错误,那么这个系统就无法正确管理这个设备。这时,用户可以移去这个设备,再安装一次,或者让Windows 95/98重新检测这个设备,下面介绍几种方法。
  1.使用“控制面板”中的“添加新硬件”
  在删除(或者拨掉)即插即用硬件设备后,可以使用下面两种常用安装方法:
  (1) 自动检测法
  Windows 98在启动计算机时可以自动检测即插即用硬件设备,然后从Windows 98安装光盘中安装相关设备驱动程序。其操作步骤如下:
  ① 关闭计算机。 
  ② 将硬件设备连接到计算机上。 
  ③ 打开计算机,并启动Windows 98,此时Windows 98将自动检测新的“即插即用”设备,并安装所需的驱动程序。 
  这种方法对于所有用户都是适用的。
  在使用这种方法时,应注意的是,如果 Windows 98没有检测到新的“即插即用”设备,则设备本身没有正常工作、没有正确安装或者根本没有安装,此时,请不要使用“添加新硬件”向导。因为“添加新硬件”向导不能解决此处所提的任何问题。 

  (2) 使用“添加新硬件”向导
  有时,在计算机检测到新硬件时没有及时安装驱动程序,但是需要在Windows 98中使用该设备,此时就需要使用“添加新硬件”向导了。

  2.利用“设备管理器”重新安装设备
  Windows 95/98提供了功能强大的“设备管理器”,该管理器可以查看与管理硬件设备。下面介绍利用“设备管理器”重新安装设备的操作步骤。
  (1) 在“控制面板”窗口中双击“系统”图标,则出现一个“系统属性”对话框。
  (2) 单击“设备管理器”选项页,则出现一个对话框。
  (3) 选择注册表中有问题的设备,然后单击“删除”按钮,则出现一个确认对话框。单击“确定”按钮,则删除此设备。
  (4) 在删除了设备后,单击“刷新”按钮,则“设备管理器”将重新检测所有的设备,并且安装相应的设备驱动程序。
  (5) 重新启动计算机后,即可对有问题的注册表进行更新。

四、使用system.1st恢复系统注册表
  如果Windows 95/98启动或者运行时故障太多,以前又忘记了给Windows 95/98运行最正常时的系统注册表作过备份,或者根本启动不了Windows 95/98,则我们可以使用System.1ST恢复系统注册表。
  有的朋友可能还不知道,Windows 98在成功地安装后会把第一次正常运行的Windows 95/98系统信息保存在启动盘(通常为C盘)根目录下的System.1ST这个HSR(隐藏、系统、只读)属性的文件中,并且不会随Windows 95/98的系统配置改变而改变。因此,我们在没有其他办法的情况下,使用这个文件进行最保守的恢复。
  下面介绍使用System.1ST恢复系统注册表的操作步骤(假定Windows 98安装在C:\Windows目录下)。
  1. 在DOS环境下,执行如下系列命令:
  Attrib -h -r -s C:\Systerm.1st
  Attrib -h -r -s C:\Windows\System.dat
  Copy C:\System.1ST C:\Windows\Systerm.dat
  Attrib +h +r +s C:\Systerm.1st
  Attrib +h +r +s C:\Windows\System.dat
  2. 重新启动Windows 98。
  由于System..1ST保存的是Windows 95/98第一次正常运行时的系统信息,后面更改的Windows 95/98软硬件配置信息头,未被更新到这个文件中。因此,此方法只能进行最保守的恢复。

五、重新安装
  当用户很难找到导致注册表毁坏的原因时,可以重新安装驱动程序、应用程序或者Windows 95/98。 虽然重新安装Windows 95/98会花费比较长的时间,但是与查找注册表中的错误相比,能节省不少的时间。
  为了帮助用户快速地安装Windows 98,下面给出一种简单的方法:
  1. 将Windows 98光盘中的\Win98下的所有文件拷贝到D:\PWIN98目录中。
  2. 在DOS提示符键入Smartdrv 10240 10240 (创建10MB的磁盘高速缓冲区)。
  3. 在DOS提示符下键入D:\PWIN98\Setup /is/iq命令,开始安装Windows 98。

六、Scanreg.exe命令
  当Windows 98注册表出现问题时,往往已不能进入Windows界面了,这时可以试试在DOS下进行修复操作。Windows 98提供了Scanreg.exe命令,可在DOS下维护注册表,比较常用的参数有Backup:备份注册表和相关的系统文件;Restore:从备份的注册表中选择一个来恢复;Fix:修复注册表的错误。也可以不加参数运行,会出现一个DOS下的图形界面,让你选择是备份还是恢复,然后,有程序向导指引你把工作完成。比如说,Windows 98报告注册表损坏,不能进入图形界面,那就先试着在DOS方式下运行Scanreg/fix,看看系统是否能修复注册表。成功与否,Scanreg都会告诉你的。如果损坏严重,就只能从备份的注册表中恢复了。运行Scanreg/Restore后,程序会自动找到注册表的备份,如果不止一个的话,它会提示让你选择其中之一,你可以根据每个备份的创建日期来判断恢复哪一个,一般说来,备份日期越新的越和当前系统相匹配,也越好。恢复成功后,系统会提示重新启动,如果你的Windows98的其它部分没有损坏或损坏很少,通过这种方法,能基本解决问题,免得再走烦人耗时的重装系统之路。

  注册表检查程序优化了这些文件并可防止它们在将来出现问题。当每次启动Windows98时,该实用程序自动优化您的注册表。如果它发现注册表中包含有500KB或更多过期的串,则会删除它们,以缩小这些.dat文件的尺寸。这可使得文件更便于备份和存储,还可加速Windows98的启动和关闭。接着,注册表检查程序会扫描.dat文件,检查其毁坏情况。当它发现注册表存在问题时会自动告诉您,这样就节省了故障诊断时间。
  修复毁坏注册表的最佳方法是使用“健康”的备份副本替换当前的system.dat和user.dat文件。在注册表检查程序出现前,保留最新备份的方法只能是手工复制这些文件并将它们存储到一个单独的驱动器中。当每次Windows95启动时,它确实会将这些文件的备份副本存储在Windows目录下,称为system.da0和user.da0。但这些备份文件的价值通常有限,在真正意识到问题的严重性时,您至少会重新启动Windows一次,很有可能导致毁坏的备份文件覆盖好的备份。
  注册表检查程序通过建立多个备份在很大程度上避免了这种缺陷。当一天中首次启动Windows98时,注册表检查程序会自动地备份两个注册表文件并将它们存储在Windows\Sysbckup文件夹中的单个文件中。注意:如果您几天内未重新启动机器,则仍可通过选取“开始”*“运行”,键入“scanreg”并按屏幕的说明执行即时的注册表备份。
  备份文件被压缩并保存为扩展名为.cab的文件,其命名方式为rbxxx.cab,这里的xxx是备份数,如001、002等,但该数字与备份日期不相关。要找到最近的备份,可在资源管理器中检查这些文件的修改日期。
  默认情况下,注册表检查程序仅存储注册表的5个备份副本。此后的每个新备份都会覆盖最旧的文件,所以您会在使用不超过5天的备份时感到相当安全。如果您愿意的话,可让注册表检查程序创建多达99个备份副本。单击“开始”按钮,选取“运行”,并键入“scanreg.ini”,这将在记事本中打开该文件。查找并编辑“MaxBackupCopies=x”一行,保存并关闭该文件(也可在此找到其他的注册表检查程序的设置,见图1)。
图1scanreg.ini文件的内容
  但注册表备份文件并非越多越好,对于每5个压缩的注册表.cab文件来说,会要求2MB~5MB的磁盘空间。建议保留默认的5个备份??这对防止多数注册表紧急情况来说完全足够。
  文件scanreg.ini中各项设置的含义见表1。
表1scanreg.ini中各项设置的含义键选项操作设置
Backup=在每天首次启动时运行注册表检查程序1:激活(默认);0:关闭
Optimize=当每次运行注册表检查程序时从注册表文件system.dat和user.dat中删除浪费的空间1:激活(默认);0:关闭
MaxBackupCopies=设置将建立的后续备份数5:备份5个副本(默认);最大为99
BackupDirectory=决定备份的.cab文件所存储的目录默认的目录为C:\Windows\sysbckup
Files=添加其他的文件到.cab备份文件中带有逗号分隔的完整路径的文件名(如:C:\Autoexec.bat,C:\config.sys)
  要发现与注册表相关的问题,可能需要5个以上的备份。建议在安装任何新硬件或软件前后,立即使用手工备份的方式来备份注册表。预先备份安装前的注册表文件的原因是很明显的,但一个安装后的注册表备份文件也同样重要。如果在安装后一周出现问题,且该问题不是由于近来所安装的硬件或软件所导致,例如,是由于磁盘问题或随机软件冲突所导致,则安装后的备份文件可为您解决问题而不用重新安装系统。
  默认情况下,注册表检查程序将4个文件放置到一个.cab文件中:system.dat、user.dat、system.ini和win.ini(后面两个文件是Windows3.x的遗留,用于保持与使用这些特殊文件进行数据配置的旧软件的兼容性)。如果想要添加其他的文件,例如autoexec.bat和config.sys,可将它们的名称和位置放到文件scanreg.ini中的“Files=”串下。
  注册表检查程序以两种方式出现,scanregw.exe(Windows)和scanreg.exe(DOS)。每种方式都有其本身的性能(见表2)。如果想要还原注册表备份或从DOS建立备份,则必须使用scanreg来这样做,而且您必须从DOS提示符下启动scanreg.exe??通过“开始”*“关闭系统”*“重新启动计算机并切换到MSDOS方式”。如果在Windows中试图运行scanreg.exe,则会运行scanregw.exe程序。
  在scanreg.exe中,选取“开始”*“查看备份”,您将看到当前备份文件及创建数据的列表。选取一个文件,注册表检查程序将还原它。但scanreg.exe仅能识别并让您还原其名称满足rbxxx.cab格式的文件。要还原你使用非标准名称保存的文件,可打开资源管理器,找到想要还原的.cab文件,并双击它。你将看到以.cab扩展名存储的文件。复制想要还原的文件并覆盖原始的文件,然后重新启动机器即可。
  注意:每天运行一次Scanregw来备份注册表也没必要,关键是在系统的软配置改变之前进行备份。比如,强制执行硬盘的DMA功能,安装最新的防火墙等。还有就是不要怕备份太多占了硬盘空间,Windows 98会自动保留最新的5个备份,其余的都会被删掉。




----
    

[关闭][返回]