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

需要用到的软件:系统注册表(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(显示)

转载于:https://www.cnblogs.com/6DAN_HUST/archive/2012/07/07/2580470.html

注册表是一个庞大的数据库,是一个巨大的迷宫,只知道按照案例顺藤摸瓜地修改键值项是不够的。那么如何寻找出入注册表的线索,解开笼罩注册表的迷雾呢?答案就是必须深入了解注册表的逻辑组织结构。 一、 注册表结构概述 注册表是被保存在几个文件中,这些文件代表了注册表的物理结构,即能对这些文件进行拷贝、备份、恢复操作。然而这些注册表文件并不是简单的能被人阅读的文本格式文件,而是以二进制格式保存的。所以要使用像Regedit 之类的注册表编辑器才能浏览注册表的真实内容,而注册表编辑器展示出来的就是注册表的逻辑结构。 我们敢肯定,大部分读者在不了解注册表逻辑结构的情况下,所能做的至多是使用Regedit 等注册表编辑器漫无目的地在注册表里到处游荡,然而结果是没有任何有价值的收获,最后也只有感叹——注册表太庞大了! 另外一个潜在的普遍性问题是,很多读者利用注册表所做的仅仅是在一些修改实例资料的指导下,对注册表进行简单地修改。但作为注册表高手来说,仅仅利用注册表来达到这个目的是完全不够的,更多的应该是自己找出那些不被人知的技巧;利用注册表解决各种系统疑难问题。 毫不否认注册表确实庞大,但它具有一个有规律性的逻辑结构体系,了解了这些结构清晰的逻辑结构以后,你将发现注册表不再庞大;一旦你对注册表中每个部件将了如指掌,所做的将是具有高效率的针对性工作(而再也不是漫无目的地到处游荡);自己也能找出注册表修改技巧(而不仅仅是在别人的指导下进行);将能解决更多的系统疑难问题(而不是仅仅利用注册表做那些简单的事)。总之你将能发挥注册表的最大潜能为你所用。 比如,初学者经常碰到的摸不着头脑一个问题是,为什么在 HKEY_LOCAL_MACHINE\Software\和HKEY_CURRENT_USER\Software\里都有诸如Microsoft 之类的子键,而且看上去非常相似?是不是他们都是相同的?实际上,在了解了注册表逻辑结构的情况下,就会明白 HKEY_LOCAL_MACHINE\Software\下存放的软件信息是被所有用户使用的,而HKEY_CURRENT_USER\Software\下保存的仅仅被当前用户使用!两个子键下包含的子键名有可能一样,但里面的键值项则完全不一样(具体还要看各个程序的设置)。 注册表的逻辑结构非常复杂,包含了五大根键和成千上万的子键和键值项,但是你千万不要被这些吓倒!就像一个“植物学家”,他要了解“注册表”这棵树,可以有代表性地研究它的某些部分,而不必去了解所有的树枝和叶子。 值得庆幸的是,本章将对Windows 注册表的逻辑结构进行全面详实地剖析,这是你继续深入了解注册表的绝佳时机!从这些章节里你将真正学习注册表的全部内容;注册表的每个部件都将展现你的面前;几乎所有的系统、程序的设置信息也会完全被“公开”——你所能做的是对注册表进行最彻底地了解,最终,注册表高手也非你莫属。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值