MicrosoftWindows注册表说明(理论)Microsoft Windows 注册表说明注册表说明《英汉双解微软计算机辞典》(第 5 版)对注册表的定义是:Microsoft Windows 9x、Windows CE、Windows NT 和 Windows 2000 中使用的中央分层数据库,用于存储为一个或多个用户、应用程序和硬件设备配置系统所必需的信息。
注册表包含Windows 在运行期间不断引用的信息,例如,每个用户的配置文件、计算机上安装的应用程序以及每个应用程序可以创建的文档类型、文件夹和应用程序图标的属性表设置、系统上存在哪些硬件以及正在使用哪些端口。
注册表取代了Windows 3.x 和MS-DOS 配置文件(例如,Autoexec.bat 和Config.sys)中使用的绝大多数基于文本的 .ini 文件。
虽然几个Windows 操作系统都有注册表,但这些操作系统的注册表有一些区别。
注册表数据存储在二进制文件中。
关于编辑注册表的信息要编辑注册表,Microsoft 建议您只按照Microsoft 文档中的步骤执行。
如果可能,请使用 Windows 用户界面,而不要直接编辑注册表。
(转者注:这句的意思是大家修改计算机的设置的时候最好用工具,如组策略,优化大师也是一种工具,而不要直接用注册表编辑器)可以使用注册表编辑器(Regedit.exe 或Regedt32.exe)编辑注册表。
注册表编辑器使用不当可造成严重问题,这些问题可能需要重新安装操作系统。
Microsoft 不能保证可以解决因注册表编辑器使用不当而导致的问题。
使用注册表编辑器需要您自担风险。
管理员可以通过使用注册表编辑器(Regedit.exe 或Regedt32.exe)、组策略、系统策略、注册表文件(.reg) 或通过运行脚本(例如,VisualBasic 脚本文件)来修改注册表。
注册表编辑器的导航区显示文件夹。
每个文件夹代表本地计算机上的一个预定义项。
访问远程计算机的注册表时,只显示两个预定义项:HKEY_USERS 和HKEY_LOCAL_MACHINE。
下表列出了系统使用的预定义项。
项名的最大长度是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_MACHIN E\Software\Classes 下。
HKEY_CURRENT_CONFIG包含有关本地计算机在系统启动时使用的硬件配置文件的信息。
下表列出了Windows 当前定义和使用的数据类型。
值名称的最大大小如下:Windows Server 2003 和 Windows XP: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 Millennium Edition/Windows 98/Windows 95:16,300 字节注意:项的所有值的总大小不得超过64K 的限制。
二进制值REG_BINARY原始二进制数据。
大多数硬件组件信息作为二进制数据存储,以十六进制的格式显示在注册表编辑器中。
DWORD 值REG_DWORD由 4 字节长(32 位整数)的数字表示的数据。
设备驱动程序和服务的许多参数都是此类型,以二进制、十六进制或十进制格式显示在注册表编辑器中。
与之有关的值是DWORD_LI TTLE_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一系列嵌套的数组,用于存储物理硬件设备使用的资源列表。
此数据由系统检测并写入\HardwareDe scription 树,作为二进制值以十六进制的格式显示在注册表编辑器中。
无REG_NONE没有具体类型的数据。
此数据由系统或应用程序写到注册表,作为二进制值以十六进制的格式显示在注册表编辑器中。
链接REG_LINK一个Unicode 字符串,它命名一个符号链接。
QWORD 值REG_QWORD由64 位整数数字表示的数据。
此数据作为二进制值显示在注册表编辑器中,最初用在 Windows 20 00 中。
注册表配置单元是注册表中的一组项、子项和值,它有一组支持文件,这些文件包含其数据的备份。
在Windows NT 4.0、Windows 2000、Windows XP 和 Windows Server 2003 中,除HKEY_CURREN T_USER 之外,所有其他配置单元的支持文件都位于Systemroot\System32\Config 文件夹中;HKEY_CU RRENT_USER 的支持文件位于Systemroot\Profiles\Username 文件夹中。
这些文件夹中的文件的扩展名(有时没有扩展名)表示文件所包含的数据的类型。
HKEY_LOCAL_MACHINE\SAM支持文件Sam、Sam.log、Sam.savHKEY_LOCAL_MACHINE\Security支持文件Security、Security.log、Security.savHKEY_LOCAL_MACHINE\Software支持文件Software、Software.log、Software.savHKEY_LOCAL_MACHINE\System支持文件System、System.alt、System.log、System.savHKEY_CURRENT_CONFIG支持文件System、System.alt、System.log、System.sav、Ntuser.dat、Ntuser.dat.logHKEY_USERS\DEFAULT支持文件Default、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 中的安全功能,管理员可以控制对注册表项的访问权限。