文章编号: 256986 - 查看本文应用于的产品
展开全部 | 关闭全部

本文内容

概要

本文介绍注册表。本文还包含有关如何备份注册表、如何编辑注册表的信息并列出有关更多信息的参考。

更多信息

注册表说明

《英汉双解微软计算机辞典》(第 5 版)对注册表的定义是:
Microsoft Windows 98、Windows CE、Windows NT 和 Windows 2000 中使用的中央分层数据库,用于存储为一个或多个用户、应用程序和硬件设备配置系统所必需的信息。

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

注册表取代了 Windows 3.x 和 MS-DOS 配置文件(例如,Autoexec.bat 和 Config.sys)中使用的绝大多数基于文本的 .ini 文件。虽然多个 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 NT、Windows 2000、Windows XP、Windows Server 2003 和 Windows Vista 中的安全功能,管理员可以控制对注册表项的访问。

下表列出了系统使用的预定义项。项名的最大长度是 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 位版本的注册表编辑器在以下节点下显示 32 位注册表项:
HKEY_LOCAL_MACHINE\Software\WOW6432Node
有关如何在 64 位版本的 Windows 中查看注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
305097 如何通过使用 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+ 类注册数据库以及启动文件。 有关如何使用备份实用工具备份系统状态的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
308422 如何使用 Windows XP 附带的备份工具备份文件和文件夹
320820 如何在 Windows XP Home Edition 中使用备份工具来备份文件和文件夹
326216 如何在 Windows Server 2003 中使用备份功能来备份和还原数据

编辑注册表

若要修改注册表数据,程序必须使用以下 MSDN 网站中定义的注册表函数:
http://msdn.microsoft.com/zh-cn/library/ms724875.aspx
管理员可以通过使用注册表编辑器(Regedit.exe 或 Regedt32.exe)、组策略、系统策略、注册表 (.reg) 文件或通过运行脚本(例如,VisualBasic 脚本文件)来修改注册表。

使用 Windows 用户界面

我们建议您使用 Windows 用户界面更改系统设置,而不是手动编辑注册表。但是,在有些情况下,解决产品问题的最佳方法可能是编辑注册表。如果在 Microsoft 知识库中介绍了此问题,应该会有一篇文章详细说明如何编辑注册表来解决该问题。我们建议您严格按照这些说明操作。

使用注册表编辑器

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。
可使用注册表编辑器执行下列操作:
  • 查找子树、项、子项或值
  • 添加子项或值
  • 更改值
  • 删除子项或值
  • 重命名子项或值
注册表编辑器的导航区显示文件夹。每个文件夹代表本地计算机上的一个预定义项。访问远程计算机的注册表时,只显示两个预定义项:HKEY_USERS 和 HKEY_LOCAL_MACHINE。

使用组策略

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

使用注册项 (.reg) 文件

创建包含注册表更改的注册项 (.reg) 文件,然后在要进行更改的计算机上运行该 .reg 文件。您可以手动运行 .reg 文件,也可以通过使用登录脚本运行它。 有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
310516 如何通过使用注册项 (.reg) 文件添加、修改或删除注册表子项和值

使用 Windows 脚本宿主

Windows 脚本宿主允许您直接在操作系统中运行 VBScript 和 JScript 脚本。您可以创建使用 Windows 脚本宿主方法的 VBScript 和 JScript 文件来删除、读取和写入注册表项和值。有关这些方法的更多信息,请访问下面的 Microsoft 网站:
RegDelete 方法
http://msdn2.microsoft.com/en-us/library/293bt9hh.aspxp
RegRead 方法
http://msdn.microsoft.com/zh-cn/library/x05fawxd.aspx
RegWrite 方法
http://msdn.microsoft.com/zh-cn/library/yfdfhz1b

使用 Windows Management Instrumentation

Windows Management Instrumentation (WMI) 是 Microsoft Windows 操作系统的一个组件,也是基于 Web 的企业管理 (WBEM) 的 Microsoft 实现。WBEM 是一个行业计划,旨在开发在企业环境中访问管理信息的标准技术。您可以使用 WMI 在企业环境中自动执行管理任务(如编辑注册表)。您可以在具有 Windows 引擎并且能够处理 Microsoft ActiveX 对象的脚本语言中使用 WMI。还可以使用 WMI 命令行实用工具 (Wmic.exe) 来修改 Windows 注册表。
有关 WMI 的更多信息,请访问下面的 Microsoft 网站:
http://msdn2.microsoft.com/zh-cn/library/aa394582.aspx
有关 WMI 命令行实用工具的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
290216 Windows Management Instrumentation (WMI) 命令行实用工具 (Wmic.exe) 的说明

