关于 Windows系统注册表信息的理解,千万不可乱删注册表

注册表说明

Microsoft 计算机字典(第五版)将注册表定义为:

Windows 98、Windows CE、Windows NT 和 Windows 2000 中使用的中央层次结构数据库,用于存储为一个或多个用户、应用程序和硬件设备配置系统所需的信息。

注册表包含在操作期间 Windows 持续引用的信息,例如每个用户的配置文件、计算机上安装的应用程序以及每个用户可以创建的文档类型、文件夹和应用程序图标的属性表设置、系统上存在的硬件以及正在使用的端口。

注册表将替换 Windows 3.x 和 MS-DOS 配置文件中使用的大多数基于文本的 .ini 文件,例如 Autoexec.bat 和 Config.sys。 虽然注册表在多个 Windows 操作系统中很常见,但它们之间存在一些差异。 注册表配置单元是注册表中的一组项、子项和值,它包含一组含有其数据备份的支持文件。 除 HKEY_CURRENT_USER 以外的所有配置单元的支持文件都位于 Windows NT 4.0、Windows 2000、Windows XP、Windows Server 2003 和 Windows Vista 上的 %SystemRoot%\System32\Config 文件夹中。 HKEY_CURRENT_USER 的支持文件位于 %SystemRoot%\Profiles\Username 文件夹中。 这些文件夹中文件的文件扩展名指示它们包含的数据类型。 此外,缺少扩展有时可能指示它们包含的数据类型。

展开表

注册表配置单元支持文件
HKEY_LOCAL_MACHINE\SAMSam、Sam.log、Sam.sav
HKEY_LOCAL_MACHINE\SecuritySecurity、Security.log、Security.sav
HKEY_LOCAL_MACHINE\SoftwareSoftware、Software.log、Software.sav
HKEY_LOCAL_MACHINE\SystemSystem、System.alt、System.log、System.sav
HKEY_CURRENT_CONFIGSystem、System.alt、System.log、System.sav、Ntuser.dat、Ntuser.dat.log
HKEY_USERS\DEFAULTDefault、Default.log、Default.sav

在 Windows 98 中,注册表文件名为 User.dat 和 System.dat。 在 Windows Millennium Edition 中,注册表文件名为 Classes.dat、User.dat 和 System.dat。

 备注

Windows 中的安全功能允许管理员控制对注册表项的访问。

下表列出了系统使用的预定义项。 项名称的最大长度为 255 个字符。

展开表

文件夹/预定义项说明
HKEY_CURRENT_USER包含当前登录用户的配置信息的根目录。 用户的文件夹、屏幕颜色和控制面板设置存储在此处。 此信息与用户的配置文件相关联。 此项有时缩写为 HKCU
HKEY_USERS包含计算机上所有主动加载的用户配置文件。 HKEY_CURRENT_USER 是 HKEY_USERS 的子项。 HKEY_USERS 有时缩写为 HKU
HKEY_LOCAL_MACHINE包含特定于计算机(针对任何用户)的配置信息。 此项有时缩写为 HKLM
HKEY_CLASSES_ROOT是 HKEY_LOCAL_MACHINE\Software 的子项。 此处存储的信息可确保使用 Windows 资源管理器打开文件时打开正确的程序。 此项有时缩写为 HKCR。 从 Windows 2000 开始,此信息同时存储在 HKEY_LOCAL_MACHINE 和 HKEY_CURRENT_USER 项下。 HKEY_LOCAL_MACHINE\Software\Classes 项包含可应用于本地计算机上所有用户的默认设置。 HKEY_CURRENT_USER\Software\Classes 项包含覆盖默认设置并仅应用于交互式用户的设置。 HKEY_CLASSES_ROOT 项提供合并这两个源中信息的注册表视图。 HKEY_CLASSES_ROOT 还为针对 Windows 早期版本设计的程序提供此合并视图。 要更改交互式用户的设置,必须在 HKEY_CURRENT_USER\Software\Classes 下而不是在 HKEY_CLASSES_ROOT 下进行更改。 要更改默认设置,必须在 HKEY_LOCAL_MACHINE\Software\Classes 下进行更改。 如果将项写入 HKEY_CLASSES_ROOT 下的项,系统会将信息存储在 HKEY_LOCAL_MACHINE\Software\Classes 下。 如果将值写入 HKEY_CLASSES_ROOT 下的项,并且该项已存在于 HKEY_CURRENT_USER\Software\Classes 下,则系统会将信息存储在该处而不是存储在 HKEY_LOCAL_MACHINE\Software\Classes 下。
HKEY_CURRENT_CONFIG包含有关本地计算机在系统启动时使用的硬件配置文件的信息。

 备注

