什么是注册表(Registry)

星期二, 六月 17, 2008

有很多朋友问到什么是registry?你叫我改了registry会不会有问题啊?等等诸如之类的,坦白说我自己也不是很了解注册表的东西。所以我也不敢给与什么答案,只是告诉他们一些我知道的。后来,我在网站上面看到一些的资料才慢慢知道什么是注册表等等的一些知识。

Windows的注册表(Registry)简单来说其实就是一个庞大的数据库,它存储以下内容:
1. 软、硬件的有关配置和状态信息,应用程序和资源管理器外壳的初始条件、首选项和卸载数据;
2. 计算机的整个系统的设置和各种许可,文件扩展名与应用程序的关联, 硬件的描述、状态和属性;
3. 计算机性能纪录和底层的系统状态信息,以及各类其他数据。

注册表的结构
注册表通常由两个文件组成:System.datUser.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每次正常启动时,都会自动对注册表进行备份,System.dat会备份为System.da0,而User.dat则备份为User.da0。它们存放在Windows所在的文件夹中,属与系统和隐藏格式文件。

除了windows自动备份以外,我们也可以手动为注册表进行备份:

1. 利用Windows中的注册表编辑器(Regedit.exe)进行备份
运行Regedit.exe,单击“文件“-->“导出注册表文件“命令,选择保存的路径,保存的文件为*.reg, 可以用任何文本编辑器进行编辑。

2. 利用Win95光盘上Other\Misc\ERU\ERU.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。但是这样的话您安装的应用软件可能会无法运行,必须重新安装。

2 条评论:

  1. 我阿姨时常都问我为什么电脑format后,比之前少空间,我就解释这些-.-不知道我错了么?

    回复删除
  2. 你怎样解释哦!!??

    回复删除

Blogger 提供支持.