黑鹰完完全全学习注册表——剖析注册表文件体系

需要用到的软件:系统注册表(regedit.exe)

 

内容:

1.Windows 98的物理文件构成

Windows 98注册表的物理文件构成比较简单,是由两个文件构成的:

User.dat:特定的用户配置信息包含在User.dat文件中,此文件中的信息在注册表的用户配置信息中被反映。

System.dat硬件特定的以及计算机特定的设置包含在System.dat文件中。此文件中的信息被反映在注册表硬件配置以及设备管理器中。这两个文件包含了注册表的所有内容,它们缺一不可!因此,作为备份注册表的方案之一,就是完整地保存这两个文件。

默认的情况下,User.dat以及System.dat存放在Windows 98安装目录中(比如C:\Windows文件夹中),但是这两个文件可以存放在不同的地方例如,如果允许了多用户配置文件,System.dat可以存放在本地的硬盘上,而User.dat存放在每个用户登录的文件夹中(比如在C:\Windows\ProFiles\User_name,其中“User_name“为登录用户)或者服务器上,这将允许用户在网络上登陆时保留自己的桌面设置。

此外,通过系统策略编辑器设置的系统策略将出现在策略文件(Config.pol) 当中。当用户登陆的时候,它会重写注册表中的User.dat和System.dat的设置值。所以严格来说,它并不是真正注册表文件的一部分,而仅仅是一个配置文件而已。

严格来说,完整的注册表物理结构还应该包括Windows 98中两个重要的INI文件——System.iniWin.ini。这两个文件保存了一些16位应用程序的兼容程序设置,系统在启动时,也会将这两个文件中的一些设置保存到注册表中,不过在大部分时候,你不需要理会这些文件,它们只有在16位程序使用时,才会起到作用。

注意:任何试图打开并修改注册表实体文件——User.dat和System.dat的操作都是对注册表最致命的破坏(当然,如果你有注册表的完整备份的话,可以试着这么做),特别是一些在MS-DOS方式下直接用编辑器打开User.dat和System.dat文件的操作(在Windows 98运行期间,这两个文件因为被使用而被系统锁定,因此用一般方法也无法直接编辑),当你做任何编辑动作后,都会使注册表文件完全破坏!原因是User.dat和System.dat文件都不是ASCII码文本文件,而是二进制数据文件,不能直接用普通文本编辑器编辑。

 

2.Windows 2000/XP的注册表的物理文件构成

在讲述Windows 2000的注册表物理文件构成时,必须提到一个概念,即配置单元文件。在Windows 2000注册表编辑器中,文件菜单下有个“加载/卸载文件配置单元“选项。所谓的配置单元(因类似于蜂窝的单元结构而得名)。配置单元是根键、子键和键值的离散体,它位于注册表层的顶部。配置单元受Systemroot\System32\ConfigSystemroot\ProFiles\Username文件夹中的单个文件和.log文件支持。

默认情况下,大多数配置单元文件(Default、SAM、Security、Software和System)存储在Systemroot文件夹。而每个计算机用户的用户配置文件信息(包括NTuser.dat和Ntuser.dat.log)的位置,取决于Windows 2000是全新安装还是从Windows 95/98或Windows NT升级安装。在全新安装以及从Windows 95/98 升级安装的情况下,Ntuser.dat和Ntuser.dat.log文件存储在%Systemroot%Driver%\Documents and Settings\username文件夹中。在从Windows NT升级的安装中,Ntuser.dat和Ntuser.dat.log文件存储在%SystemRoot%\ProFiles\Username文件夹中。因为配置单元是一个文件,所以它可以从一个系统移动到另一个系统。但是,你必须使用注册表编辑器编辑该文件。

Windows 2000注册表中的每个配置单元均与一组标准文件相关联。以下显示的是运行Windows 2000的计算机的标准配置单元和文件:

注册表配置单元 对应的文件名

HKEY_LOCAL_MACHINE\SAM Sam和Sam.log

HKEY_LOCAL_MACHINE\Security Security和Security.log

