注册表是Microsoft Windows操作系统和其应用程序中的一个重要的层次型数据库,用于存储系统和应用程序的设置信息。
早在Windows 3.0推出OLE技术的时候,注册表就已经出现。但是,从Windows 95开始,注册表才真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用至今。随后推出的Windows NT是第一个从系统级别广泛使用注册表的操作系统。
1.注册表演进发展史
最初,Windows系统及应用程序的信息被存储在后缀名为ini的文本文件中,这就是注册表的前身。Windows 3.0的OLE技术出现后,微软为了存放系统中大量的软件组件信息,组织了一个reg.dat的数据库来存放这些信息。当时的注册表编辑器为16位版本的regedit.exe,后来开发的Windows NT则更进一步使用相同的文件格式来存放系统的配置信息,以取代原有的ini文件。该系统为每一个用户在用户目录下创建了一个自身的注册表空间,而系统的设置被存放在系统文件夹中。由于Windows NT是一个32位操作系统,regedit.exe被升级为regedt32.exe,并增加了对权限的设置功能。
2.注册表存储方式
Windows NT系列操作系统和Windows 9x系列的存储方式有很大区别。注册表被分成多个文件存储,称为Registry Hives,每一个文件被称为一个配置单元。
在早期的Windows 3.x系列中,注册表仅包含一个reg.dat文件,所存放的内容后来演变为HKEY_CLASSES_ROOT分支。
Windows NT家族的配置单元文件:
假设Windows安装于C盘,则在Windows XP以前,文件存放于C:\WINNT\SYSTEM32\CONFIG,而XP及以后则存放于C:\WINDOWS\SYSTEM32\CONFIG
Windows 9x家族的配置文件
在WIN NT系列操作系统下,
计算机配置和缺省用户设置的注册表数据在Winnt中被保存在下面这五个文件中:
DEFAULT,SAM,SECURITY,SOFTWARE,SYSTEM,NTUSER.DAT。
3.总体结构分析
注册表包括以下5个根键
1.HKEY_CLASSES_ROOT
说明:该根键包括启动应用程序所需的全部信息,包括扩展名,应用程序与文档之间的关系,驱动程序名,DDE和OLE信息,类ID编号和应用程序与文档的图标等。
2.HKEY_CURRENT_USER
说明:该根键包括当前登录用户的配置信息,包括环境变量,个人程序以及桌面设置等
3.HKEY_LOCAL_MACHINE
说明:该根键包括本地计算机的系统信息,包括硬件和操作系统信息,安全数据和计算机专用的各类软件设置信息
4.HKEY_USERS
说明:该根键包括计算机的所有用户使用的配置数据,这些数据只有在用户登录系统时才能访问。这些信息告诉系统当前用户使用的图标,激活的程序组,开始菜单的内容以及颜色,字体
5.HKEY_CURRENT_CONFIG
说明:该根键包括当前硬件的配置信息,其中的信息是从HKEY_LOCAL_MACHINE中映射出来的。
4.注册表的备份与恢复
备份注册表
一、手工备份注册表
大家把以下几个文件直接复制到另一个文件夹就可以了
1、在windows\system32\config下有以下几个文件用以保存系统配置:SAM,SYSTEM,SOFYWARE,DEFAULT
2、在Documetents and settings\username文件夹中保存用户配置文件:NETUSER.DAT,当然对应的LOG文件应该一块保存
二、注册表导出法导出注册表
在文件中选择导出命令,回答文件名和位置,OK了
三、通过系统备份功能进行备份
1、选择开始—程序—附件—系统工具—备份
2、选择高级模式点下一步
3、选择system state(系统状态),在底下文件名中位置中回答路径及文件名
4、点击开始备份
恢复注册表
1、重新启动系统恢复注册表
一重启就可以修正各种在注册表中出现的错误了,但是以硬盘上的注册表的信息正确为前提的。
2、手工恢复注册表
把上节中复制出来的文件再弄回去就OK了。
3、注册表导入法恢复
首先上节中的导出的文件你要有啊,然后运行regedit.exe文件,文件中的导入,选择要导入的注册表文件,点找开就可以了
4、利用高级启动选项恢复注册表
重启计算机,启动时按F8键进入高级选项菜单, 选择最后一次正确的配置,回车了,OK
5、通过局域网来恢复注册表
这个我们一般是指连入局域网的某一计算机(我们假设叫aaaaa)的注册表被管理员锁了,但有另一台计算机(我们假设叫B)的注册表可以用,现在我们用B来解除A的锁定。
进入B的注册表,选择文件中的连接网络注册表,在查找位置中输入aaaaa,这时注册表中出现了songxiang计算机的注册表,修改键值:aaaaa\HEKY_USERS\S-1-5-21-823518204-688789844-842925246-500\Software\Microsoft\Windows\CurrentVersion\Policies\System下的disableregistrytools值改为0就可以了。S-1-5-21-823518204-688789844-842925246-500这一大堆数知道什么意思吗,是超级管理员,重新安装系统