但凡涉及调整一些Windows的文件关联、启动项或Windows的一些参数,都与Windows注册表相关,Windows注册表外在是文件形式,内部则是树状结构,和文件系统是差不多的:
注册表的树结构
下面信息有点密集,请耐心看哈!
最常见的几个Windows注册表文件如下:
•System (C:\Windows\System32\config\system) 系统硬件或系统级的相关信息•Software(C:\Windows\System32\config\software) 软件相关信息•Sam(C:\Windows\System32\config\sam) 帐户和密码•Security(C:\Windows\System32\config\security)
本地系统如帐户权限和许可,密码策略,帐户组成员关系等信息
•BCD(c:\boot\bcd) 启动配置信息这五项任意一项加载失败,Windows就不能正常启动这些文件又以不同形式组织在注册表树结构中,注意看上面的图:
•BCD 挂载在注册表树结构的HKEY_LOCAL_MACHINE\BCD00000000下•SYSTEM挂载在注册表树结构的HKEY_LOCAL_MACHINE\System下•SOFTWARE 挂载在注册表树结构的HKEY_LOCAL_MACHINE\Software下•SAM 挂载在注册表树结构的HKEY_LOCAL_MACHINE\SAM下•SECURITY 挂载在注册表树结构的HKEY_LOCAL_MACHINE\Security下•.DEFAULT 新用户创建时使用
注册表的树型结构里有几个特殊挂载点值得注意:
HKEY_CURRENT_USER存储当前登录用户的特定配置,链接到HKEY_USERS下的相关用户键下(形如HKEY_USERS\<SID>),相同信息在两个键下都可访问HKEY_CLASS_ROOT是HKEY_CURRENT_USER\Software\Classes和HKEY_LOCAL_MACHINE\Software\Classes的组合HKEY_CURRENT_CONFIG指向HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Hardware Profiles\Current\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet记录着操作系统配置的信息,包括了系统控制、驱动、服务等信息HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet只是当前加载的ControlSet的一个链接,当前Controlset由HKEY_LOCAL_MACHINE\SYSTEM\Select键下的Current的值决定参见下图,可以直观的有所认识:
注册表的各挂载点
不常见的注册表:
用户注册表(一个用户有两个)
Ntuser.dat(可漫游) ,保存用户特定的数据,位于%USERPROFILE%\目录下,挂载在HKEY_USERS\下
UsrClass.dat(不漫游,属于每个用户的) 保存文件关联和COM注册项,挂载在HKEY_USERS\<SID>_Classes下,一般在%USERPROFILE%\Local Settings\Application Data\Microsoft\Windows\目录下或%USERPROFILE%\AppData\Local\Microsoft\Windows\目录下以上两者都是在用户登录或模拟用户时加载
特殊用户的注册表
S-1-5-18 – 系统用户(System Account)
S-1-5-19 – 本地服务用户(Local Service)
S-1-5-20 – 网络服务用户(Network Service)好,今天就聊到这里,下回讲一下注册表 与程序相关的一些点儿,感兴趣的话点个赞哟!