HKEY_LOCAL_MACHINE\SYSTEM System和System.log

HKEY_CURRENT_CONFIG System和System.log

HKEY_CURRENT_USER Ntuser.dat和Ntuser.dat.log

HKEY_USERS\.DEFAULT Default和Default.log

HKEY_LOCAL_MACHINE\SOFTWARE Software和Software.log

Windows XP注册表物理文件构成与Windows 2000基本相同。

知道Windows注册表物理文件的构成及保存位置对于注册表的备份和恢复十分有用。因此,这里有必要介绍注册表物理文件的另一个保存位置:

Windows\Repair。这个文件夹中保存的是初始化注册表的5个文件(System、Software、SAM、Security、Default),在因注册表的无缘无故造成系统崩溃时,将它们复制到System32\Config(先将其备份后删除)中可以来挽救系统。

 

3.注册表脚本文件(REG文件)

(1)何谓REG文件

Reg文件实际上是一种注册表脚本文件,双击Reg文件即可将其中的数据导入到注册表中。利用Reg文件我们可以直接对注册表进行任何修改操作它对注册表的操作可以不受注册表编辑器被禁用的限制,因此功能更为强大、灵活,另外,由于Reg文件可以用任何文本文件编辑工具(例如记事本)进行修改,因此通过它对注册表数据进行修改,如果发生错误,还可以通过它改回Reg文件中的数据后再导入,从而实现恢复操作,因此它比直接用注册表编辑器修改更安全,所以熟练掌握Reg文件的运用,可以起到事半功倍、意想不到的效果。

(2)注册表文件脚本

值得注意的是Reg文件脚本的格式,下面是我分别从Windows 98和Windows XP中导出的一个注册表分支,让我们一起看看它们之间的区别。

 

Windowx XP:

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

"cftmon.exe"="c:\windows\system32\ctfmon.exe"

 

Windows 98:

REGEDIT4

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

"cftmon.exe"="c:\windows\system32\ctfmon.exe"

 

造成以上区别的原因是注册表编辑器版本的不同;在Windows XP中,Registry Editor的版本是Version 5.00,而在Windows 98中,这个版本是4.0。

(3)创建Reg文件

Reg文件的创建是非常简单的,可以通过任何一个文本文件编辑工具来实现。我们就以创建一个可以解除注册表禁用限制的Reg文件Restore.reg为例来说明。

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System]

“DisableRegistryTools”=dword:00000000

保存此文件,在打开的“另存为”对话框中选择保存路径,再单击“保存类型“中的下拉箭头选择”所有文件“(一定要注意此不,否则保存后的文件会自动加上txt的扩展名),然后在“文件名”中输入“Restore.reg”后单击“保存”按钮,以后你就可以通过双击这个Restore.reg来直接解除禁用注册表的限制(或是通过命令regedit /s restore.reg),对于如何编辑注册表脚本文件,大家可以通过后面的教程学习到。

 

注册表更改实例:

1.从系统通知区域删除时钟:该技巧用于阻止在系统通知区域显示时钟。如果启用此设置,系统通知区域将不会显示时钟。

更改注册表位置:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

键值类型:DWORD值 键值名称:HideClock 键值:1(隐藏) 0(显示)

 

2.禁止对任务栏位置进行改变:在通常情况下,任务栏的位置是可以随便放在屏幕的任一边。但通过此设置可以禁止用户对任务栏位置的改变

更改注册表位置:

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer]

键值类型:DWORD值 键值名称:LockTaskbar 键值:1(锁定) 0(不锁定)

 

3.隐藏任务栏中气球提示:气球提示是Windows 2000/XP的新特性,它可以在系统事件发生时对用户进行关键提示和指引。而如果我们需要屏蔽隐藏气球提示功能,可以通过修改注册表来实现。

更改注册表位置:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced]

键值类型:DWORD值 键值名称:EnableBalloonTips 键值:1(隐藏) 0(显示)

你可能感兴趣的:(注册表)