注册表是什么
Windows的注册表(Registry)实质上是一个庞大的数据库,它存储这下面这些内容:
软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;
计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联, 硬件的描述、状态和属性;
计算机性能纪录和底层的系统状态信息,以及各类其他数据。
注册表的结构
在Windows中,注册表由两个文件组成:System.dat和User.dat,保存在windows所在的文件夹中。它们是由二进制数据组成。System.dat包含系统硬件和软件的设置,User.dat保存着与用户有关的信息,例如资源管理器的设置,颜色方案以及网络口令等等。
Windows为我们提供了一个注册表编辑器(Regedit.exe)的工具,它可以用来查看和维护注册表。
注册表编辑器与资源管理器的界面相似。左边窗格中,由"我的电脑"开始,以下是六个分支,每个分之名都以HKEY开头,称为主键(KEY),展开后可以看到主键还包含次级主键(SubKEY)。当单击某一主键或次主键时,右边窗格中显示的是所选主键内包含的一个或多个键值(value)。键值由键值名称(value Name)和数据(value Data)组成。主键中可以包含多级的次级主键,注册表中的信息就是按照多级的层次结构组织的。每个分支中保存计算机软件或应建设之中某一方面的信息与数据。
注册表中格分支的功能如下:
HKEY-CLASSES-ROOT 文件扩展名与应用的关联及OLE信息
HKEY-CURRENT-USER 当前登录用户控制面板选项和桌面等的设置,以及映射的网络驱动器
HKEY-LOCAL-MACHINE 计算机硬件与应用程序信息
HKEY-USERS 所有登录用户的信息
HKEY-CURRENT-CONFIG 计算机硬件配置信息
HKEY-DYN-DATA 即插即用和系统性能的动态信息;
注册表中的键值项数据
注册表通过键和子键来管理各种信息。但是注册表中的所有信息都是以各种形式的键值项数据保存的。在注册表编辑器右窗格中显示的都是键值项数据。这些键值项数据可以分为三种类型:
1.字符串值
在注册表中,字符串值一般用来表示文件的描述和硬件的标识。通常由字母和数字组成,也可以是汉字,最大长度不能超过255个字符。在本站中以"a"="***"表示。
2.二进制值
在注册表中二进制值是没有长度限制的,可以是任意字节长。在注册表编辑器中,二进制以十六进制的方式表示。在本站中以"a"=hex:01,00,00,00方式表示。
3.DWORD值
DWORD值是一个32位(4个字节)的数值。在注册表编辑器中也是以十六进制的方式表示。在本站中以"a"=dword:00000001表示。
注册表的备份与恢复
如果注册表遭到破坏,Windows将不能正常运行,为了确保Windows系统安全, 我们必须经常的备份注册表。
Windows每次正常启动时,都会对注册表进行备份,System.dat备份为System.da0, User.dat备份为User.da0。它们存放在Windows所在的文件夹中,属性为系统和隐藏。
以下为2种备份注册表的方法:
1,利用Windows中的注册表编辑器(Regedit.exe)进行备份
运行Regedit.exe,单击“文件“-->“导出注册表文件“命令,选择保存的路径,保存的文件为*.reg, 可以用任何文本编辑器进行编辑。
2,利用Win95光盘上OtherMiscERUERU.EXE紧急事故恢复工具(Emergency Recovery Utility)。利用这个工具不但可以备份和恢复注册表,还可以备份硬盘中的任何文件。
恢复:
当注册表损坏时,启动时Windows会自动用System.dat和User.dat的备份System.da0和User.da0进行恢复工作,如果不能自动恢复,可以运行Regedit.exe(它可以运行在在Windows下或DOS下),导入.reg备份文件。也可以运行ERU.EXE进行恢复。
如果您没有进行备份或者注册表损坏的非常严重,那么您可以试试最后一着:在c:下有一个System.1st文件,属性为隐藏和只读,它记录着安装 Windows时的计算机硬件软件信息,用这个文件覆盖System.dat。但是这样的话您安装的应用软件可能会无法运行,必须重新安装。
注册表修改方法
通过修改注册表我们可以实现一些特殊的功能,但是注册表又是十分脆弱的,一个不小心就会出现错误。那么我们怎么样来修改注册表呢?我总结为以下几种方法:
1.软件修改(安全)
通过一些专门的修改工具来修改注册表,比如:MagicSet、TweakUI、WinHacker等等。其实控制面板就是一个这样的工具,只不过功能简单一些。
2.间接修改(比较安全)
将要修改的写入一个.reg文件中,然后导入注册表中。.reg文件的基本格式为:
REGEDIT4
[HKEY_LOCAL_MACHINESoftwareSuper RabbitMagicSet]
"@"="Super Rabbit Magic Set For Windows 98 V2.92"
"a"=dword:00000001
"b"=hex:02,05,00,00
……
[HKEY_LOCAL_MACHINESoftwareSCCQuickViewer]
……
第一行为“REGEDIT4”,必须大写。
第二行为空行。
第三行使用[]括起子键分支,其中HKEY_LOCAL_MACHINESoftwareSuper RabbitMagicSet就是一个子键分支。
第四、五、六行是该子键下的设置数据。其中@表示注册表编辑器右窗格中的"默认"键。
以下类似。
这样做的好处是可以避免错误的写入或删除等操作,但是要求用户了解注册表的内部结构和.reg文件的格式。
3.直接修改(最不安全,但最直接有效)
就是通过注册表编辑器直接的来修改注册表的键值数据项,这样做会避免在注册表中留下垃圾(虽然都很小,但越来越多会拖慢系统速度),但是要求用户有一定的注册表知识,熟悉注册表内部结构而且一定要小心谨慎。
标签: