一步一步学习注册表备份与恢复

Author: 水月子 小涛 Date: 2001年 36期

?牐犐洗伟镏蠹艺一亓硕У挠才淌荨5颐窃谄匠5挠τ弥校丫恢烙卸嗌傥慌笥蚜旖坦齏indows系统的厉害,一般电脑爱好者都有深刻的体会,整天都得提心吊胆防备着它出现蓝屏和崩溃的一天,特别是那个重要而又脆弱的注册表,当你的系统甚至连安全模式也进入不了的时候,我们便又要开始动手抢救了……
  ?牐犠訵indows 95系统后,注册表的数据保就保存在以下两个系统文件中:User.dat和System.dat。注册表是Windows系统正常运行的保证之一。一旦注册表出现故障,就可能导致Windows系统不能正常运行。下面就介绍一下在Windows9X/Me系统和Win 2000系统下注册表的恢复方法。在Windows 9X/Me里面,大家都知道通过另存注册表,导入注册表的方法来恢复系统,但是万一出现特殊情况,你即便从安全模式也进不了Windows图形界面的时候怎么办呢?这个时候你就需要利用DOS下面的注册表恢复程序了。
  #1    在Windows 9X/Me里面备份和恢复注册表
  #2?牐?1.DOS下用Regedit
  ?牐犠⒉岜肀嗉鱎egedit.exe其实是一个双栖型的程序,可在DOS和Windows 9X/Me下运行。只要我们在DOS状态下面输入Regedit,将会出现一个帮助屏幕,里面就会给出了不少命令行参数及其使用方法。
  ?牐犗志偌父隼铀得鱮egedit.exe在DOS下的使用方法。
  ?牐牏俳低匙⒉岜硎菘鈘egistry导出到reg1.reg文件中:regedit/E reg1.reg
  ?牐牏诮玶eg1.reg恢复成所用的注册表:regedit/C reg1.reg
  ?牐牏壑付╯ystem.dat存放在D:\PWIN中和user.dat存放在E:\PWIN中,再将reg.dat数据文件形成一个新的注册表数据库registry:regedit/L:D:\PWIN /R:E:\PWIN /C reg.dat
  #2?牐?2.用ScanReg备份恢复注册表
  ?牐燫egedit的备份和恢复自动性不高,不过是绝对可靠的,如果你曾经备份过注册表的文件,那么用Regedit就肯定能够将它们恢复过来。如果你没有备份的话,就得用到ScanReg命令了。
  ?牐犆看纹舳疻indows 9X/Me后,系统都会自动地将计算机能正常启动的系统文件(这些系统文件包括 System.ini,Win.ini,User.dat和System.dat )压缩成一个cab文件保存在隐含目录 Windows\Sysbckup\下,并保留最近5天的备份文件Rb001.cab~Rb005.cab。通过这几个系统备份文件,你就可以将不能正常启动的计算机恢复到最近5次能正常启动任意一次的系统设置。
  ?牐犑褂檬保阈枰低骋贾潦的J较碌拇緿OS环境,在DOS提示符下直接键入Scanreg/Backup即可对当前的系统注册表快速备份,当需要恢复时再键入Scanreg/Restore。如果你没有进行过手动备份,它可将注册表恢复到最后一次启动计算机时的状态。如果你忘了备份,那么赶快键入Scanreg/Opt,它也能保证你重新恢复系统。需要提醒你的是,你必须进入存放Scanreg命令的目录才能有效操作,其默认目录是C:\Windows\command。
  #2?牐?3.让Windows Me进入纯DOS环境
  ?牐犓淙凰礧indows Me优化了对软件的支持,删除了“实模式”代码,但是我们可以借助一个小工具RealDOS-Mode Patch for Windows Me来帮助我们实现这个目的。这个补丁可以让Windows Me在启动时,按下“Shift+F8”组合键可以直接进入DOS实模式。
  ?牐牏偈紫却蠹业絟ttp://download2.ccidnet.com/20010320/mfddosme.zip下载这个补丁程序,然后在硬盘下面建立一个Temp的临时目录。
  ?牐牏谠俳玏indows Me下的Command.com、IO.sys、Regenv32.exe三个文件拷贝进去。
  ?牐牏垩≈姓馊鑫募蟮セ魇蟊暧壹≡瘛笆粜浴泵睿爸欢痢薄ⅰ跋低场薄ⅰ按娴怠钡任募粜郧暗母囱】蚯宄缓蟆叭范ā奔纯伞?
  ?牐牏芙幼沤略鼗乩吹牟苟〕绦蚪庋沟絫emp里面,运行其中的Winmedos.com文件即可完成修改。
  ?牐牏萑缓蠼侨鑫募匦驴奖吹礁髯缘哪柯祭锩婢托辛恕O衷谥匦缕舳聪隆癝hift+F8”,就可以进DOS了。
  ?牐犉涫底罴虻サ姆椒ň褪悄阕急负靡徽庞?急启动软件盘通过软盘启动进入DOS环境。
  ?牐燱indows 2000由于是基于NT技术的,所以DOS实模式是肯定不会有的了。那么当Windows 2000发生紧急情况的时候我们怎么办呢?大家放心,Windows 2000的安全模式是真正安全的,除非你的硬件有问题,不然的话是肯定能够进行注册表恢复的,这个时候就要求大家平时做好Windows 2000下的注册表备份咯!
  #1    在Windows 2000里面备份和恢复注册表
  #2?牐?1.完全备份和恢复
  ?牐犜赪indows 2000里面有两个注册表编辑程序,regedit(图1^36020201a^)和regedt32(图2^36020201b^)。
  ?牐犎绻蠹沂褂胷egedit进行备份的话,和Windows 9X/Me里面的步骤是一样的。要恢复注册表的话,同样只要在regedit的窗口下面选择“注册表”菜单里面的“导入注册表文件”命令,然后选择你存放好的注册表备份文件即可(图3^36020201c^)。
  ?牐犔崾荆核淙籛indows 2000是32位的软件,但是由于其搜索功能比较强,使用简单,所以16位的regedit也被保留在Windows2000里面了。不过regedit的功能并不是很全,在没有特殊权限的情况下,某些注册表项是不能修改的。所以推荐大家在搜索注册表和备份、恢复的时候使用它。在需要编辑注册表时,还是使用Windows 2000里面的32位注册表编辑器regdt32。
  #2?牐?2.部分备份注册表
  ?牐犜赪indows 2000里面,我们可以有选择地备份注册表。
  ?牐犑紫任颐瞧舳痳egdt32程序,大家通过图2可以发现,regdt32是将不同的主键用不同的窗口显示出来的。如果我们要保存整个主键或者子键的话,先选择好需要保存的主键或者子键,然后点击注册表编辑器的“注册表”菜单下面的“保存项”命令(图4^36020201d^),这样就可以将所选择的主键或者子键方便地保存下来了。
  ?牐犛械氖焙蚰憧赡芟胪ü4嫦吕吹奈募芯恳幌伦⒉岜淼慕峁梗俏颐峭ü氨4嫦睢北4嫦吕吹奈募俏薹ㄖ苯哟蚩摹2还憧梢越⒉岜碜幽柯际鞯汲龀晌猅XT文件。操作方法很简单,在选定了要保存的子目录树之后,选择“注册表”菜单下“将子目录树另存为”命令,将其命名为扩展名TXT的文件,单击“保存”按钮即可(图5^36020201e^)。以后我们就可以使用Windows的写字板或记事本来查看这个文本文件了。
  #2?牐?3.部分恢复注册表
  ?牐牸热晃颐强梢杂醒≡竦乇阜葑⒉岜恚比灰部梢杂醒≡竦亟阜莩隼吹淖⒉岜砦募指唇ァ;指吹姆椒ㄒ埠芗虻ィ紫扔檬蟊杲枰指吹闹骷蛘咦蛹≡裆希缓笱≡瘛白⒉岜怼辈说ハ碌摹盎乖泵睿ㄍ?6^36020201f^),并在“还原项”窗口中选择要还原的注册表文件,单击“打开”按钮,确认覆盖现有主键后,即可还原该项到当前选定的项上。
  ?牐犔崾荆罕谎≡窕乖奈募匦胗胱⒉岜肀嗉髦兴≡竦闹骷谌菸呛希丛缺4娴淖⒉岜怼跋睢敝荒芑乖皆鹊奈恢谩?
  #1    提    醒
  ?牐犠詈笠嵝汛蠹业木褪且⒁釽indows 2000里面的注册表文件的位置。早在Windows 9X里面,注册表文件已经是分开好多不同的文件保存了,而且存放在不同的目录下面的。Windows 2000 里面也一样,其中用户配置文件保存在根目录“Documents and Settings”下用户名的目录中,包括两个隐藏文件:NTUSER.DAT、NTUSER.INI及ntuser.dat.LOG日志文件。系统配置文件位于Windows 2000系统目录下的“SYSTEM32\CONFIG”中,包括DEFAULT、SOFTWARE、SYSTEM、AppEvent.Evt、SecEvent.Evt、SysEvent.Evt等多个隐藏文件及其相应的.LOG(日志)文件和.SAV文件。这些注册表文件在Windows 2000运行时无法使用其它工具打开,这一点与Windows 9X下的system.dat及user.dat不同。
  #1    Regedit语法:
  ?牐燫egedit ?焄/L:system]?? ?焄/R:user]?? filename1
  ?牐燫egedit ?焄/L:system]??  [/R:user]?? /C filename2
  ?牐燫egedit ?焄/L:system]??  [/R:user]?? /E filename3 ?焄regpath]
  ?牐犜谡饫镂腋蠹宜得饕幌拢?
  ?牐?/L:system 指定system.dat文件的存放位置。
  ?牐?/R:user 指定user.dat文件的存放位置。
  ?牐爁ilename1 指定引入注册表数据库的文件名。
  ?牐?/C filename2 指定形成注册表数据库的文件名。
  ?牐?/E filename3 指定导出注册表文件的文件名。
  ?牐爎egpath 指定导出注册表文件的开始关键字(缺省为全部关键字)。