注册表基础
概述
- 注册表是Windows操作系统、硬件设备以及客户应用程序得以正常运行和保存设置的核心"数据库",也可以说是一个非常巨大的树状分层结构的数据库系统
- 注册表记录了用户安装在计算机上的软件和每个程序的相互关联信息,它包括了计算机的硬件配置,包括自动配置的即插即用的设备和已有的各种设备说明、状态属性以及各种状态信息和数据。利用一个功能强大的注册表数据库来统一集中地管理系统硬件设施、软件配置等信息,从而方便了管理,增强了系统的稳定性
早期的注册表以ini
为扩展名的文本文件的配置文件。
自Windows95操作系统开始,注册表真正成为Windows用户经常接触的内容,并在其后的操作系统中继续沿用
- 注册表数据库由多个文件组成
- Windows提供了注册表编辑器
与INI文件不同的是:
- 注册表采用了二进制形式登录数据;
- 注册表支持子键,各级子关键字都有自己的“键值”;
- 注册表中的键值项可以包含可执行代码,而不是简单的字串;
- 在同一台计算机上,注册表可以存储多个用户的特性。
注册表打开方式
regedit # 打开注册表编辑器的命令
注册表的特点
- 注册表允许对硬件、系统参数、应用程序和设备驱动程序进行跟踪配置,这使得修改某些设置后不用重新启动成为可能。
- 注册表中登录的硬件部分数据可以支持高版本Windows的即插即用特性。当Windows检测到机器上的新设备时,就把有关数据保存到注册表中,另外,还可以避免新设备与原有设备之间的资源冲突。
- 管理人员和用户通过注册表可以在网络上检查系统的配置和设置,使得远程管理得以实现。
注册表结构
注册表以树状结构进行呈现。
注册表根键说明(子树)
HKEY_LOCAL_MACHINE | 注册表里的所有与这台计算机机器有关的配置信息,是一个公共配置信息单元,包括硬件和操作系统数据 |
---|---|
HKEY_USERS | 记录关于动态加载的用户配置文件和默认配置文件的信息 |
HKEY_CURRENT_USER | HKEY_USERS 子树,它指向HKEY_USERS\当前用户的安全ID ,包含当前以交互方式登录的用户的用户配置文件 |
HKEY_CLASSES_ROOT | HKEY_CURRENT_USER 子树,包含用于各种OLE技术和文件类关联数据的信息 |
HKEY_CURRENT_CONFIG | HKEY_LOCAL_MACHINE 子树,包含常被用户在启动时由本地计算机系统使用的硬件软件配置文件相关信息加载的驱动程序,如字体设置、显示器类型、打印机设置,显示的分辨率等 |
实际只有2个根键,为了方便操作才分了5个。
项
可以简单的理解文件夹,项中可以包含项和值。
值
- 每个注册表项或子项都可以包含称为值的数据
- 部分值应用于某个用户的信息
- 部分值应用于计算机所有用户的信息
- 值由三部分组成(值的名称、值类型、值的数据)
注册表的基本操作
- 创建项
- 创建值(有六种类型的值)
- 字符串值(
REG_Sz
):固定长度的文本字符串 - 二进制值(
REG_BINARY
):原始二进制数据。多数硬件组件信息都以二进制数据存储 - DWORD值(
REG_DWORD
):数据由4字节长的数表示。设备驱动程序和服务的很多参数都是这种类型 - QWORD值(
REG_QwORD
):数据由8字节长的数表示 - 多字符串值(
REG_MULTl_SZ
):多重字符串。包含列表或多值的值通常为该类型 - 可扩充字符串值(
REG_EXPAND_Z
):长度可变的数据串。该数据类型包含在程序或服务使用该数据时解析的变量
- 字符串值(
- 修改、删除和重命名值
个性化时间设置
路径:HKEY_CURRENT_USER\Control Panel\International
值:sTimeFormat
在欢迎屏幕显示自定义信息
路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
值:legalnoticecaption
和legalnoticetext
禁用任务管理器
路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
System没有,需要新建一个项
新建DWORD值,然后设置名字DisableTaskMgr
,修改数值为1。
注意名字,区分大小写!!!
DisableTaskMgr
!!!
禁用控制面板
路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Exporer
新建DWORD值,然后设置名字NoControlPanel
,修改数值为1。
去除快捷方式左下角小箭头
路径:HKEY_CLASSES_ROOT\lnkfile
找到IsShortcut
,直接删除。
注册表维护
注册表被破坏后的常见现象
- 无法启动系统
- 无法运行或正常运行合法的应用程序
- 找不到启动系统或运行应用程序所需的文件
- 没有访问应用程序的权限
- 不能正确安装或装入驱动程序·不能进行网络连接
- 注册表条目有错误
注册表被破坏的原因
- 应用程序错误:在系统中安装过多的软件后,可能会出现彼此之间的冲突
- 驱动程序不兼容:安装系统时有很多驱动都是自动安装,容易产生不同硬件驱动程序不兼容情况,建议到官方网站下载对应稳定版驱动进行安装
- 硬件问题:主要出现在硬件质量上,比如硬盘或内存质量不过关造成读写错误、超频、CMOS、病毒等
- 误操作:误操作是最常见的原因,可能会导致注册表出现错误,严重者造成系统崩溃或无法启动系统
备份注册表
- 直接将注册表数据库文件进行备份
- 导出注册表:找到对应项直接选择导出
恢复注册表
- 直接将数据库文件进行覆盖
- 将之前导出的项进行导入
锁定和解锁注册表
路径:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System
新建DWORD值,名字为DisableRegistryTools
,将值设为1表示锁定,设置为0表示解锁。
当注册表被锁定后,Windows自带的注册表编辑器就无法打开,需要使用外部第三方注册表编辑工具来进行打开,找到对应项,修改值为1。
**第三方注册表编辑工具:**RegWorkshop.exe
注册表优化
清除多余的DLL文件
路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\SharedDLLs
这个项下存放的是共享的DLL信息,注意看括号里面的数据,它表示共享文件的数目,如果为0,则可将其删除
安装卸载应用程序的垃圾信息
路径:HKEY_CURRENT_USER\Software
这两个项中包含系统中的应用程序,对于已知的程序是知道的,主要是针对一些未知的程序进行删除和一些已经卸载了的残留
系统安装时产生的无用信息
册除多余时区(必要情况下只保留北京时区)
路径:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
清除多余的语言代码(英语—0409、中文—0804)
路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Locale
删除多余的键盘布局
路径:HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layouts
下面每一个子项代表一种键盘布局