Windows XP、Windows Server 2003 和 Windows Vista 的 64 位版本中的注册表分为 32 位和 64 位项。 许多 32 位项的名称与 64 位项相同,反之亦然。 64 位版本的 Windows XP、Windows Server 2003 和 Windows Vista 中包含的默认 64 位注册表编辑器版本在节点 HKEY_LOCAL_MACHINE\Software\WOW6432Node 下显示 32 位项。 有关如何查看 64 位版本 Windows 的注册表的详细信息,请参阅如何使用 64 位版本 Windows 查看系统注册表

下表列出了当前定义和 Windows 使用的数据类型。 值名称的最大大小如下所示:

  • Windows Server 2003、Windows XP 和 Windows Vista:16,383 个字符
  • Windows 2000:260 个 ANSI 字符或 16,383 个 Unicode 字符
  • Windows Millennium Edition/Windows 98/Windows 95:255 个字符

(超过 2,048 字节)的长值必须存储为文件,文件名存储在注册表中。 这有助于注册表高效执行。 该值的最大大小如下所示:

  • Windows NT 4.0/Windows 2000/Windows XP/Windows Server 2003/Windows Vista:可用内存
  • Windows Millennium Edition/Windows 98/Windows 95:16,300 字节

 备注

一个项的所有值的总大小有 64K 限制。

展开表

名称数据类型说明
二进制值REG_BINARY原始二进制数据。 大多数硬件组件信息存储为二进制数据,并以十六进制格式显示在注册表编辑器中。
DWORD 值REG_DWORD由 4 字节长的数字表示的数据(32 位整数)。 设备驱动程序和服务的许多参数都是此类型,并以二进制、十六进制或十进制格式显示在注册表编辑器中。 相关值有 DWORD_LITTLE_ENDIAN(最低有效字节位于最低地址)和 REG_DWORD_BIG_ENDIAN(最低有效字节位于最高地址)。
可扩充字符串值REG_EXPAND_SZ可变长度的数据字符串。 此数据类型包括程序或服务在使用数据时解析的变量。
多字符串值REG_MULTI_SZ多个字符串。 包含列表的值或多个人员可以读取的值通常为此类型。 条目用空格、逗号或其他标记隔开。
字符串值REG_SZ固定长度的文本字符串。
二进制值REG_RESOURCE_LIST一系列嵌套数组,旨在存储硬件设备驱动程序或其控制的物理设备使用的资源列表。 系统检测到此数据并将其写入 \ResourceMap 树中,并在注册表编辑器中以十六进制格式显示为二进制值。
二进制值REG_RESOURCE_REQUIREMENTS_LIST一系列嵌套数组,旨在存储设备驱动程序可能的硬件资源列表,该列表可供驱动程序或它控制的物理设备使用。 系统在 \ResourceMap 树中写入此列表的子集。 系统检测到此数据,并在注册表编辑器中以十六进制格式显示为二进制值。
二进制值REG_FULL_RESOURCE_DESCRIPTOR一系列嵌套数组,旨在存储物理硬件设备使用的资源列表。 系统检测到此数据并将其写入 \HardwareDescription 树中,并在注册表编辑器中以十六进制格式显示为二进制值。
REG_NONE没有任何特定类型的数据。 系统或应用程序将此数据写入注册表,并在注册表编辑器中以十六进制格式显示为二进制值
链接REG_LINK命名符号链接的 Unicode 字符串。
QWORD 值REG_QWORD由 64 位整数的数字表示的数据。 此数据在注册表编辑器中以二进制值形式显示,并在 Windows 2000 中引入。

备份注册表

在编辑注册表之前,请导出计划编辑的注册表中的项,或备份整个注册表。 如果出现问题,则可以按照“还原注册表”部分中的步骤将注册表还原到以前的状态。 要备份整个注册表,请使用备份工具备份系统状态。 系统状态包括注册表、COM+ 类注册数据库和启动文件。 有关如何使用备份工具备份系统状态的详细信息,请参阅以下文章:

编辑注册表

要修改注册表数据,程序必须使用注册表函数中定义的注册表函数。

管理员可以使用注册表编辑器(Regedit.exe 或 Regedt32.exe)、组策略、系统策略、注册表 (.reg) 文件或运行 VisualBasic 脚本文件等脚本来修改注册表。

  • 27
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会编程的程序猿 ᅟ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值