认识Windows 95的注册表 注册表的作用 众所周知，在Windows 3.X中，使用WIN.INI与SYSTEM.INI两个文本文件保存着系统的关键设置，这两个文件对于Windows 3.x的正常运行起了至关重要的作用。然而INI文件都是文本文件，很容易用一个文本编辑器加以修改，这给系统的安全带来了隐患。此外，每个程序都建有自己的INI文件，使得Windows目录下混杂着一大堆小文件，管理极不方便。为了提高系统的安全性及系统管理上的方便性，Microsoft在Windows 95与 Windows NT中引入注册表，原来保存在win．INI、SYSTEM．INI及应用程序本身的初始化文件中的信息都被转移到系统注册表中来了。Microsoft想使注册表成为系统关键数据的集中保存地、并随着32位应用程序的普及逐步取消INI文件。但现在还不能完全没有INI文件，这是因为老的16位的Windows应用程序还需要它们。
Windows 95的注册表（在英文 Windows 95中称为Registry）是一个巨大的数据库，它包含软硬件的有关配置和状态信息，注册表中保存有应用程序和资源管理器外壳的初始条件、首选项和卸载数据；联网计算机的整个系统的设置和各种许可；文件扩展名与应用程序的关联；硬件部件的描述、状态和属性；性能记录和其它底层的系统状态信息，以及各类其它数据。如果注册表遭到破坏，则Windows 95的功能就会不正常，甚至完全瘫痪。因此如果要对注册表进行编辑，在动手之前一定要加以备份，以防万一。
对普通用户来说，虽然并不直接与注册表打交道，却也时刻都离不开它。当你利用控制面板来调整系统的设置或是增加一个新的硬件，或是安装一个新的软件时，系统都要更新注册表，以反映出新的变化。系统中到处出现的属件表，也是用户更新注册表的一个窗口。当安装Windows 95时，如果是在Windows 3．X的基础上升级，则原来在Windows 3.x中的软、硬件的设置都会转移到windows 95中来，原来安装的软件还会在Windows 95中正常运行，否则若要让这些软件还能在Windows 95中运行，只能在 Windows 95中再安装一次。
注册表的结构
在Windows 95中，注册表由两个文件组成：System.dat和User.dat，保存在Windows 95所在的文件夹中。前者包含系统硬件和软件的设置，而后者保存着与用户有关的信息，例如：颜色方案、资源管理器的设置以及网络口令等。这两个文件与INI文件不同，它们不是文本文件，而是由二进制数据组成，因而不能轻易地用文本编辑器加以查看或修改。
Windows 95中提供了注册表编辑器（Regedit.exe）这个工具，用来查看和维护注册表。这个程序并不出现在开始菜单上，Microsoft实际上并不希望最终用户来使用它。但要介绍注册表的结构，必须使用注册表编辑器，只有通过它我们才能“看到”其中的结构与组成。现在让我们来运行注册表编辑器，从而在其中揭示出注册表的结构。
运行注册表编辑器有两种方法：第一种是利用“开始”菜单中的“运行”命令，在对话框中键人“REGEDIT”，单击“确定”按钮；第二种方法是利用资源管理器，在Windows 95所在的文件夹（目录）中找出Regedit.exe文件，在其上双击，也能启动注册表编辑器。
可以看出，注册表编辑器与资源管理器的界面相似，在菜单之下是两个窗格，而数据的组织也与资源管理器类似。左面窗格中，由“我的电脑”（ My Computer）开始，以下是六个分支，每个分支名都以HKEY开头，称为主键（Key），这相当于资源管理器中的文件夹，表示主键的图标与文件夹图标一样。每个主键图标的左边有一个加号（＋）图标，单击这个加号可将这一分支展开，展开后加号变为减号。可以看到主键下面还包含次级主键（Subkey）。当单击某一主键或次级主键时，主键名左边的文件夹图标变为打开状，右面窗格中的内容会发生相应的变化。右面窗格显示的是所选主键内包含的一个或多个键值（Value）。键值由键值名（Value Name）及键值数据（Value Data）两部分组成，这就是右窗格中的两个列标名称（Name）、数据（Data）所表示的。
用资源管理器类比，键值好象是文件夹中的文件，而文件具有文件名及其内容。也可以用高级语言中的变量来类比键值，键值名相当于变量名，而键值数据相当于变量的内容。键值中的数据可以是字符串型的，其键值名左边有一个标有“ah”字母的图标；也可以是二进制型的，其键值名左边有一个标有“offl 10”（排成两行）的图标。一个主键中可包括多级次级主键，注册表中的信息就是按多级的层次结构组织起来的。
在注册表编辑器窗口的底部是状态栏，当选定一个主键或次级主键时（层数不限），状态栏中显示出所选主键所处的路径。
注册表中的每个分支中保存有该计算机中软硬件设置中某一方面的特定信息与数据。下表中列出每个主键分支的说明。
注册表的备份与恢复
Windows 95对于注册表的保护已经采取了措施。每次成功启动之后，系统都将此次成功启动时的注册表加以备份，System.dat备份为Svstenl.dao，User.dat备份为User.dao。备份文件存放在Windows 95所在文件夹中，但是具有系统与隐藏属性，故一般来说是不可见的。
如果由于某种原因注册表遭到了破坏，使得系统不能启动，可以利用Windows 95的启动盘从软盘启动，然后转到Windows 95所在文件夹中，利用ATTRIB命令去掉.dao文件的系统和隐藏属性，然后用这两个备份文件将.dat文件加以覆盖，系统所出现的问题往往可以解决。但是如果系统的问题是由于修改注册表而引起的，而问题又是在重新启动之后发现，则这两个备份文件中已经包括了有问题的设置，因而是不可用的。在系统的启动驱动器（一般为 C：）的根目录中还保存了安装Windows 95时系统创建的System.dat文件的一个副本，名为Sys－tem.1st。如果当前注册表无法用其它方法恢复的话，就可以用此文件将System.dat文件覆盖。
利用注册表编辑器可以在修改之前对注册表进行备份。既可以备份要修改的分支，也可以备份整个注册表。利用注册表的“文件”菜单中的“导出…’命令，即可达到目的。
除了注册表编辑器中内建的备份功能之外，还可以利用 Windows 95安装光盘上的实用程序——CFGBACK，这是一个注册表专用的备份工具，只要将CFGBACK.EXE与CFGBACK.IILP文件复制到Windows 95所在的文件夹中即可使用，运行之后即可以得到注册表的一个备份文件。但是在计算机被设置为多用户使用的情况下，它不备份用户信息。
如果Windows 95不能启动，此时要恢复注册表，可在DOS提示符下运行注册表编辑器。
在DOS提示符下键入REGEDIT／？，可以得到如何引人和引出注册信息的一些帮助。如果你需要恢复一个备份的注册表，请使用REGEDIT来引人这一备份。如果要改变任何的注册条目，必须利用EDIT程序（或其它的文本编辑器）修改原引出的注册表信息。
（杜墨杜国梁）