Windows 注册表说明

Windows 注册表说明 [转贴]


第一部分:注册表说明:

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

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

注册表取代了 Windows 3.x 和 MS-DOS 配置文件(例如,Autoexec.bat 和 Config.sys)中使用的绝大多数基于文本的 .ini 文件。虽然几个 Windows 操作系统都有注册表,但这些操作系统的注册表有一些区别。

注册表数据存储在二进制文件中。

系统使用的预定义项:
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 当前定义和使用的数据类型:

二进制值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 中。

注册表配置单元

注册表配置单元是注册表中的一组项、子项和值,它有一组支持文件,这些文件包含其数据的备份。在 Windows NT 4.0、Windows 2000、Windows XP 和 Windows Server 2003 中,除 HKEY_CURRENT_USER 之外,所有其他配置单元的支持文件都位于 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 windboy1982

第二部分:关于编辑注册表的信息
要编辑注册表,可以使用注册表编辑器(Regedit.exe 或 Regedt32.exe)编辑注册表。
编辑注册表涉及以下六种类型的过程:
• 查找项、子项或值
• 添加项
• 添加值
• 更改值
• 删除项或值
• 重命名项或值
查找项、子项或值
共有五个不同的顶级注册表项(也叫配置单元)。它们都以“HKEY”开头,例如:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft
从技术上讲,在这个例子中,HKEY_LOCAL_MACHINE 是一个项,而跟在第一个反斜杠(\)后的任何内容都是子项。在注册表编辑器中,您可以像在“Windows 资源管理器”中搜索文件夹那样搜索项和子项。

项和子项在注册表编辑器左窗格的文件夹树中列出。如果单击左窗格中的项或子项,则有关值名称、类型和数据的信息就会出现在右窗格中。

就像在“Windows 资源管理器”中一样,在注册表编辑器的左窗格中,如果某个项或子项包含子项,该项的文件夹图标旁就会出现一个加号 (+)。如果单击加号,则文件夹会展开,且在其下出现表示子项的子文件夹。在展开项之后,加号将变成减号 (-)。减号表示项已经展开。要折叠项,请单击减号。当您单击减号时,子项文件夹消失,减号变回加号。

注意:本文中所提到的展开项目是指单击该项目旁边的加号。

若要查找在此部分中列出的注册表项,请按照下列步骤操作:
1. 单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
2. 展开“HKEY_LOCAL_MACHINE”。
3. 单击“SOFTWARE”以将其展开。
4. 单击“Microsoft”。

注意:当您单击“Microsoft”子项时,它所包含的不同的值(不是子项)就出现在右窗格中。若要查看子项,请展开“Microsoft”。若要找到某个值,请单击包含该值的子项,然后查看右窗格的内容。
添加项
若要将名为 TestSubkey 的新子项添加到此部分中列出的注册表项中,请按照下列步骤操作:
1. 展开“HKEY_LOCAL_MACHINE”。
2. 展开“SOFTWARE”。
3. 单击“Microsoft”子项。
4. 在“编辑”菜单上,指向“新建”,然后单击“项”。
5. 键入 TestSubkey,然后按 Enter 键。
添加值
若要在“TestSubkey”项中添加一个名为 TestDWORD 的新 DWORD 值,并将其数值数据设置为 1,请按照下列步骤操作:
1. 展开“HKEY_LOCAL_MACHINE”。
2. 展开“SOFTWARE”。
3. 展开“Microsoft”。
4. 单击“TestSubkey”子项。
5. 在“编辑”菜单上,指向“新建”,然后单击“DWORD 值”。
6. 键入 TestDWORD,然后按 Enter 键。
7. 右击“TestDWORD”DWORD 值,然后单击“修改”。
8. 键入 1,然后单击“确定”。
更改值
若要将 TestSubkey 项中 TestDWORD 的 DWORD 值的数值数据更改为 0,请按照下列步骤操作:
1. 展开“HKEY_LOCAL_MACHINE”。
2. 展开“SOFTWARE”。
3. 展开“Microsoft”。
4. 单击“TestSubkey”子项。
5. 右击“TestDWORD”DWORD 值,然后单击“修改”。
6. 键入 0,然后单击“确定”。
重命名项或值
若要将 TestSubkey 项重命名为 Test,请按照下列步骤操作:
1. 展开“HKEY_LOCAL_MACHINE”。
2. 展开“SOFTWARE”。
3. 展开“Microsoft”。
4. 右击“TestSubkey”项,然后单击“重命名”。
5. 键入 Test,然后按 Enter 键。
删除项或值
若要删除 TestSubkey 项中的 TestDWORD 的 DWORD 值,请按照下列步骤操作:
1. 展开“HKEY_LOCAL_MACHINE”。
2. 展开“SOFTWARE”。
3. 展开“Microsoft”。
4. 单击“TestSubkey”子项。
5. 右击“TestDWORD”的 DWORD 值,然后单击“删除”。
6. 单击“是”,以确认您要删除该值。
有关编辑注册表的更多信息,请在注册表编辑器中按照下面介绍的步骤操作:
1. 在“帮助”菜单上,单击“帮助主题”。
2. 在“内容”选项卡上,双击注册表编辑器。
3. 双击“如何…”。
4. 双击“更改项和值”,然后单击所需主题。
使用组策略编辑注册表

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

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