使用 Windows 控制台注册表工具

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

还原注册表

若要还原注册表,请使用适当的方法。

还原注册表项

若要还原已导出的注册表子项,请双击您在“导出注册表子项”部分中保存的注册项 (.reg) 文件。也可以从备份中还原整个注册表。有关如何还原整个注册表的更多信息,请参见本文中后面的“还原整个注册表”部分。

还原整个注册表

若要还原整个注册表,请从备份中还原系统状态。 有关如何从备份中还原系统状态的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
309340 如何在 Windows XP 中使用备份工具还原计算机上的文件和文件夹

注意:备份系统状态还将在 %SystemRoot%\Repair 文件夹中创建注册表文件的更新的副本。如果您在编辑注册表后无法启动 Windows XP,则可以通过执行以下 Microsoft 知识库文章的“第一部分”部分中介绍的步骤,手动替换这些注册表文件。
307545 如果注册表已经损坏并导致 Windows XP 无法启动,应该如何恢复

参考

有关详细信息,请访问下面的 Microsoft 网站:
http://technet.microsoft.com/zh-cn/library/cc984339.aspx
http://technet.microsoft.com/zh-cn/library/cc750583.aspx
Windows Server 已测试产品目录收录了已经过测试证实可兼容 Windows Server 的产品。有关已经过测试证实可兼容 Windows Server 的备份产品的更多信息,请访问下面的 Microsoft 网站:
http://www.windowsservercatalog.com/results.aspx?text=backup&bCatID=1282&OR=5&chtext=&cstext=&csttext=&chbtext=
数据保护管理器 (DPM) 是 Microsoft System Center 管理产品系列的主要成员,旨在帮助 IT 专业人员管理 Windows 环境。DPM 是 Windows 备份和恢复的新标准,可为使用无缝集成的磁盘和磁带媒体的 Microsoft 应用程序和文件服务器提供持续的数据保护。有关 DPM 的更多信息,请访问下面的 Microsoft 网站:
http://www.microsoft.com/systemcenter/dpm/default.mspx
有关数据恢复的更多信息,请访问以下 Microsoft 网站:
http://search.technet.microsoft.com/search/Default.aspx?brand=technet&query=Disaster+Recovery
有关如何备份和还原注册表的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows XP 和 Windows Vista 中备份和还原注册表
322755 如何在 Windows 2000 中备份、编辑和还原注册表
323170 如何在 Windows NT 4.0 中备份、编辑和还原注册表
322754 如何在 Windows 95、Windows 98 和 Windows Me 中备份、编辑和还原注册表
有关 Regedit.exe 与 Regedt32.exe 之间的区别的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
141377 Regedit.exe 和 Regedt32.exe 的区别
注意:本篇“快速发布”文章是从 Microsoft 支持组织直接创建的。 文中包含的信息按原样提供,用于响应紧急问题。 由于发布仓促,材料可能包含印刷错误,并且可能随时修订,恕不另行通知。 有关其他注意事项,请参阅使用条款

属性

文章编号: 256986 - 最后修改: 2012年11月30日 - 修订: 1.0
这篇文章中的信息适用于:
  • Windows Vista Enterprise
  • Windows Vista Business
  • Windows Vista Ultimate
  • Windows Vista Home Premium
  • Windows Vista Home Basic
  • Windows Vista Starter
  • Windows Vista Business 64-bit edition
  • Windows Vista Ultimate 64-bit edition
  • Windows Vista Home Premium 64-bit edition
  • Windows Vista Home Basic 64-bit edition
  • Windows Vista Enterprise 64-bit edition
  • Microsoft Windows Server 2003, Enterprise x64 Edition
  • Microsoft Windows Server 2003 Datacenter Edition
  • Microsoft Windows Server 2003 Enterprise Edition
  • Microsoft Windows Server 2003 Standard Edition
  • Microsoft Windows Server 2003 Web Edition
  • Microsoft Windows XP Professional x64 Edition
  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows XP Media Center Edition 2005 Update Rollup 2
  • Microsoft Windows XP Tablet PC Edition
  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Server 4.0 Standard Edition
  • Microsoft Windows NT Server 4.0 企业版
  • Microsoft Windows NT Workstation 4.0 开发员版
  • Microsoft Windows 95
  • Microsoft Windows Small Business Server 2003 Premium Edition
  • Microsoft Windows Small Business Server 2003 Standard Edition
关键字:?
kbresolve kbenv kbinfo kbregistry KB256986
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com