【轉貼】Windows2000註冊表的備份與恢復



贊助商連結


purk
2004-03-11, 08:46 PM
Windows2000注册表的备份与恢复
此文来自天极网

林斌

   Windows 2000 将它的配置信息存储在名为注册表的数据库中,其中包含了每个计算机用户的配置文件,以及有关系统硬件、已安装的程序和属性设置等信息,Windows 2000 在运行过程中要一直引用这些信息。注册表是以二进制形式存储在硬盘上,错误地编辑注册表可能会严重损坏系统。所以,在更改注册表之前,强烈建议备份注册表信息。为了防止在修改注册表的时候发生致命错误,有必要了解一下注册表文件的备份和恢复方法。除此之外,为了研究注册表的结构,还可以将注册表中的某一主键或子键保存为文本文件,或者打印出来,这项工作同样需要了解注册表文件的导入与导出方法。

  一、完全备份恢复注册表
  如果要完全备份注册表,可以在注册表编辑器Regedit.exe中单击“注册表”菜单下的“导出注册表文件”命令,并选择导出范围为“全部”,将注册表文件(*.reg)保存在硬盘上即可。要完全还原注册表的方法同上,只需要单击“注册表”菜单下的“导入注册表文件”命令,然后选择硬盘上相应的备份注册表文件即可。顺便提一下,Regedit.exe(16位的注册表编辑器)包含在 Windows 2000 中的主要原因是其搜索功能比较强,用户同样可以使用 Regedit.exe 更改注册表,但其功能不够全面(如无法设置注册表项的权限),可能无法正确查看或编辑个别数据类型。因此,建议只将 Regedit.exe 用于搜索及注册表的完全备份,在需要编辑注册表时,使用system32目录下的 Regedt32.exe(它是32位注册表编辑器,提供了一些高级功能,采用多窗口格式显示各预定义项,查看起来比较方便)。

  二、部分备份注册表
  如果只需要保存一个根键或者一个主键(子键)等一般的备份,在Regedt32中就可以比较方便地完成。首先选择要保存的主键或子键,然后再单击“注册表”菜单下“保存项”命令,在弹出的“保存项”对话框中输入要保存的注册表文件的文件名,扩展名建议使用“reg”,便于今后查找。

  在保存某些主键或子键时,因为其使用的用户不同,或者是该主键或子键正在被系统使用,会出现禁止访问的警告:“权限不足,无法保存项”。这时系统管理员可以使用“安全”菜单下的“权限”命令,对这些主键或子键的用户赋予“完全控制”的权限(具体操作参见第15期《电脑报》软件世界中“Windows 2000 注册表直通车(上)”一文),然后就可以保存该项了。

  将注册表主键或子键保存为“项”文件,无法直? 文本编辑器打开查看,所以想研究注册表的结构的话,可以将注册表文件导出为文本文件,操作的方法是选择“注册表”菜单下“将子目录树另存为”命令,将其命名为扩展名为TXT的文件后,再单击“保存”按钮即可。以后我们就可以使用Windows的写字板或记事本来查看这个文本文件了。如果需要,也可以使用同一菜单下的“打印子目录树”命令来打印。

  三、部分恢复导入注册表
  部分恢复导入注册表有两种方法,第一种是还原“项”,即使用以前备份的注册表文件或其它注册表文件来覆盖现有的主键。首先在Regedt32注册表编辑器中,将光标移至要还原的主键上,再选择“注册表”菜单下的“还原”命令,并在“还原项”窗口中选择要还原的注册表文件,单击“打开”按钮,确认覆盖现有主键后,即可还原该项到当前选定的项上。注意:被选择还原的文件必须与注册表编辑器中所选择的主键内容吻合,即原先保存的注册表“项”只能还原到原先的位置。



  另外一种方法是加载配置单元。“加载配置单元”和“卸载配置单元”。这两个命令只有在[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不同。

http://www.chinawill.net/jiaoxue/jiao9/j1022.htm

贊助商連結


purk
2004-03-11, 08:48 PM
・Windows2000 では、レジストリの再構築の必要はないのだろうか。
どこにもその手のツールがない。
現時点で 24MB のレジストリ容量になっている。
数日前から、フォルダ表示形式をうまく覚えてくれなくなった。
どこかで、バックアップツールの「システム修復ディスク」で、
「修復ディリクトリのレジストリのバックアップも作成する」にチェックを
し、\winnt\repair\regback に出来るレジストリファイルを本来の場所に
コピーすればレジストリ最適化になると聞いた。
そこで、さっそくやってみた。
ところが、この \winnt\repair\regback の退避レジストリを戻すのがやっ
かい。NTFS にしているものだから、FPD ブートで簡単にいかない。
仕方なく、Windows2000 回復コンソールを使用した。
これが良くわからないのだけど、\winnt 以外のドライブやフォルダにアク
セスできない。
とりあえず、batch regrst.bat を使用した。
当然であるが、regrst.bat も \winnt にないと実行できなかった。

rem regrst.bat
c:
cd \winnt\repair\regback
copy sam c:\winnt\system32\config\
copy system c:\winnt\system32\config\
copy software c:\winnt\system32\config\
copy security c:\winnt\system32\config\

・残るのは、ntuser.dat だけなのですが、Documents and Settings に
回復コンソールからアクセスできないので、Windows2000 に戻り、
アドミンの別ユーザを一時作成、そのユーザでログインして、
c:\winnt\repair\regback\ntuser.dat を
c:\Documents and Settings\Administrator\ntuser.dat にコピーした。

・苦労した割りにレジストリ容量そのものは、少しも変わっていないように
見える。(^^; (意味があったのだろうか...)
ただ、フォルダ表示形式を覚えてくれない障害は回復したように思う。
(しばらく様子をみないと本当のところはわかりませんが。)

・ついでにデフォルトのレジストリ容量制限値 57MB を 64MB に変更した。
う∼ん、とんでもない容量である。
レジストリ容量制限値は、コントロールパネル、システム、詳細タグ、
パフォーマンスオプション、変更で、最大レジストリサイズで指定する。
現行容量より、少ない指定をすれば賢く再構築してくれないかなと試しては
みたが、容量が足りないと思いっ切り警告されまくった。

■Windows2000 回復コンソール

・RAID ユーザは要注意である。起動時に必ず、RAID ドライバを指定しなけれ
ばならない。もう少しで RAID 構成を破壊してしまうところだった。(^^;

・バッチの実行に batch コマンドを使用するようである。

・winnt 以外のドライブやフォルダを dir で見ることはできるが、実ファイ
ルにアクセスしようとすると「アクセス拒否」が返ってくる。
困ったやつである。(^^;



http://homepage2.nifty.com/sak/w_sak3/doc/syspc/pc_w03.htm