创建包含注册表更改的注册表项 (.reg) 文件,然后在要进行更改的计算机上运行该 .reg 文件。您可以手动运行 .reg 文件,也可以通过使用登录脚本运行它。

.Reg 文件的语法

.reg 文件具有以下语法:

RegistryEditorVersion
Blank line
[RegistryPath1]
"DataItemName1"="DataType1:DataValue1"
DataItemName2"="DataType2:DataValue2"
Blank line
[RegistryPath2]
"DataItemName3"="DataType3:DataValue3"

其中:

RegistryEditorVersion 是“Windows Registry Editor Version 5.00”(对于 Windows 2000、Windows XP 和 Windows Server 2003)或“REGEDIT4”(对于 Windows 98 和 Windows NT 4.0)。“REGEDIT4”表头也适用于基于 Windows 2000、Windows XP 和 Windows Server 2003 的计算机。

Blank line 就是一个空行。它标识新的注册表路径的开始。每个项或子项都是一个新的注册表路径。如果 .reg 文件中有多个项,空白行可以帮助您检查内容和排查其中的问题。

RegistryPathx 是保留要导入的第一个值的子项的路径。请用方括号将路径括起来,并用反斜杠将层次结构的各个级别隔开。例如:
[HKEY_LOCAL_ MACHINE\SOFTWARE\Policies\Microsoft\Windows\System]

一个 .reg 文件可以包含多个注册表路径。 如果注册表中不存在路径语句中底层的层次结构,将创建一个新的子项。注册表文件的内容将按照它们的输入顺序发送到注册表。因此,如果您要新建一个包含另一子项的子项,必须按正确的顺序输入行。

DataItemNamex 是要导入的数据项的名称。如果文件中的数据项在注册表中不存在,.reg 文件将添加该数据项及其值。如果数据项存在,.reg 文件中的值将覆盖现有的值。数据项的名称用引号引起来。数据项名称后紧跟着一个等号 (=)。

DataTypex 是注册表值的数据类型,紧跟在等号后面。对于 REG_SZ(字符串值)以外的所有数据类型,数据类型后都紧跟一个冒号。如果数据类型是 REG_SZ,则不包括数据类型值或冒号。在这种情况下,Regedit.exe 假定数据类型为 REG_SZ。下表列出了典型的注册表数据类型:数据类型 .reg 中的数据类型
REG_BINARY hexadecimal
REG_DWORD dword
REG_EXPAND_SZ hexadecimal(2)
REG_MULTI_SZ hexadecimal(7)

DataValuex 紧跟在冒号(对于 REG_SZ,则为等号)后面,并且格式必须正确(例如,字符串或十六进制)。对二进制数据项使用十六进制格式。

注意:可以为同一个注册表路径输入多个数据项行。

添加注册表子项或添加和更改注册表值

要添加注册表子项或添加/更改注册表值,请在注册表中进行相应的更改,然后导出相应的一个或多个子项。导出的注册表子项自动另存为 .reg 文件。要对注册表进行更改并将更改导出到 .reg 文件,请按照下列步骤操作:
单击“开始”,单击“运行”,在“打开”框中键入 regedit,然后单击“确定”。
找到并单击存放要更改的注册表项的子项。
单击“文件”,然后单击“导出”。

此步骤在您进行更改之前备份子项。如果所作更改产生现问题,您可以随后将此文件重新导入注册表。
在“文件名”框中,键入用于保存包含原始注册表项的 .reg 文件的文件名,然后单击“保存”。

注意:请使用能提示其内容的名称,例如,可引用该子项的名称。
在右窗格中,添加或修改所需的注册表项。
重复第 3 步和第 4 步,再次导出该子项,但是对该 .reg 文件使用不同的文件名。可以使用此 .reg 文件在其他计算机上对注册表进行更改。
在本地计算机上测试所作更改。如果它们产生问题,请双击存放原始注册表数据备份的文件,以将注册表返回到其原始状态。如果更改起到预期作用,则可以使用本文分发注册表更改一节中的方法将您在第 6 步中创建的 .reg 文件向其他计算机分发。


删除注册表项和值

要使用 .reg 文件删除注册表项,请在 .reg 文件中的注册表路径 前放置一个连字符 (-)。例如,要从以下注册表项中删除 Test 子项:
HKEY_LOCAL_MACHINE\Software

请在 .reg 文件中的以下注册表项前放置一个连字符:
HKEY_LOCAL_MACHINE\Software\Test

以下示例就是一个可以执行此任务的 .reg 文件。
[-HKEY_LOCAL_MACHINE\Software\Test]

要使用 .reg 文件删除注册表值,请在 .reg 文件中的数据项名称 后的等号后放置一个连字符 (-)。例如,要从以下注册表项中删除 TestValue 注册表值:
HKEY_LOCAL_MACHINE\Software\Test

请在 .reg 文件中的 "TestValue"= 后面放置一个连字符。以下示例就是一个可以执行此任务的 .reg 文件。
HKEY_LOCAL_MACHINE\Software\Test
"TestValue"=-

要创建 .reg 文件,请使用 Regedit.exe 导出要删除的注册表项,然后使用记事本编辑 .reg 文件并插入连字符。


重命名注册表项和值

要重命名项或值,请删除该项或值,然后创建一个具有新名称的新项或新值。
分发注册表更改
您可以通过电子邮件将 .reg 文件发送给用户;将 .reg 文件放到网络共享上并指导用户到网络共享上运行它;或者向用户的登录脚本中添加命令以便在他们登录时自动导入 .reg 文件。当用户运行 .reg 文件时,他们会收到以下消息:

注册表编辑器
确定要将 .reg 文件路径 中的信息添加到注册表中吗?
如果用户单击“是”,将会收到以下消息:

注册表编辑器
.reg 文件路径中的信息已成功输入到注册表中。
Regedit.exe 支持 /s 命令行开关,以便不显示这些消息。例如,要从登录脚本批处理文件以无提示方式运行 .reg 文件(使用 /s 开关),请使用以下语法:
regedit.exe /s path of .reg file

使用“Windows 脚本宿主”

“Windows 脚本宿主”允许您直接在操作系统内运行 VBSCRIPT 和 JSCRIPT 脚本。您可以创建使用“Windows 脚本宿主”方法来删除、读取和写入注册表项和值的 VBSCRIPT 和 JSCRIPT 文件。

Windows SCRIPT Host注册表删除方法

RegDelete Method
Deletes a key or one of its values from the registry.

object.RegDelete(strName)
Arguments
object
WshShell object.
strName
String value indicating the name of the registry key or key value you want to delete.
Remarks
Specify a key-name by ending strName with a final backslash; leave it off to specify a value-name. Fully qualified key-names and value-names are prefixed with a root key. You may use abbreviated versions of root key names with the RegDelete method. The five possible root keys you can use are listed in the following table.

Root key Name                   Abbreviation
HKEY_CURRENT_USER          HKCU
HKEY_LOCAL_MACHINE        HKLM
HKEY_CLASSES_ROOT          HKCR
HKEY_USERS                   HKEY_USERS
HKEY_CURRENT_CONFIG        HKEY_CURRENT_CONFIG

Example

The following code creates a key and two values, reads them, and deletes them.

[VBSCRIPT]

Dim WshShell, bKey
Set WshShell = WSCRIPT.CreateObject("WSCRIPT.Shell")

WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\", 1, "REG_BINARY"
WshShell.RegWrite "HKCU\Software\ACME\FortuneTeller\MindReader", "Goocher!", "REG_SZ"

bKey = WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\")
WSCRIPT.Echo WshShell.RegRead("HKCU\Software\ACME\FortuneTeller\MindReader")

WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\MindReader"
WshShell.RegDelete "HKCU\Software\ACME\FortuneTeller\"
WshShell.RegDelete "HKCU\Software\ACME\"

[JSCRIPT]

var WshShell = WSCRIPT.CreateObject("WSCRIPT.Shell");

WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\", 1, "REG_BINARY");
WshShell.RegWrite ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader", "Goocher!", "REG_SZ");

