Windows 2000注册表的备份与恢复

Author: 林斌 Date: 2000年 第20期

  Windows 2000 将它的配置信息存储在名为注册表的数据库中,其中包含了每个计算机用户的配置文件,以及有关系统硬件、已安装的程序和属性设置等信息,Windows 2000 在运行过程中要一直引用这些信息。注册表是以二进制形式存储在硬盘上,错误地编辑注册表可能会严重损坏系统。所以,在更改注册表之前,强烈建议备份注册表信息。为了防止在修改注册表的时候发生致命错误,有必要了解一下注册表文件的备份和恢复方法。除此之外,为了研究注册表的结构,还可以将注册表中的某一主键或子键保存为文本文件,或者打印出来,这项工作同样需要了解注册表文件的导入与导出方法。
#1    一、完全备份/恢复注册表
  如果要完全备份注册表,可以在注册表编辑器Regedit.exe中单击“注册表”菜单下的“导出注册表文件”命令,并选择导出范围为“全部”,将注册表文件(*.reg)保存在硬盘上即可。要完全还原注册表的方法同上,只需要单击“注册表”菜单下的“导入注册表文件”命令,然后选择硬盘上相应的备份注册表文件即可。顺便提一下,Regedit.exe(16位的注册表编辑器)包含在 Windows 2000 中的主要原因是其搜索功能比较强,用户同样可以使用 Regedit.exe 更改注册表,但其功能不够全面(如无法设置注册表项的权限),可能无法正确查看或编辑个别数据类型。因此,建议只将 Regedit.exe 用于搜索及注册表的完全备份,在需要编辑注册表时,使用system32目录下的 Regedt32.exe(它是32位注册表编辑器,提供了一些高级功能,采用多窗口格式显示各预定义项,查看起来比较方便)。
#1    二、部分备份注册表
  如果只需要保存一个根键或者一个主键(子键)等一般的备份,在Regedt32中就可以比较方便地完成。首先选择要保存的主键或子键,然后再单击“注册表”菜单下“保存项”命令,在弹出的“保存项”对话框中输入要保存的注册表文件的文件名,扩展名建议使用“reg”,便于今后查找。
  在保存某些主键或子键时,因为其使用的用户不同,或者是该主键或子键正在被系统使用,会出现禁止访问的警告:“权限不足,无法保存项”。这时系统管理员可以使用“安全”菜单下的“权限”命令,对这些主键或子键的用户赋予“完全控制”的权限(具体操作参见第15期《电脑报》软件世界中《Windows 2000 注册表直通车(上)》一文),然后就可以保存该项了。
  将注册表主键或子键保存为“项”文件,无法直接用文本编辑器打开查看,所以想研究注册表的结构的话,可以将注册表文件导出为文本文件,操作的方法是选择“注册表”菜单下“将子目录树另存为”命令,将其命名为扩展名为TXT的文件后,再单击“保存”按钮即可。以后我们就可以使用Windows的写字板或记事本来查看这个文本文件了。如果需要,也可以使用同一菜单下的“打印子目录树”命令来打印。
#1    三、部分恢复/导入注册表
  部分恢复/导入注册表有两种方法,第一种是还原“项”,即使用以前备份的注册表文件或其它注册表文件来覆盖现有的主键。首先在Regedt32注册表编辑器中,将光标移至要还原的主键上,再选择“注册表”菜单下的“还原”命令,并在“还原项”窗口中选择要还原的注册表文件,单击“打开”按钮,确认覆盖现有主键后,即可还原该项到当前选定的项上。注意:被选择还原的文件必须与注册表编辑器中所选择的主键内容吻合,即原先保存的注册表“项”只能还原到原先的位置。
  另外一种方法是加载配置单元(如^20020305a^)。“加载配置单元”和“卸载配置单元”。这两个命令只有在[HKEY_USERS]或[HKEY_LOCAL_MACHINE]这两个预定义项窗口中才有效,将配置单元加载到注册表中后,配置单元成为其中一个项的子项。具体做法是在Regedt32注册表编辑器中,先用鼠标选择上述两个预定义项中的一个主键,再选择“注册表”菜单下的“加载配置单元”命令,接着在“加载配置单元”对话框内选择要加载的注册表文件,单击“打开”按钮后出现“加载配置单元”对话框,在对话框的“项名称”文本框内输入新主键的名称,如“.ChenNai”,再单击“确定”按钮,这样你就发现在当前主键的下面出现了一个新的主键(.ChenNai)。如果要卸载该配置单元,也很简单,选中该主键后,选择“注册表”菜单下“卸载配置单元”命令即可。
  上述两种方法的不同之处在于“加载配置单元”引入的主键可以是注册表内原先没有的内容。
  最后说一下,Windows 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不同。