面向高级用户的 Windows 注册表信息

本文介绍 Windows 注册表,并提供有关如何编辑和备份它的信息。

原始 KB 数: 256986

注册表说明

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\SAM Sam、Sam.log、Sam.sav
HKEY_LOCAL_MACHINE\Security Security、Security.log、Security.sav
HKEY_LOCAL_MACHINE\Software Software、Software.log、Software.sav
HKEY_LOCAL_MACHINE\System System、System.alt、System.log、System.sav
HKEY_CURRENT_CONFIG System、System.alt、System.log、System.sav、Ntuser.dat、Ntuser.dat.log
HKEY_USERS\DEFAULT Default、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 脚本文件等脚本来修改注册表。

使用 Windows 用户界面

建议使用 Windows 用户界面更改系统设置,而不是手动编辑注册表。 但是,编辑注册表有时可能是解决产品问题的最佳方法。 如果 Microsoft 知识库中记录了此问题,则将提供一篇针对该问题编辑注册表的分步说明的文章。 建议完全按照这些说明操作。

使用注册表编辑器

警告

如果使用注册表编辑器或使用其他方法错误地修改了注册表,则可能会发生严重问题。 这些问题可能需要重新安装操作系统才能解决。 Microsoft 不能保证可以解决这些问题。 您应自行承担修改注册表的风险。

可以使用注册表编辑器执行以下操作:

  • 查找子树、项、子项或值
  • 添加子项或值
  • 更改值
  • 删除子项或值
  • 重命名子项或值

注册表编辑器的导航区域显示文件夹。 每个文件夹表示本地计算机上的预定义项。 访问远程计算机的注册表时,只显示两个预定义项:HKEY_USERS 和 HKEY_LOCAL_MACHINE。

使用组策略

Microsoft 管理控制台 (MMC) 托管可用于管理网络、计算机、服务和其他系统组件的管理工具。 组策略 MMC 管理单元允许管理员定义应用于计算机或用户的策略设置。 可以使用本地组策略 MMC 管理单元 Gpedit.msc 在本地计算机上实现组策略。 可以使用 Active Directory 用户和计算机 MMC 管理单元在 Active Directory 中实现组策略。 有关如何使用组策略的详细信息,请参阅相应组策略 MMC 管理单元中的帮助主题。

使用注册表项 (.reg) 文件

创建包含注册表更改的注册表项 (.reg) 文件,然后在要进行更改的计算机上运行 .reg 文件。 可以手动或使用登录脚本运行 .reg 文件。 有关详细信息,请参阅如何使用注册表项 (.reg) 文件添加、修改或删除注册表子项和值

使用 Windows Script Host

Windows 脚本宿主允许直接在操作系统中运行 VBScript 和 JScript 脚本。 可以创建使用 Windows 脚本宿主方法删除、读取和写入注册表项和值的 VBScript 和 JScript 文件。 有关这些方法的更多信息,请访问以下 Microsoft 网站:

使用 Windows Management Instrumentation

Windows Management Instrumentation (WMI) 是 Microsoft Windows 操作系统的一个组件,是 Microsoft 基于 Web 的企业管理 (WBEM) 的实现。 WBEM 是一项行业倡议,旨在开发用于在企业环境中访问管理信息的标准技术。 可以使用 WMI 在企业环境中自动执行管理任务(如编辑注册表)。 可以在 Windows 上具有引擎并处理 Microsoft ActiveX 对象的脚本语言中使用 WMI。 还可以使用 WMI 命令行实用工具 (Wmic.exe) 来修改 Windows 注册表。

有关 WMI 的详细信息,请参阅 Windows Management Instrumentation

有关 WMI 命令行实用工具的详细信息,请参阅 Windows Management Instrumentation (WMI) 命令行实用工具 (Wmic.exe) 说明

使用适用于 Windows 的控制台注册表工具

可以使用用于 Windows 的控制台注册表工具 (Reg.exe) 编辑注册表。 有关 Reg.exe 工具的帮助,请在命令提示符处键入 reg /?,然后单击”确定“

还原注册表

要还原注册表,请使用相应的方法。

方法 1:还原注册表项

要还原导出的注册表子项,请双击保存在“导出注册表子项”部分中的注册条目 (.reg) 文件。 或者,可以从备份还原整个注册表。 有关如何还原整个注册表的详细信息,请参阅本文后面的方法 2:还原整个注册表部分。

方法 2:还原整个注册表

要还原整个注册表,请从备份还原系统状态。 有关如何从备份还原系统状态的详细信息,请参阅如何使用备份在 Windows XP 和 Windows Vista 中保护计算机上的数据以及还原文件和文件夹

注意

备份系统状态还会在 %SystemRoot%\Repair 文件夹中创建注册表文件的更新副本。

参考

有关详细信息,请访问以下网站:

已测试产品的 Windows Server 目录是对已测试 Windows Server 兼容性的产品的参考。

Data Protection Manager (DPM) 是 Microsoft System Center 管理产品系列的关键成员,旨在帮助 IT 专业人员管理其 Windows 环境。 DPM 是 Windows 备份和恢复的新标准,为使用无缝集成磁盘和磁带媒体的 Microsoft 应用程序和文件服务器提供持续的数据保护。 有关如何备份和还原注册表的详细信息,请参阅如何备份和还原 Windows XP 和 Windows Vista 中的注册表