var bKey =    WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\");
WSCRIPT.Echo (WshShell.RegRead ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader"));

WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\MindReader");
WshShell.RegDelete ("HKCU\\Software\\ACME\\FortuneTeller\\");
WshShell.RegDelete ("HKCU\\Software\\ACME\\");

第三部分:备份和还原注册表

如何在 Windows XP 和 Windows Server 2003 中备份、编辑和还原注册表

导出注册表项

在编辑注册表项之前,可以按照下面的步骤将其导出:

注意:不要按照这些步骤来导出整个注册表配置单元(例如,HKEY_CURRENT_USER 配置单元)。如果必须备份整个注册表配置单元,应该备份整个注册表。

单击“开始”,然后单击“运行”。
在“打开”框中,键入 regedit,然后单击“确定”。
找到包含您需要编辑的值的注册表项,然后单击它。
在“文件”菜单上,单击“导出”。
在“保存于”框中,选择注册表项 (.reg) 文件的保存位置,在“文件名”框中键入文件名,然后单击“保存”。

备份整个注册表:

若要备份整个注册表,请使用“备份”实用工具来备份“系统状态”。“系统状态”包括注册表、“COM+ 类注册数据库”以及您的启动文件。

还原注册表

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

还原注册表项

若要还原您导出的注册表项,请双击在本文导出注册表项 部分中保存的注册表项 (.reg) 文件,或者从备份中还原整个注册表。

还原整个注册表

若要还原整个注册表,请从备份还原系统状态。

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

如何恢复禁止 Windows XP 启动的已损坏注册表

第一部分
在第一部分中,您依次执行下列操作:启动故障恢复控制台、创建临时文件夹、将现有注册表文件备份到新位置、删除现有位置的注册表文件,然后将注册表文件从修复文件夹复制到 System32\Config 文件夹中。完成此过程之后将创建一个注册表,您可以使用此注册表启动 Windows XP。此注册表是在 Windows XP 最初安装过程中创建并保存的,因此,安装程序完成之后进行的任何更改和设置都将丢失。

要完成第一部分,请按照下列步骤操作:
1.将 Windows XP 启动盘插入软盘驱动器,或将 Windows XP 安装光盘插入 CD-ROM  驱动器,然后重新启动计算机。
按照提示,单击以选中从 CD-ROM 驱动器启动计算机所需的所有选项。
2.出现“欢迎使用安装程序”屏幕时,按 R 键启动故障恢复控制台。
3.如果您使用的是双启动或多启动计算机,请从故障恢复控制台中选择要访问的安装。
4.按照提示,键入管理员密码。如果管理员密码为空,则只需按 Enter 键。
5.在故障恢复控制台命令提示符处,键入下列几行命令,并在每行之后按 Enter 键:
md tmp
copy c:\windows\system32\config\system c:\windows\tmp\system.bak
copy c:\windows\system32\config\software c:\windows\tmp\software.bak
copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak
copy c:\windows\system32\config\security c:\windows\tmp\security.bak
copy c:\windows\system32\config\default c:\windows\tmp\default.bak

delete c:\windows\system32\config\system
delete c:\windows\system32\config\software
delete c:\windows\system32\config\sam
delete c:\windows\system32\config\security
delete c:\windows\system32\config\default

copy c:\windows\repair\system c:\windows\system32\config\system
copy c:\windows\repair\software c:\windows\system32\config\software
copy c:\windows\repair\sam c:\windows\system32\config\sam
copy c:\windows\repair\security c:\windows\system32\config\security
copy c:\windows\repair\default c:\windows\system32\config\default
6.键入 exit 退出故障恢复控制台。计算机将重新启动。
注意:此过程假定 Windows XP 安装在 C:\Windows 文件夹中。如果 Windows XP 安装在不同位置,请确保将 C:\Windows 更改为相应的 Windows 文件夹。
注意:此过程假定 Windows XP 安装在 C:\Windows 文件夹中。如果 Windows XP 安装在不同位置,请确保将 C:\Windows 更改为相应的 Windows 文件夹。

如果您具有对另一台计算机的访问权限,为了节省时间,您可以在第 2 步中复制该文本,然后创建名为“Regcopy1.txt”(举例来说)的文本文件。要创建此文件,请在启动故障恢复控制台时运行以下命令:
batch regcopy1.txt
使用故障恢复控制台中的 batch 命令,您可以按顺序处理文本文件中的所有命令。在使用 batch 命令时,无需手动键入多个命令。
第二部分
要完成本节中介绍的步骤,您必须以管理员或管理用户(在管理员组中具有帐户的用户)的身份登录。如果您使用 Windows XP Home Edition,则可以以管理用户的身份登录。如果以管理员身份登录,则必须先以安全模式启动 Windows XP Home Edition。
在第二部分中,您使用系统还原从注册表文件的备份位置复制这些文件。此文件夹在故障恢复控制台中不可用,而且一般在正常使用过程中不可见。在开始此过程之前,您必须更改多个设置使该文件夹可见:
1.启动 Windows 资源管理器。
2.在工具菜单上,单击文件夹选项。
3.单击查看选项卡。
4.在“隐藏文件和文件夹”下,单击以选中“显示所有文件和文件夹”,然后单击以清除“隐藏受保护的操作系统文件(推荐)”复选框。
5.在出现要求您确认要显示这些文件的对话框时,单击“是”。
6.双击安装 Windows XP 的驱动器以显示文件夹列表。一定要单击正确的驱动器。
7.打开 System Volume Information 文件夹。因为此文件夹被设置为超级隐藏文件夹,所以显示为灰色。

注意:此文件夹包含一个或多个 _restore {GUID} 文件夹,例如“_restore{87BD3667-3246-476B-923F-F86E30B3E7F8}”。

注意:您可能会收到以下错误信息:
C:\System Volume Information is not accessible.Access is denied.
如果收到此信息,请修改该目录的NTFS访问许可。谁的本本是NTFS???
8.打开一个不是当前创建的文件夹。您可能需要单击查看菜单上的详细信息,以查看这些文件夹的创建时间。此文件夹中可能有一个或多个名称以“RPx”开头的文件夹。这些是还原点。
9.打开其中一个文件夹并找到 Snapshot 子文件夹。以下路径是 Snapshot 文件夹路径的示例:
C:\System Volume Information\_restore{D86480E3-73EF-47BC-A0EB-A81BE6EE3ED8}\RP1\Snapshot
10.从 Snapshot 文件夹中,将下列文件复制到 C:\Windows\Tmp 文件夹:
o  _REGISTRY_USER_.DEFAULT
o  _REGISTRY_MACHINE_SECURITY
o  _REGISTRY_MACHINE_SOFTWARE
o  _REGISTRY_MACHINE_SYSTEM
o  _REGISTRY_MACHINE_SAM
11. 如下所示,重命名 C:\Windows\Tmp 文件夹中的文件:
o  将 _REGISTRY_USER_.DEFAULT 重命名为 DEFAULT
o  将 _REGISTRY_MACHINE_SECURITY 重命名为 SECURITY
o  将 _REGISTRY_MACHINE_SOFTWARE 重命名为 SOFTWARE
o  将 _REGISTRY_MACHINE_SYSTEM 重命名为 SYSTEM
o  将 _REGISTRY_MACHINE_SAM 重命名为 SAM

这些文件是系统还原产生的备份注册表文件。因为您使用的是安装程序创建的注册表文件,所以此注册表不知道这些还原点存在并可用。将在 System Volume Information 下创建一个具有新 GUID 的新文件夹,这就创建了一个还原点,该还原点包括在第一部分中复制的注册表文件的副本。所以,一定不能使用最新文件夹,特别是该文件夹的时间戳与当前时间相同时。

当前系统配置无法识别以前的还原点。您必须拥有来自以前还原点的以前的注册表副本,才能使以前的还原点再次可用。

移动复制到 C:\Windows 文件夹中的 Tmp 文件夹中的注册表文件,确保这些文件在故障恢复控制台中可用。您必须使用这些文件替换 C:\Windows\System32\Config 文件夹中的当前注册表文件。默认情况下,故障恢复控制台具有有限的文件夹访问权限,不能从 System Volume 文件夹复制文件。

在 Windows 2000 中备份和还原注册表

如何备份注册表

在您编辑注册表之前,导出该注册表中要编辑的项,或者备份整个注册表。如果出现问题,可执行本文如何还原注册表 部分的步骤将注册表还原到它以前的状态。

如何导出注册表项

在编辑注册表项之前,可以按照下面的步骤将其导出:

注意:不要按照这些步骤来导出整个注册表配置单元(例如,HKEY_CURRENT_USER)。如果必须备份整个注册表配置单元,应该备份整个注册表。
单击开始,然后单击运行。
在打开框中,键入 regedt32,然后单击确定。
找到包含您需要编辑的值的注册表项,然后单击它。
在注册表菜单上,单击保存项。
在“保存在”框中,选择 .reg 文件的保存位置,在“文件名”框中键入文件名,然后单击保存。

如何备份整个注册表

若要备份整个注册表,请使用备份实用程序创建一张紧急修复盘 (ERD) 或备份系统状态(包括注册表、COM+ 类注册数据库和启动文件)。

如何还原注册表项

要还原导出的注册表项,请按照下列步骤操作:
单击开始,然后单击运行。
键入 regedt32,然后单击确定。
在注册表菜单上,单击还原。
选择您保存的文件,然后单击打开。
单击是继续执行操作。

如何还原整个注册表

若要还原整个注册表,请从备份还原系统状态。

注意,如果在创建紧急修复盘时使用此选项备份注册表,备份实用程序还会在 %SystemRoot%\Repair\Regback 文件夹中创建注册表文件的更新副本。如果编辑完注册表后无法启动 Windows 2000,您可以使用“恢复控制台”手动将 %SystemRoot%\System32\Config 文件夹中的注册表文件替换为 %SystemRoot%\Repair\Regback 文件夹中的副本。
posted on 2006-06-28 18:06  蓝色随想  阅读(1818)  评论(0)    收藏  举报