windows操作系统注册表详解
windows操作系统注册表详解
windows操作系统注册表详解
第⼀课注册表基础
⼀、什么是注册表
注册表是windows操作系统、硬件设备以及客户应⽤程序得以正常运⾏和保存设置的核⼼“数据库”,也可以说是⼀个⾮常巨⼤的树状分层结构的数据库系统。
注册表记录了⽤户安装在计算机上的软件和每个程序的相互关联信息,它包括了计算机的硬件配置,包括⾃动配置的即插即⽤的设备和已有的各种设备说明、状态属性以及各种状态信息和数据。利⽤⼀个功能强⼤的注册表数据库来统⼀集中地管理系统硬件设施、软件配置等信息,从⽽⽅便了管理,增强了系统的稳定性。
⼆、注册表的功能
刚才我们看到了,注册表中记录了⽤户安装在计算机上的软件和每个程序的相关信息,通过它可以控制硬件、软件、⽤户环境和操作系统界⾯的数据信息⽂件。
相关知识:注册表⽂件的数据信息保存在system.dat和user.dat中、利⽤程序能够存取注册表⽂件(其实⼤家可能也知道,这两个程序是⼀样的)
三、编辑器说明:
在运⾏⾥键⼊regedit就可以进⼊了
根键:这个称为HKEY…………,某⼀项的句柄项:附加的⽂件夹和⼀个或多个值
⼦项:在某⼀个项(⽗项)下⾯出现的项(⼦项)
值项:带有⼀个名称和⼀个值的有序值,每个项都可包括任何数量的值项,值项由三个部分组成:名称、数据类型和数据。
1、名称:不包括反斜线的字符、数字、代表符和空格的任意组合。同⼀键中不可有相同的名称
2、数据类型:包括字符串、⼆进制和双字节等
3、数据:值项的具体值,它的⼤⼩可以占⽤64KB
***************************************************************** *************
第⼆课总体结构分析
注册表包括以下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中映射出来的。
***************************************************************** **************
第三课HKEY_CLASSES_ROOT
我们知道,在这⼀个根键中记录的是WINDOWS操作系统中所有数据⽂件的信息内容,主要记录了不同⽂件的⽂件扩展名和与
之相对应的应⽤程序。这就是为什么我们双击某⼀个⽂档的时候,可以由系统⾃动调出应⽤程序的所在了。
这个根键的⼦键当⼤家展开时发现是⾮常多的,它主要分为两种:⼀是已经注册的各类⽂件的扩展名;⼀是各种⽂件类型的
有关信息。
下⾯我们以AVIFILE举例说明⼀下其下⾯的⼦项的含义:
1、CLSID:分类标识,系统可以⽤这个类标识来识别相同类型的⽂件
2、Compressors:它下⾯有两个⼦项:auds:⽤于设置⾳频数据压缩程序的类标识;vids:⽤于设置视频数据压缩程序的类标识
3、defaultlcon:⽤于设置默认图标,这个⼤家可以改⼀下试试
4、RIFFHandlers:在它的下⾯有两个类标识:AVI:⽤于设置AVI ⽂件的类标识;WAVE:⽤于设置WAVE⽂件的类标识
5、protocol:包括了执⾏程序和编辑程序的路径和⽂件名:StdExecute(stdfileediting)_server:⽤于指定编辑程序;StdExecute (stdfileediting)_PackageObjects:⽤于指定后打开AVI包对象的编辑程序;StdExecute(stdfileediting)_verb:⽤于设置编辑程序时的⼯作状态,其中有0、1、2等状态
6、Shell⼦项:⽤于设置视频⽂件的外壳:open:⽤于设置打开AVI ⽂件的程序;play:⽤于设置播放命令的程序
7、Shellex:包括了视频⽂件的外壳扩展
***************************************************************** **************
第四课HKEY_CURRENT_USER
此根键中保存的信息(当前⽤户的⼦项信息)与HKEY_USERS_DEFAULT下⾯的⼀模⼀样的。任何对
HKEY_CURRENT_USER根键中的信息的修改都会导致对HKEY_USERS_DEFAULT中⼦项的修改
***************************************************************** **************
第五课HKEY_LOCAL_MACHINE
此根键中存放的是⽤来控制系统和软件的设置,由于这些设置是针对那些使⽤Windows系统的⽤户⽽设置的,是⼀个公共配置信息,所以它与具体的⽤户没多⼤关系。
1、HARDWARE⼦项:该⼦项包括了系统使⽤的浮点处理器、串⼝等信息:ACPI:存放⾼级电源管理接⼝数据;DEVICEMAP:⽤于存放设备映射;DEscriptION:存放有关系统信息
;RESOURCEMAP:⽤于存放资源列表
2、SAM⼦项:哈哈,这部分被保护了,看不到
3、SECURITY⼦项:该⼦项只是为将来的⾼级功能⽽预留的
4、SOFTWARE⼦项:该⼦项中保留的是所有已安装的32位应⽤程序的信息,各个程序的控制信息分别安装在相应的⼦项中,由于不同的计算机安装的应⽤程序互不相同,因此这个⼦项下⾯的⼦项信息也不完全⼀样。
5、SYSTEM⼦项:该⼦项是启动时所需的信息和修复系统时所需要的信息:currentcontrol:保存了当前驱动程序控制集中的所有信息***************************************************************** **************
第六课HKEY_USERS
此根键中保存的是默认⽤户(default),当前登录⽤户和软件(software) 的信息,其中DEFAULT⼦项是其中最重要的,它的配置是针对未来将会被创建的新⽤户的。新⽤户根据默认⽤户的配置信息来⽣成⾃⼰的配置⽂件,该配置⽂件包括环境、屏幕和声
⾳等多种信息,其中常⽤的3项有:
1、AppEvents⼦项:它包括了各种应⽤事件的列表:EventLabels:按字母顺序列表;Schemes:按事件分类列表
2、Control Panel⼦项:它包括内容与桌⾯、光标、键盘和⿏标等设置有关
3、Keyboard layout⼦项:⽤于键盘的布局(如语⾔的加载顺序等)Preload:语⾔的加载顺序
Substitutes:设置可替换的键盘语⾔布局
进入注册表命令
Toggle:⽤于选择键盘语⾔
***************************************************************** **************
第七课HKEY_CURRENT_CONFIG
此根键存放的是当前配置的⽂件信息。
实际上细⼼的读者已经发现了,五⼤根键实际上并不是五个,现在把这个做了总结
我们都知道⽤regedit或regedit32都可以打开注册表⽂件,在XP 系统下的时候,这两种⽅法其实都是⼀样的,当我们打开注册表后看到了类似资源管理器的东西,这⾥⾯都有什么呢?
HKEY_CLASSES_ROOT
HKEY_CURRENT_USER
HKEY_LOCAL_MACHINE
HKEY_USERS
HKEY_CURRENT_CONFIG
看是五个分⽀,其实就是HKEY_LOCAL_MACHINE、HKEY_USERS 这两个才是真正的注册表键,其它都是从某个分⽀映射出来的,
相当于快捷⽅式或是别名,这样的话看注册表就简单了许多了,现在说⼀下每个分⽀的作⽤:
HKEY_CLASSES_ROOT:列出当前计算机注册的所有COM服务器和与应⽤程序相关联的所有⽂件扩展名。
HKEY_CURRENT_USER:保存着当前登录到由这个注册服务的计算机上的⽤户配置⽂件。
HKEY_LOCAL_MACHINE:保存操作系统及硬件相关信息的配置单元,它是⼀个公共的配置信息与具体⽤户⽆关,其中关键是两个键值SOFTWARE:保存着与这台电脑中安装的应⽤程序相关的设置。SYSTEM:WINDOWS所装载的设备驱动程序以及当WINDOWS启动时所需要的各种参数。
HKEY_USERS:包含当前计算机所有⽤户配置⽂件。
HKEY_CURRENT_CONFIG:计算机当前会话中的所有硬件配置信息。
***************************************************************** **************
第⼋课注册表的基本操作
1、创建项和项值
2、更值项的数据
3、删除项、⼦项或值项
4、查项、值项或数据
注册表中常⽤的数据类型有5种:
⼆进制值(reg_binary):多数硬件信息以⼆进制数据存储,⽽以⼗六进制格式显⽰在注册表编辑器中
字符串值(reg_sz):包括字符串的注册表键,使⽤字符串数据类型双字节值(reg_dword):是32位信息常显⽰成4个字节。它在出错控制功能上⽤处极⼤,其数据⼀般以⼗六进制格式显⽰在注册
表编辑器中。
多字符串值(reg_multi_sz):允许将⼀系列项⽬作为单独的⼀个值使⽤。对于多种⽹络协议、多个项⽬、设备列表以及其他类似的列表项⽬来说,可以使⽤多字符串值
可扩充字符串值(reg_expand_sz):代表⼀个可扩展的字符串
***************************************************************** **************
第九课注册表破坏的现象及原因
⼀、注册表破坏后的常见现象
1、⽆法启动系统
2、⽆法运⾏或正常运⾏合法的应⽤程序
3、不到启动系统或运⾏应⽤程序所需的⽂件
4、没有访问应⽤程序的权限
5、不能正确安装或装⼊驱动程序
6、不能进⾏⽹络连接
7、注册表条⽬有错误
⼆、注册表被破坏的原因
1、应⽤程序错误:这个出现的时候⽐较多,因为我们知道应⽤程序或多或少的时候都有错误,都有可能导致不同的后果;另外
在系统中安装过多的软件后,有可能出现彼此之间的冲突。
2、驱动程序不兼容:其实我发现好多出在系统⾃动安装的驱动程序上,如果你本⾝有驱动程序盘的话,还是⽤专业的⽐较好⼀
3、硬件问题:这⾥⾯好我问题出现在硬件质量上,⽐如硬盘或内存质量不过关造成读写错误,或超频或CMOS或病毒等
4、误操作:这个⼤家不知出现了没有,您的误操作可能会导致注册表出现错误,有的时候甚⾄会很严重的。
***************************************************************** **************
第⼗课备份注册表
⼀、⼿⼯备份注册表
⼤家把以下⼏个⽂件直接复制到另⼀个⽂件夹就可以了
1、在windowssystem32config下有以下⼏个⽂件⽤以保存系统配置:SAM,SYSTEM,SOFYWARE,DEFAULT
2、在Documetents and settings\username⽂件夹中保存⽤户配置⽂件:NETUSER.DAT,当然对应的LOG⽂件应该⼀块保存⼆、注册表导出法导出注册表
在⽂件中选择导出命令,回答⽂件名和位置,OK了
三、通过系统备份功能进⾏备份
1、选择开始—程序—附件—系统⼯具—备份
2、选择⾼级模式点下⼀步
3、选择system state(系统状态),在底下⽂件名中位置中回答路径及⽂件名
4、点击开始备份
***************************************************************** **************
第⼗⼀课恢复注册表
1、重新启动系统恢复注册表
⼀重启就可以修正各种在注册表中出现的错误了,但是以硬盘上的注册表的信息正确为前提的。
2、⼿⼯恢复注册表
把上节中复制出来的⽂件再弄回去就OK了。
3、注册表导⼊法恢复
⾸先上节中的导出的⽂件你要有啊,然后运⾏⽂件,⽂件中的导⼊,选择要导⼊的注册表⽂件,点开就可以了
4、利⽤⾼级启动选项恢复注册表
重启计算机,启动时按F8键进⼊⾼级选项菜单,选择最后⼀次正确的配置,回车了,OK
5、通过局域⽹来恢复注册表
这个我们⼀般是指连⼊局域⽹的某⼀计算机(我们假设叫aaaaa)的注册表被管理员锁了,但有另⼀台计算机(我们假设叫B)的注册表可以⽤,现在我们⽤B来解除A的锁定。
进⼊B的注册表,选择⽂件中的连接⽹络注册表,在查位置中输⼊aaaaa,这时注册表中出现了songxiang计算机的注册表,修改键值:aaaaaHEKY_USERSS-1-5-21-823518204-688789844-842925246 -
500SoftwareMicrosoftWindowsCurrentVersionPoliciesSystem 下的disableregistrytools值改为0就可以了。S-1-5-21-823518204-688789844-842925246-500这⼀⼤堆数知道什么意思吗,是超级管理员,重新安装系统
***************************************************************** **************
第⼗⼆课注册表的优化
⼀、我们为什么要优化注册表
1、在计算机使⽤过程中可能经常添加或删除应⽤程序;在上⽹时遇到恶意⽹站,向注册表强⾏添加信息;
2、原来的应⽤程序卸载后注册表没删除,启动时出现没到某某应⽤程序
3、多余注册表的⼦项可能造成浪费或降低启动速度
⼆、⼿⼯优化注册表
1、清除多余的DLL⽂件
⼤家到这个项:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentV ersionShareDLLs,在这个项下存放的
是共享的DLL信息,注意看括号⾥⾯的数据,它表⽰共享⽂件的数⽬,如果为0,那么删除掉吧
2、安装卸载应⽤程序的垃圾信息
这个主要是⼀些⾮法卸载应⽤程序导致的,我们⾸先要知道什么程序被⾮法卸载了,这个很好办,你⾃⼰现在正使着的你是知道的,其余的就没⽤了
注册表位置:HKEY_CURRENT_USERSoftware HKEY_LOCAL_MACHINESoftware
看到没⽤的就全删了就⾏了
3、系统安装时产⽣的⽆⽤信息:去掉吧,有可能启动变快呢
3.1、删除多余时区(我是只留北京时区)
位置:HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsNTCurrent VersionTime Zones
如果你只要北京时区的话,那么除了China Standard Time,其余的都删了吧
3.2、清除国家列表(我只留中华⼈民共和国)
位置:HKEY_LOCAL_MACHINESoftwareMicrosoftWindowsCurrentVer sionTelephonyCountry List

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。