注册表详解11-20

原创 2005年04月27日 13:26:00
11、HKEY_USER 根键
AppEvents子键
  HKEY_USERS根键中保存的是默认用户(.DEFAULT)、当前登录用户(如ws)与软件(Software)的信息。
注意:HKEY_USERS/Software中保存的软件信息与HKEY_LOCAL_MACHINE/Software相同。

  HKEY_CURRENT_USER/.DEFAULT下面有八个子键。其中除RemoteAccess子键外,下面是其中几个系统预定义的子键。

# AppEvents:登录已注册的各种应用事件。
# Control Panel:与控制面板设置有关的内容。
# keyboard layout:键盘设置信息。
# Software:软件的有关信息。

  .DEFAULT子键的配置是针对未来将会被创建的新用户的。新用户根据默认用户的配置信息来生成自己的配置文件,该配置文件包括环境、屏幕、声音等多种信息。

Control子键
  Control Panel子键位于HKEY_USERS/.DEFAULT/Control Panel分支上,它所包含的内容与桌面、光标、键盘和鼠标等设置有关。改变它们的键值就将改变对应的工作环境或参数,如下图所示的就是Control Panel的子键结构。
我们可以看到,Control Panel子键下面又有二十几个子键,在这里可能看到全部的子键,你可以打开注册表编辑器加以检证。根据系统配置和设置情况的不同,子键的数目也会不同。例如有的系统中没有Mouse子键,这并不是表示计算机中没有安装鼠标,而是指您从来没有对鼠标器作过任何设置,Windows系统完全采用默认值。 
  虽然Control Panel子键中的键值与环境和特性有直接关系,但很多参数的改变并不要求用户通过修改注册表来实现,而只需通过“控制面板”即可进行修改。也有一些环境特性的改变只能通过修改注册表来实现,例如,改变菜单的弹出延迟时间。

Accessibility子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/Accessibility分支上。
  该子键包含如下两个配置数据:
# Keyboard Preference=0:禁止使用键盘性能功能。 
# Blind Access=0:禁止闪烁存取功能。
  Accessibility子键还包含了十个子键,多数子键在“控制面板”窗口的“辅助选项”图标中都有对应的选项。这些子键的键值名中一般都有一个“On”。当其键值为0时,表示此设置无效;而当其键值为1时,则表示此设置生效。

Appearance子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/Appearance分支上。
该子键下的键值中列出了可供选择的各种颜色和图案。您可以在“控制面板”的“显示属性”对话框的“外观”选项下的“方案”下拉菜单中,看到这些颜色和图案的中文名称。
  在Appearance子键下还有一个Scheme子键,用于设置配色方案的,这些图案使用十六进制数值表示出来。 

Cursors子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/Cursors分支。
它的键值中列出了光标图案所在的文件路径。您可以在“控制面板”的“鼠标”对话框中的“指针”选项下的“方案”下拉菜单中,看到这些颜色和图案的中文名称并进行设置。

Colors子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/Colors分支上。
用于设置桌面上各种项目(如图标、菜单等)的颜色。您可以在“控制面板”的“显示属性”对话框中的“外观”选项下的“颜色”框内,看到这些项目所设置的颜色,如:Scrollbar=192 192 192:设置滚动条的颜色,其中部分设置可以在显示属性窗口内进行设置。其颜色使用RGB格式来组合颜色值。 

desktop子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/desktop分支上。
该子键的键值中列出了桌面和窗口中的各种部件,如窗口边界、标题、图标、菜单、滚动条、消息框的长度、宽度和字体等数据。这些数据可以在“控制面板“的“显示属性”对话框中进行修改。
Desktop子键具有如下的设置数据:
# DragFullWindows=0:确定在拖动窗口时是否显示全窗口形状。若为0,则不显示全窗口。若为1,则显示全窗口。
# FontSmoothing=0:确定是否让字体平滑地显示。若为0,则字体不平滑显示。若为1,则字体平滑地显示。
# Wallpaper=:设置墙纸。
# TileWallpaper=0:设置墙纸的显示方式。
# ScreenSaveTimeOut=840:启动屏幕保护程序的等待时间为840毫秒。
# UserPreferencemask=hex:ae,00,00,00:设置用户的显示性能掩码。此掩码使用十六进制数值表示。
# WallpaperStyle=0:设置用于填充墙纸的周围剩余空间的Active Desktop样式。
# ScreenSaveLowPowerActive=0:确定是否进入屏幕保护的低功耗状态。若为0,则不进入屏幕保护的低功耗状态。
# ScreenSavePowerOffActive=0:确定在进入屏幕保护状态时,是否关闭监视器。若为0,则关闭监视器。
# CursorBlinkRate=500:设置光标闪烁速率。
# MenuShowDelay=400:设置菜单显示的延迟时间。
# ScreenSaveActive=0:确定是否启用屏幕保护程序。若为0,则禁用屏幕保护程序。
# ScreenSaveUsePassword=dword:00000000:确定屏幕保护程序是否使用密码。若为0,则不使用密码。若为1,则使用密码。

在desktop子键下面还有一个子键:WindowMetrics子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/desktop/WindowMetrics分支上。
该子键保存了如何显示窗口的信息。
这些信息显示如下:
# IconSpacingFactor=100:设置图标间距因子。 
# ScrollWidth=-270:设置滚动宽度。 
# ScrollHeight=-270:设置滚动高度。 
# IconSpacing=-1155:设置图标间距。 
# IconVerticalSpacing=-1125:设置图标垂直间距。
# IconFont=hex:09,00,00,00,00,00,00,00,90,01,00,00,... ... :设置图标字体。此字体使用十六进制表示出来。
# CaptionFont=hex:09,00,00,00,00,00,00,00,90,01,00,00,00,... ... :设置标题字体。
# MenuFont=hex:09,00,00,00,00,00,00,00,90,} 01,00,00,00,00,... ... :设置菜单字体。
# SmCaptionFont=hex:09,00,00,00,00,00,00,00,bc,02,00,00,... ... :设置调色板标题字体。
# StatusFont=hex:09,00,00,00,00,00,00,00,90,01,00,00,00,86,00,... ... :设置状态栏字体。
# MessageFont=hex:09,00,00,00,00,00,00,00,90,01,00,00,00,86,00,... ... :设置信息字体。
# BorderWidth=-15:设置边框宽度。
# CaptionWidth=-270:设置标题宽度。
# CaptionHeight=-270:设置标题高度。
# SmCaptionWidth=-210:设置调色板标题的宽度。
# SmCaptionHeight=-210:设置调色板标题的高度。
# MenuWidth=-270:设置菜单宽度。
# MenuHeight=-270:设置菜单的高度。
# Shell Icon Size=32:图标尺寸为32× 32。

Input Method子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/Input Method。
该子键的键值中登录了输入方法切换热键的有关数据。这些数据您可以在“控制面板”中打开“输入法”对话框中的“热键”选项下进行修改。
Input Method子键下有如下配置数据:
# Show Status=1:确定是否显示输入法状态。 
# Parallel Distance=hex:00,00,00,00:设置输入法状态图标与输入法图标之间的水平距离。
# Perpendicular Distance=hex:10,00,00,00:设置输入法状态图标与输入法图标之间的垂直距离。
# Parallel Tolerance=hex:38,00,00,00:设置输入法状态图标与输入法图标之间的最大的水平距离。
# Perpendicular Tolerance=hex:10,00,00,00:设置输入法状态图标与输入法图标之间的最大的垂直距离。
  在Input Method子键下面还有一个Hot Keys子键。
它位于HKEY_USERS/.DEFAULT/Control Panel/Input Method/Hot Keys分支上,用于设置输入法的热键。根据系统中所安装的输入法的个数,在Hot Keys子键下面将有多个用于设置热键的子键,但是其设置方法是类似的。例如,“微软拼音输入法1.5”的热键设置子键位于HKEY_USERS/.DEFAULT/Control Panel/Input Method/Hot Keys/00000011分支上。
其键值数据如下:
# Key Modifiers=hex:04,c0,00,00:设置键盘修改符。
# Target IME=hex:00,00,00,00:设置目标IME。
# Virtual Key=hex:20,00,00,00L:设置虚拟键。

International子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/International分支上。
该子键的键值中登录了表示时间的“上午”和“下午”的数据。这些数据可以在“控制面板”中打开“区域设置”对话框中的“时间”选项下进行修改。

Keyboard子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/Keyboard。
该子键的键值中登录了击键时的重复延时和重复速率。这些数据可以在“控制面板”中打开“键盘”对话框中的“速度”选项下进行修改。
keyboard子键下具有如下键值数据:
# KeyboardSpeed=31:设置键盘的字符重复输入速度。 
# KeyboardDelay=0:设置键盘的字符重复的延缓时间。

Mouse子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/Mouse分支上。
该子键的键值中登录了鼠标的双击速度和指针的移动速度。这些数据可以在“控制面板”中打开“鼠标”对话框中的“按钮”和“移动”选项下进行修改。
Mouse子键下面具有如下设置数据:
# MouseThreshold1=4:设置鼠标双击速度。 
# MouseThreshold2=12:设置鼠标指针轨迹移动速度。
# MouseSpeed=2:设置鼠标速度。 PowerCfg子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/PowerCfg分支上,用于设置电源管理的有关数据。这些数据可以在“控制面板”中打开“电源管理”对话框中的“电源方案”选项下进行修改。
PowerCfg子键具有如下键值数据: 
# CurrentPowerPolicy=0:设置电源方案为“家庭/办公室桌面”。电源方案的序号由PowerPolicies子键下的子键内容确定。

PowerCfg子键下面还有如下两个子键:
(1) GlobalPowerPolicy 子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/PowerCfg/GlobalPowerPolicy分支上,用于设置全局电源方案。该方案是由该子键下面的键值数据确定的: 
# Policies=hex:01,00,00,00,06,00,00,00,03,00,00,00,00,...... :设置全局电源方案数据。
(2) PowerPolicies 子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/PowerCfg/PowerPolicies分支上,用于设置电源方案的序号以及方案数据。
①0子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/PowerCfg/PowerPolicies/0分支上,用于设置“家庭/办公室桌面”的电源方案。
# Name=家庭/办公室桌面:电源方案的名称。
# Description=此方案适用于大多数整天不关电源的家用或桌面计算机。电源方案的描述。#
# Policies=hex:01,00,00,00,02,00,00,00,01,00,00,00,00,00,......。电源方案数据。
②1子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/PowerCfg/PowerPolicies/1分支上,用于设置“便携型/膝上型”的电源方案。
# Name=便携型/膝上型:电源方案的名字。
# Description=此方案是为延长旅途中使用的便携机电池寿命而设计。:该电源方案的描述。
# Policies=hex:01,00,00,00,02,00,00,00,01,00,00,00,00,...... :电源方案数据。
③3子键
  该子键位于HKEY_USERS/.DEFAULT/Control Panel/PowerCfg/PowerPolicies/3分支上,用于设置“始终打开”的电源方案。
# Name=始终打开:电源方案的名称。
# Description=此方案使计算机保持运行,这样,他人可从网络访问该计算机。如果您没有网络唤醒硬件,请使用此方案。:该电源方案的描述。
# Policies=hex:01,00,00,00,00,00,00,00,01,00,00,00,00,00,... ...:电源方案数据。

Keyboard子键
  该子键位于HKEY_USERS/.DEFAULT/keyboard layout分支上。用于设置键盘的布局,如键盘语言的加载顺序等。
  该子键下面提供有如下三个子键:

preload子键
  该子键位于HKEY_USERS/.DEFAULT/keyboard layout/preload分支上,用于设置键盘语言的加载序。Preload子键下面的子键个数与您在系统中所安装的键盘语言有关。

Substitutes子键
  该子键位于HKEY_USERS/.DEFAULT/keyboard layout/substitutes分支,用于设置可替换的键盘语言布局。在通常情况下,此子键的设置是空的。

Toggle子键
  该子键位于HKEY_USERS/.DEFAULT/keyboard layout/toggle分支上,用于选择键盘语言。

Software子键
  Software子键对于不同的机器其键值数据是不同的。此子键其实是HKEY_LOCAL_MACHINE/Software分支的一部分,因为这里只涉及Microsoft公司开发的程序以及Netscape公司开发的Navagiator浏览器 ,而HKEY_LOCAL_MACHINE/Software分支则包括了其他应用程序(如Adobe、Corel、Autodesk等)和Microsoft公司开发的应用程序及Netscape公司的Navagiator浏览器的键值数据。由于Windows中文版内嵌了许多Microsoft公司开发的应用程序(如Internet Explorer 5.0、NetMeeting、FrontPage Express等),因此,该子键在注册表中就显得十分重要。通过修改该子键下,就可以实现Windows的某些重要功能。  

Microsoft子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft分支上,用于设置Microsoft公司开发的应用程序的键值数据。 

(1) Internet Explorer子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/Internet Explorer分支上,用于设置Internet Explorer 5.0的键值数据。

Internet Explorer子键还有一个子键:

Main子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/Internet Explorer/Main分支上,用于设置Internet Explorer 5.0软件的主操作界面。

(2) Java VM子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/Java VM分支上,用于设置Java虚拟机(VM)。

# EnableJIT=hex:01,00,00,00:确定是否允许使用JIT(Java Internet Toolbar)。如果为
“01,00,00,00”,则允许使用JIT。如果为“00,00,00,00”,则禁止使用JIT。
# EnableLogging=hex:00,00,00,00:确定是否允许登录。如果为“01,00,00,00”,则允许使用登录 。如果为“00,00,00,00”,则禁止使用登录。

(3) Windows子键

该子键下面如下子键结构: 

HKEY_USERS/.DEFAULT/Software/Microsoft/Windows
HKEY_USERS/.DEFAULT/Software/Microsoft/Windows/CurrentVersion

CurrentVersion子键用于设置当前Windows版本。其下面有如下子键:

①Applets子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/Windows/CurrentVersion/Applets分支上,用于设置Java Applets(Java小程序)。

②Multimedia子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/Windows/CurrentVersion/Multimedia分支上,用于设置多媒体驱动程序与应用程序。

(4) Outlook Express子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/Outlook Express分支上,用于设置Outlook Express。

(5) Active Setup子键
  该子键具有如下子键结构:
HKEY_USERS/.DEFAULT/Software/Microsoft/Active Setup
HKEY_USERS/.DEFAULT/Software/Microsoft/Active Setup/Installed Components
  该子键中存储了使用Active Setup程序安装组件的信息。Active Setup是Windows最新提供的活动桌面设置程序。

(6) Conferencing子键
  该子键下面具有如下子键结构:
HKEY_USERS/.DEFAULT/Software/Microsoft/Conferencing
HKEY_USERS/.DEFAULT/Software/Microsoft/Conferencing/UI
HKEY_USERS/.DEFAULT/Software/Microsoft/Conferencing/UI/Directory
  Directory子键用于设置Micrososft NetMeeting程序的预设目录服务器个数及其URL地址。
# Count=hex:09,00,00,00:预设的目录服务器的个数(缺省为9个)。

(7) WebPost子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/WebPost分支上,用于设置WebPost程序(这是一个Web发布向导程序,使用此程序可以将FrontPage生成的网页发布到Internet服务器上)。
该子键下面有如下两个子键:
①Logging子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/WebPost/Logging分支上,用于设置WebPost的登录信息。
# LoggingDir=C://PROGRA~1//WebPub~1:设置登录目录。
# WizardLogging=No:确定Web发布向导是否需要登录。若为yes,则需要登录。若为no,则不需要登录。
# WebPostLogging=No:确定WebPost程序是否需要登录。若为yes,则需要登录。若为no,则不需要登录。
②FrontPageWPP子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/WebPost/FrontPageWPP分支上,用于存储FrontPage生成的WebPost的网页(WebPost Page)。

(8) SystemCertificates子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/SystemCertificates分支上,用
于存储系统验证信息。

(9) Internet Account Manager子键
  该子键位于 HKEY_USERS/.DEFAULT/Software/Microsoft/Internet Account Manager分支上,用于设置Internet帐号管理器(InternetAccount Manager)。

# Server ID=dword:0000006b:设置服务器标识。
# Account Name=dword:0000000c:设置帐号名字。
# Default LDAP Account=00000001:设置LDAP(目录服务器)的帐号。
# Default Mail Account=00000008L:设置缺省的电子邮件帐号。
# Default News Account=0000000b:设置缺省的新闻组服务器帐号。

  在该子键下面有一个Accounts子键,用于进一步地设置各种服务器的帐号。对于每种服务器,将在Accounts子键下面提供了类似00000001、00000002等子键,在这些子键中,包含了LDAP目录服务器、电子邮件服务器等。其中LDAP服务器的设置是类似的,而电子邮件服务器的设置也是类似的。在本机器中,00000001子键、00000002子键、......、00000007子键为LDAP服务器,而00000008子键、00000009、0000000a子键为电子邮件服务器。

  下面我们以00000001、00000008子键分别说明LDAP服务器、电子邮件服务器的设置。

①00000001 子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/Internet Account Manager/Accounts/00000001分支上,用于设置SwitchBoard目录服务器有关参数。

# Account Name=SwitchBoard:设置帐号。
# LDAP Server=ldap.switchboard.com:设置目录服务器地址。
# LDAP Authentication=dword:00000000:确定是否需要安全验证。若为0,则不需要安全验证
# LDAP Timeout=dword:00000003:设置连接失败时重试的次数(缺省为3次)。
# LDAP Search Return=dword:00000064:设置目录服务器在搜索时的返回地址。
# LDAP Server ID=dword:00000064:设置目录服务器的标识。
# LDAP Resolve Flag=dword:00000000:设置目录服务器的分析标志。
# LDAP URL=http://www.switchboard.com:设置目录服务器的URL地址。
# LDAP Port=dword:00000185:设置目录服务器的端口地址(缺省为185)。
# LDAP Secure Connection=dword:00000000:确定是否设置安全连接。若为0,则不设置安全连接。
# LDAP Logo=C://PROGRA~1//COMMON~1//Services//swtchbrd.bmp:设置SwitchBoard目录服务器的显示微标。
# LDAP Bind DN=dword:00000000:确定是否设置绑定(Bind)域名服务器(DN)。若为0,则不绑定域名服务器。
# LDAP Simple Search=dword:00000000:确定是否执行简单搜索。若为0,则不执行简单搜索。

     Accounts子键下面其他子键所对应LDAP服务器的帐号
 Accounts子键下面其他LDAP服务器的子键 帐 号 LDAP服务器 LDAP的URL
地址 
00000
002子键 Yahoo! People Search ldap.yahoo.com Http://www.yahoo.com/search/people/ 
00000
003子键 Info
Space ldap.infospace.com Http://www.infospace.com 
0000
0004子键 Info
Space Business ldapbiz.infospace.com Http://www.infospace.com 
00000
005子键 Bigfoot ldap.bigfoot.com http://www.bigfoot.com 
0000
0006子键 WhoWhere ldap.whowhere.com http://www.whowhere.com 
0000
0007子键 Verisign directory.verisign.com Http://www.verisign.com 

②00000008子键
  该子键位于HKEY_USERS/.DEFAULT/Software/Microsoft/Internet Account Manager/Accounts/00000008分支上,用于设置电子邮件服务器的有关参数。

# Account Name=163.net:设置邮件服务器的帐号名称。
# Connection Type=dword:00000002:指定连接类型(此类型由“Internet连接向导”指定)。
# Connectoid=CQ163:设置连接标识。
# POP3 Server=pop.163.net:设置POP3服务器地址。
# POP3 User Name=Wanji:指定POP3用户名称。
# POP3 Password2=hex:01,01,07,00,00,00,16,7f,7f,77,00,00,63:指定POP3服务器的密码。
# POP3 Use Sicily=dword:00000000:确定是否使用“安全密码验证(SPA)”登录。若为0,则不使用“安全密码验证”登录。
# SMTP Server=public.cta.gz.cn:设置SMTP服务器地址。此地址可为本地SMTP服务器的地址。
# SMTP Display Name=王晶:SMTP显示名字。
# SMTP Email mailto:Address=caogjwj@163.net:指定SMTP电子邮件地址。

Accounts子键下面其他子键所对应电子邮件服务器的帐号

子键
名称 帐
号 POP3
服务器 POP3
用户
名 POP3密码 SMPT 
0000
0009
子键 CQ
163 Public.cta.gz.cn Wanji hex:01,01,07,00,00,00,16,7f,7f,77,00,00,63 
 
public.cta.gz.cn 
000
0000a
子键 263
NET pop.263.net Wan
ji_1 hex:01,01,07,00,00,00,16,7f,7f,77,00,00,63 
 
Public.cta.gz.cn 
二、注册表应用
12、DOS下维护注册表的高级技巧
现在随着电脑应用知识的普及,我想,很多朋友对WINDOWS注册表的修改已经有不少经验和心得。在图形界面下对注册表的维护和修改,就不必再提了,但有时候,我们可能会遇到更辣手的事情,如由于人为错误操作或者恶性病毒感染而使系统切底崩溃,不能进入WINDOWS图形界面时,我们对此是否只有重装这种方法呢?本文将就在DOS下面尽量挽救系统这方面作出阐述。
一、 使用scanreg/restore
  我想这种方法大家也比较熟悉了,只要在DOS界面下输入该命令,就可以在最近的5个注册表备份里恢复,如果幸运的话,系统就可以马上恢复。但,事实上,用这种方法有个致命的缺陷就是你只有最近5天的注册表备份可以选择。因为控制着自动备份的scanreg.exe只会在每天第一次启动电脑时备份,如果哪天你安装的程序或者对注册表的修改比较多,那么你的努力就大多白费了。这种方法就正如是眉毛胡子一起抓,正确和错误的都一起改掉,是否能为恢复系统帮上忙,总有一种听天由命的感觉。所以,笔者鼓励大家使用第二种方法。
   二、使用DOS界面的regedit.exe
  如果把scanreg/restore比作是一刀切的话,这种方法更像是一次高明的外科手术,只一矢中的地针对病,把错误修复而完全不影响注册表的其他健康部分。这样,我们就能在最大限度上保留我们的工作成果了。使用regedit.exe对注册表实行局部修改的思路是:首先,把注册表里有嫌疑的分支导出;然后,使用edit对它进行分析和修改;最后,把健康的分支重新导入注册表里。好了,我们来看看整个过程的具体操作。
   1 导出注册表分支
  在DOS下导出注册表分支的命令格式是:Regedit[/L:system]
[/R:user] /E filename [regpath1]。/L:system是指定system.dat的路径,/R:user是指定user.dat的路径,如果不说明,系统就会在默认的路径下找;/E:是导出注册表分支的文件名,regpath1是要导出的注册表分支。比如,我们要导出默认注册表关于控制系统启动的分支到test.reg里,命令如下:regedit /e test.reg HKEY-LOCAL-MACHINE/Software/Microsoft/Windows/Current
Version/Run。
   2 对注册表进行分析、修改
  在DOS下面只要运行edit就能对*.reg文件进行编辑了,因为我们导出的注册表实际上就是文本文件。不过,要正确找出引起错误的地方并修改,需要我们平时对注册表积累的经验。下面,我们看一下它的基本结构,以使我们在对它的修改时可以有的放矢。我们知道,注册表里面有6个主分支,其中容易引起致命错误而使WINDOWS不能正常启动的分支有: [HKEY_LOCAL_MACHINE],记录着本地机器的硬件配置以及安装的相应软件,特别是[HKEY-LOCAL-MACHINE/Enum/PCI]这个分支下面的主键值,一旦出错,WINDOWS往往不能启动。如[HKEY-LOCAL-MACHINE/Enum/PCI
/VEN_8086&DEV-7111&SUBSYS_00000000&REV-01/BUS_00&DEV_07&FUNC-01]记录的是硬盘控制器的详细信息,下面的Logconfig记录着它的各种参数;[HKEY_LOCAL-MACHINE/Enum
/PCI/VEN-1002&DEV-4C42&SUBSYS_4C421071&REV-DC000800]记录的则是显示卡的重要资料和参数,一旦这里出错,往往会导致WINDOWS在启动时黑屏,然后死掉。
  另外还有[HKEY-LOCAL-MACHINE/Software/Microsoft
/Windows/CurrentVersion]里记录着WINDOWS当前版本的信息以及启动时执行的程序等,这是病毒最爱攻击和修改的地方。
  至于还有[HKEY-CLASS-ROOT]是记录文件种类及其关联信息的,[HKEY-CURRENT-USER]里记录着当前用户的各种信息,包括登陆的密码和各方面的设置等,这些一般不会引起WINDOWS的致命错误,这里也不再详细分析了。
  当我们对这些键值分析和修改时,如果碰到什么不清处的地方,可以通过第1点的导出注册表方法,把一些备份注册表的相应分支导出,进行比较。WINDOWS的注册表备份都放在C:/windows/sysbackup里面,如我们要导出第一个注册表备份的[HKEY_LOCAL_MACHINE]分支,那么我们可以先进入该目录,然后键入命令:extract /e rb000.cab *.*,先把system.dat和user.dat解压出来,再键入命令:regedit /L:system.dat /R:user.dat /e backup.reg HKEY-LOCAL-MACHINE。 笔者在这里提醒一下,这是一个很好的解决问题的方法,再用上一些文件比较软件可以很快的找出错误的,请诸位慢慢体会。
   3 把修改好的注册表分支重新导入
  命令的格式为:regedit /L:system /R:user file1.reg file2.reg。我们一般都要修改默认的注册表文件,所以在实际使用中只需键入:regedit file1.reg就行了。   
   好了,讲了这么久,我们看看一个具体的案例。
  学院机房里的一台机器在重新启动后,无论用正常模式或者安全模式都不能进入WINDOWS界面,表现为启动过程中硬盘突然不读。用SCANDISK检查过硬盘,并没有发现问题。在启动过程中选择生成BOOTLOG.TXT文件,发现启动到硬盘控制器后就断掉了。本来想用scanreg/restore恢复备份的注册表,可是该机器为了加快启动,并没有自动备份。于是,用regedit把[HKEY-LOCAL-MACHINE/Enum/PCI]分支导出,键入:regedit /e hdc.reg HKEY-LOCAL-MACHINE/Enum/PCI;接着用EDIT查看关于硬盘控制器的部分,发现有"ChannelOptions"=hex:00,问题到这里终于发现了,原来是有人把IDE控制器设置成不使用,造成在加载硬盘控制器后,系统不能访问硬盘,所以把它改为:hex:02;再键入命令:regedit hdc.reg,把修改后的信息导入。重新启动机器,一切正常运行了。
  这样,在不损坏任何数据的情况下,就把问题解决了。希望这个例子能给大家带来这种DOS下维护注册表技巧的启发,毕竟,我们硬盘上面有很多都是无价的数据。
13、在DOS下使用注册表扫描程序
从windows98之后,windows系统加入了对注册表的管理程序,该程序有两个版本,scanregw.exe工作在windows环境中,Scanreg.exe工作在dos环境.并用一个Scanreg.ini文件与之辅助.介绍该程序For windows版本的文章很多,朋友们可以自己查找参阅.这里仅介绍如何在dos下使用Scanreg.exe程序. 
  由于程序是在dos模式下工作.因此,尽管你的操作系统是中文版的windows,这时出现的也是英文字符界面.程序操作是由命令行和一些选项开关组成.命令只有一个Scanreg,后面是/,之后就是所谓的开关了.如果你键入:Scanreg/?,会出现简单的帮助信息.其具体分析如下: 
  Scanreg/backup 备份注册表的命令.这个命令执行后开始备份注册表,速度很快,备份结束出现dos默认的提示符号. 
  Scanreg/restore 它执行后,系统会列出所备份的注册表文件,至于能列出多少个备份文件,与scanreg.ini文件中的设置有关,一般默认是5个备份文件.每个文件后面都有备份的日期.移动光条,选择一个,执行restore就可以回复选定的注册表. 
  Scanreg /fix 注册表有问题时可以用这个来修复,修复时间较长,也许是我的机器很长时间没有进行过注册表修复操作,我在自己的机器上(P166MMX超频到187MHz,32M内存)执行这个命令后,用了十多分钟,其间有进度条指示修复完成的情况. 
  Scanreg /comment=<"comment"> 这是备份注释文件的命令. 可以将该文件备份为cab格式,由于cab格式是对文件进行压缩后备份的,利用这一点也可以将别的什么文件备份为cab格式.可以减少磁盘空间的浪费.以后有用得着这个文件的时候,先执行Scanreg/restore命令,就可以在恢复文件列表中找到它,如果需要,也可以像恢复注册表文件一样进行恢复. 
  系统出现问题,多数与注册表有关系,这时如果将注册表恢复到较早的一个,说不定就能解决问题.当你遇到的故障使得系统不能工作在windows模式下时,dos模式下恢复注册表就是唯一的选择了,愿我这里介绍的一点点知识,能在你遇到上述难题时,助你一臂之力.
14、在DOS下解决注册表问题
当您的Windows 95/98因注册表问题而无法启动到图形界面时,您此时只有在DOS下使用一些工具软件修复注册表。Windows 95/98的RegEdit、ScanReg是最合适不过的修复与维护工具软件。
在DOS下使用注册表编辑器。
注册表编辑器Regedit.exe其实是一个双栖型的程序,既可在DOS下运行,也可在Windows 95/98下运行。许多用户可能已经知道在Windows下使用Regedit 的方法,那么,&127;在DOS下如何使用注册表编辑器呢?
在DOS提示符下键入Regedit命令,将出现一个帮助屏。此屏幕给出了其命令行参数及其使用方法。
语法: 
Regedit [/L:system] [/R:user] filename1 
Regedit [/L:system] [/R:user] /C filename2 
Regedit [/L:system] [/R:user] /E filename3 [regpath] 
其中: 
/L:system 指定system.dat文件的存放位置。 
/L:user 指定user.dat文件的存放位置。 
filename1 指定引入注册表数据库的文件名。 
/C filename2 指定形成注册表数据库的文件名。 
/E filename3 指定导出注册表文件的文件名。 
regpath 指定导出注册表文件的开始关键字(缺省为全部关键字) 
现举几个例子说明regedit.exe在DOS下的使用方法。
【例1】 将系统注册表数据库registry导出到reg1.reg文件中。
regedit /E reg1.reg 
【例2】 reg1.reg形成系统注册表数据库registry(全部)中。
regedit /C reg1.reg 
【例3】 将reg.dat引入系统注册表数据库中(部分)。
regedit reg.dat 
【例4】 将CGJ开始的关键字导出注册表数据库,并命名为cgj.reg。
regedit /E cgj.reg cgj 
【例5】 指定system/dat存放在D:/PWIN中和user.dat存放在E:/PWIN中,将reg.dat数据文件形成一个新的注册表数据库registry。
regedit /L:D:/PWIN /R:E:/PWIN /C reg.dat 
下面介绍当您在启动Windows时出现如图1所示的对话框时,使用RegEdit来恢复注册表的方法。
1.首先在安全模式下导出,然后再引入注册表文件
(1) 关闭计算机后,重新启动,在出现“Starting Windows95”或者“Starting Windows98”时,按F8键,在启动菜单中选择“Safe mode command prompt only”,则系统进入安全模式。
(2) 执行如下命令:
regedit /l:c:/windows/system.dat /e c:/system.txt (导出注册表)
cd/windows (Windows95/98系统目录)
attrib -s -h -r system.dat(去掉SYSTEM.DAT的系统、隐含、只读属性)
ren system.dat system.old (将当前的SYSTEM.DAT文件改名)
regedit /l:c:/windows/system.dat /c c:/system.txt (引入注册表)
(3) 重新启动计算机,以正常方式启动Windows 95/98系统,如果错误仍出现,可以在安全模式下使用如下命令:
regedit /l:c:/windows/user.dat /e c:/user.txt (导出注册表)
cd/windows
attrib -s -h -r user.dat(去掉USER.DAT的系统、隐含、只读属性)
ren user.dat user.old (将当前的USER.DAT文件改名)
regedit /l:c:/windows/user.dat /c c:/user.txt (引入注册表)
2.重新启动计算机,以正常方式启动Windows95/98系统,如果错误仍出现,可以恢复系统至最后一次成功运行时的注册表。
(1) 关闭计算机后,重新启动,进入安全模式。
(2) 执行如下的命令:
cd/windows
attrib -s -h -r system.dat 
ren system.dat system.bad 
(3) 重新启动Windows95系统,在启动时,系统如果没有发现system.dat文件,就会使用System.da0文件,系统会自动将System.da0文件改名为system.dat。
3.如果仍有启动错误出现,则恢复系统至第一次成功运行时的注册表。
(1)在关闭计算机后,重新启动,进入安全模式。
(2) 执行如下命令:
cd/windows
attrib -s -h -r system.dat 
ren system.dat system.*** 
cd attrib -s -h -r system.1st (此文件在启动盘的根目录下,通常在C:/)
copy system.lst c:/windows/system.dat(使用system.lst替代system.dat)
attrib +s +h +r system.lst (加上属性)
4.重新启动Windows95系统,如果仍有错误发生,再重新安装Windows95/98系统。
在DOS下使用ScanReg
在DOS下执行ScanReg/?命令,则出现一个帮助信息屏。该屏幕将给出ScanReg的使用方法:
ScanReg /[Option]
其中Option可为?(获取帮助信息)、BACKUP(备份注册表)、RESTORE(恢复注册表)、FIX(修复注册表)、COMMENT(将说明信息加入到备份注册表文件.CAB中)。
例如:
1.在DOS下执行ScanReg /BACKUP,则将注册表备份到.CAB文件中。
2.执行ScanReg /FIX,则修复注册表中的错误。
3.执行ScanReg /RESTORE,则将注册表恢复过来。
15、管理Win9X注册表
1.注册表的备份及恢复
  注册表被破坏时就会导致系统发生问题甚至瘫痪,所以需要备份注册表以便在注册表受到破坏时恢复它。常见的注册表备份方法有三种:
  (1) 直接将注册表文件System.dat和User.dat拷贝到硬盘指定的目录下或直接拷贝到软盘上作为备份。恢复时将该备份替换覆盖回原处即可。
  (2) 运行Regedit.exe。打开注册表编辑器后,利用菜单的“导出”及“引入”功能来备份、恢复注册表信息。具体方法为:打开“注册表”下拉菜单,单击“导出注册表文件”项,在出现的对话框中键入欲备份注册表的文件名及其保存位置,再单击“保存”即可。需要恢复注册表时,用同样的方法打开注册表编辑器,打开“注册表”下拉菜单后点击“引入注册表文件”,在出现的对话框中选中需恢复的备份文件,再按“打开”按钮即可将该注册表备份文件恢复到系统中。
  (3)Win98新增的自动备份注册表功能可自动备份注册表。在用户每天第一次开机时,Win98将自动把系统中原来的注册表信息压缩成.cab文件,以rb00*.cab之名存放在Windows/Sysbackup目录下,系统自动保存最近五次开机时的注册表数据。需要恢复时,可以用Windows自带的Extract.exe(在Windows/Command目录下)解开该压缩文件,恢复替换回原注册表文件即可。另外,还可用WinZip7.0等压缩软件解开所需的rb00*.cab备份压缩文件,将它覆盖回原位置即可。
  2.修改注册表
  为了充分发挥系统的性能,有必要对注册表进行适当的修改(但是,如果你对注册表不太熟悉的话,请不要轻易修改它)。例如,通过修改注册表可以加快网络传输速度。具体操作如下:运行Windows目录下的Regedit.exe,出现编辑窗口时单击“编辑”菜单的“查找”命令,在查找框内键入“MaxMTU”后回车,找到该键值名后,右击它,在快捷菜单中单击“修改”,将其值设为576;用同样的方法将该窗口的“MaxMSS”值设为536;将“DefaultRcv Windows”的值设为3216;将“Default TTL”的值设为64。如果该窗口中缺少某一项,就右击窗口右边空白处,在快捷菜单中单击“新建/字符串值”,键入相应的名字,再将其值设为上面数据即可。关于注册表更详细的修改方法见《1999年电脑报合订本》(上)附录。
  3.对Win95/97注册表的管理
  目前很多系统仍使用Win95/97,但它对系统没什么保护功能。在Win98中,微软新增了一个注册表检测软件:ScanReg。当注册表出现问题时,它会提示你重新启动系统恢复注册表。目前注册表检测软件分为DOS版的ScanReg.exe和Windows版的ScanRegw.exe,只要输入ScanReg,系统就启动相应版本,对注册表进行压缩备份,并将备份存放在Windows/Sysbackup目录下,当注册表出错时,就使用备份文件覆盖掉坏注册表文件。把Win98的ScanReg拷贝到Win95/97中使用仍可以实现对系统注册表的保护。具体方法为:把Win98的Windows/Command目录下的ScanReg.exe和Windows目录下的ScanReg.ini、ScanRegw.exe拷贝到Win95/97的相应目录中。为了达到每次启动Win95/97就检测和自动保存,我们要做一个快捷方式到“启动组”中,在“开始”按钮上单击鼠标右键,选择“打开”,一层层打开到“启动组”文件夹,把刚才做好的ScanReg快捷方式放进去,这样,Win95/97就和Win98的注册表保护功能完全一样。
  4.用软件管理注册表
  现在有很多用于管理注册表的软件,例如:注册表修改软件Reg2000;注册表监视软件Regmon;注册表清理软件Regclean等。下面以微软公司开发的Regclean为例说明用软件对注册表的管理。在频繁的安装和卸载一些软件时,注册表中会留下许多垃圾信息,你可以通过运行Regclean删除这些无用的表项,并把所做的修改存放在一个Undo文件中,用户可随时恢复。经过Regclean的处理,系统性能得到很大的提升,尤其是缩短了系统的启动时间。而且只要系统一启动,Regclean就会搜索注册表,如果发现错误,只要按一下FixError就大功告成了。Regclean清理注册表后,会产生一个*.reg文件,里面的内容是刚被清理出的注册表项,可以用各种字处理软件打开查看,但请注意:不能直接选“打开”(即:把它们加入注册表),否则这些垃圾信息就会重新登录到注册表中,刚才的FixError工作就白做了。
16、WIN98注册表编辑器的常用操作
注册表编辑器是一个可以让你改变系统注册设定的高级工具WIN98注册表编辑器的常用操作注册表编辑器是一个可以让你改变系统注册设定的高级工具,有经验的Windows用户可以通过编辑注册表改变系统设定。
  启动注册表编辑器的方法是执行Windows文件夹下的REGEDIT.EXE。如果注册表中有错误,计算机可能不能正常运行。如果发生这种情况,可以将注册表信息恢复到上次启动计算机时的状态。下面详细介绍Win98注册表编辑器常用的操作。
  一、恢复注册表
  1.单击“开始”,再单击“关闭系统”;
  2.单击“重新启动计算机并切换到MS-DOS方式”,然后单击“是”;
  3.进入Windows目录下。例如,如果你的Windows安装在C:/Windows目录下,应键入以下内容CD C:/WINDOWS后回车;
  4.在MS-DOS模式下键入
C:/WINDOWS/COMMAND/SCANREG/RESTORE后回车。
  按照上述步骤,可以将注册表恢复到最后一次启动计算机时的状态。
  二、将注册表中的所有内容导出到一个文本文件中
  1.在注册表编辑器中单击“我的电脑”将导出所有注册表信息,或者单击一个文件夹仅仅导出该文件夹下内容的注册信息; 
  2.在“注册表”菜单上单击“导出注册表文件”; 
  3.单击“浏览”为导出的文件寻找一个存储位置,即文件夹,然后为之输入一个文件后保存。
  这样导出的注册表信息文件,可以在任何一种文本编辑器中编辑。
  三、导入或局部导入注册表
  1.在“注册表”菜单中,单击“导入注册表文件”;
  2.单击“浏览”找到要导入的文件,然后单击“打开”。
  四、添加主键
  1.打开注册表列表,找到要添加主键的文件夹;
  2.右击要加入主键的文件夹;
  3.将鼠标指向“编辑”菜单下的“新建”,然后单击“主键”;
  4.新的主键是以一个临时名字显示的,为新的主键输入一个名字,然后回车即可;如果添加新的主键后,导致了计算机不能正确启动的情况,可以恢复注册表信息。
  五、添加键值
  1.打开注册表列表,选中要添加新键值的文件夹;
  2.右击要添加新键值的文件夹;
  3.将鼠标指向“新建”,然后单击需要添加键值的类型。这些类型包括“字符串值”、“二进制值”和“DWORD”值;
  4.新添加的键值以一个临时键值显示,为新添加的键值输入一个新的值,然后回车即可。

17、注册表完全恢复手册
  注册表是伴随着Win95出现在我们面前的,其实它早就在NT中担当起了重要的作用。采用注册表来管理系统配置,主要是为了提高系统的稳定性。而系统出现的一些问题(如无法启动、应用程序无法运行、系统工作不正常等),很多都是因注册表出现错误而造成的,通过修改相应的错误数据就能使得Windows工作如初了。但注册表的结构太复杂,不正确的修改常常会带来更坏的结果。下面介绍几种安全恢复注册表的方法,希望能帮助大家远离令人头疼的注册表问题。
      未 雨 绸 缪 篇
      Win9X系列操作系统的注册表,实际上是一个数据库,它以分层结构存储着整个计算机的系统配置以及大量应用程序的安装使用时要调用的各种信息等。它由3个相对独立的注册表文件组成;
      系统配置注册表文件:system.dat、用户平台配置注册表文件user.dat和网络管理注册表文件config.pol。它们存储在Windows目录中,其中system.dat中存储着当前计算机的配置,特别是各种即插即用设备的硬件配置,如设备的I/O地址、中断号(IRQ)以及DMA的值等;
      user.dat主要用来定义用户的优先权,存储着特定于某一用户的应用程序的安装信息等;
      而config.pol则是只有当Win98的用户安装了系统策略编辑器后才会生成的注册表文件,它存储的设置可以对网络用户的操作做出限制。一般而言,组成一个完整的注册表文件系统,system.dat和user.dat这两个文件是必不可少的。
      一、文件备份还原法
      显然,及时、正确的备份能够在计算机发生意外时,比较完全地恢复整个工作进程。对注册表进行的备份也一样,利用在正常工作状态下备份的注册表可以用来恢复发生错误的注册表,从而达到使系统重新恢复正常工作的目的。
       (一)备份
       1、简单拷贝法
      备份注册表就是备份system.dat和user.dat这两个文件。它们的文件属性都是系统、隐藏、只读的,因此一般情况下无论在DOS还是Windows窗口状态都是不可见的,在备份时要注意使用一些“技术”。
      在DOS状态下,请先进入Windows目录,然后键入命令“Attrib -h -r -s system.dat”,对于user.dat同样操作,此时就可以将这两个文件复制到其他的目录中去了。
在Windows窗口状态下,在【查看】中选择【文件夹选项】→【查看】,在【隐藏文件】中选择【显示所有文件】,这样system.dat和user.dat才能在文件夹窗口中显示出来。剩下的复制工作应该就不用我多说了吧。
      2注册表导出法
      将注册表导出,也是一种不错的注册表备份方法。在【开始】→【运行】栏中运行【Regedit.exe】,选【注册表】→【导出注册表】,最后选择导出注册表文件的存储位置就可以了。要注意的,在导出注册表时,千万要在【导出范围】中选择【全部】,否则导出的注册表文件不完全,将无法用来恢复原注册表。采用此方法备份后只生成一个文件,它的文件名的后缀是.reg。
       (二)还原
        1、简单拷贝法的还原
        还原的方法当然是重新用备份的文件覆盖现有文件。不过要注意的是,在覆盖现有文件前,同样得先将system.dat和user.dat的文件属性全部取消,否则系统会拒绝覆盖操作。在还原前请务必启动到DOS状态下,然后再进行此操作。千万不要在Windows或Windows的DOS窗口下进行此还原操作,否则不但不能恢复注册表,反而会对注册表产生极大的破坏。
       2、注册表导出法的还原
       利用注册表导出法的注册表文件还原系统时,既可以在Windows下进行,也可以在DOS下进行。
      在Windows下进行时,运行注册表后选【注册表】→【导入注册表】,选择要导入注册表文件的所在位置,重新启动后就可以恢复注册表。虽然此法无论在安全模式还是正常方式下都可以进行,但为了保险起见,笔者还是建议最好在安全模式下或是干脆用下面介绍的在DOS下进行操作。
     在DOS下只能以命令行的方式运行Regedit.exe,但它可以解决无法进入Windows情况下的注册表恢复问题。其命令行形式:
 Regedit [/L: system] [/R: user] filename1
 Regedit [/L: system] [/R: user] /C filename2
 Regedit [/L: system] [/R: user] /E filename3 regpath1
 Regedit [/L: system] [/R: user] /D regpath2
参数含义:
/L: system 指定system.dat文件的存放位置;
/R: user 指定user.dat文件的存放位置;
filename1 指定导入的注册表数据库文件名;
/C filename2 利用指定的注册表文件重新生成注册表;
/E filename3 导出注册表文件为指定文件名;
regpath1 将指定开始关键字的部分从注册表文件中导出;
/D regpath2 将指定开始关键字的部分从注册表文件中删除
  具体在恢复注册表时,可以采取命令行1的形式:Regedit bak.reg(假设你导出的备份注册表文件为此文件名)。
      不过建议采用命令行2的形式,即:Regedit /C bak.reg,因为此命令不但会将bak.reg中的所有信息导入注册表,而且会将其中的一些无用的信息(如一些已经被删除的程序在注册表中的残留部分关键字等)同时剔除,从而达到压缩重建注册表的目的。
      顺便提一下,命令行2也不一定要在恢复注册表才使用,平时运行也能压缩、清除注册表中的“垃圾”,从而起到提高Windows启动速度,减少注册表错误发生几率的作用。笔者就曾经利用此命令将原来6兆的注册表压缩为4兆。要注意的是,在使用此命令时,请务必在运行前加载磁盘缓冲smartdrv,否则它的运行时间之长或许足够你去看一场电影了!
     二、系统备份法
     正是由于注册表对于系统的重要性,微软在开发Win95时就考虑到系统对于注册表的自动备份问题。尽管它所提供的功能直到Win98才令人稍感满意,但毕竟这也不失为修复注册表的方法之一。
     (一)Windows 95
      当初Win95各版本中提供的系统自动备份注册表的方法比较简单,通常是在Windows系统启动的同时,将当前的注册表文件备份。具体的做法就是将system.dat和user.dat这两个文件分别备份为相同属性的system.da0和user.da0。因此,当系统因注册表遭破坏无法启动时,可以手工将system.da0和user.da0这两个文件拷贝并覆盖system.dat和user.dat(请注意在操作前,分别将这4个文件的文件属性全部取消)。尽管这种想法不错,但由于疏忽和一些无法预料情况的发生,系统自动备份的注册表经常会在不知不觉中被破坏或备份失败。例如:
      ①当注册表的破坏是在上次关机以前发生的,而当你再次启动系统时,备份的注册表其实就是已经遭破坏的注册表的“完全”拷贝了;
      ②启动时注册表为正确的,此时系统自动备份的注册表也是好的,但在系统启动过程中发生意外(如突然停电、硬盘意外读写错误等)导致系统启动失败,当你再次启动时,原来完整的注册表备份也会被已经遭破坏的注册表覆盖。因此,利用system.da0和user.da0这两个备份文件来恢复注册表的效果不是十分令人满意,成功率一般在50%左右。要注意在一次启动失败后,尽量不要试图再次启动,应该立即用system.da0和user.da0这两个文件来覆盖恢复,否则90%以上你的系统是再也无法恢复的了。
      (二)Windows 98
       Win98对注册表文件备份系统的改进之处主要体现在以下两个方面:①备份文件不仅包括system.dat和user.dat,还包括了system.ini和win.ini这两个初始化文件,大大提高了系统还原的完整性;②备份文件被统一地压缩在一个文件中,而且备份压缩文件的数量大大增加,避免了在Win95下一个备份容易发生错误无法恢复的现象。
      Win98将注册表的备份文件放在了Windows下面的隐藏子目录Sysbckup中,备份文件以rbX为名,都是CAB格式的压缩文件,每个文件包含system.dat、user.dat、system.ini和win.ini。默认情况下,系统共留有5个(X从000到004,如果某次有错误,数字往后顺延)压缩包备份,这5个压缩包备份分别是你最近5个工作日中第一次启动计算机时系统所做的备份。请注意,并不是最近5次,举个例子,如果你每天都使用计算机,那么这5个备份中保存的分别是5天来每天你第一次启动计算机时的注册表文件。当某次启动发生错误时,系统会将这时的注册表文件另外保存为rbbad.cab,以供使用者分析、寻找发生错误的原因所在。
     了解了Win98的备份原理后,对于注册表的还原就比较轻松了。如果你可以进入Windows(哪怕是安全模式),想进行备份还原的话,只要用Winzip等支持CAB压缩格式的软件选择最近的或是前几天的备份压缩包文件,并将其中的4个文件解压出来,重新启动计算机到DOS状态,利用这些文件覆盖相应同名文件就可以了。如果你在启动的时候就无法进入Windows的话,那么可以尝试在DOS下进行备份还原工作:
      ①利用Windows提供的extract.exe文件,用命令行方式将备份文件展开,直接对系统注册表文件进行覆盖还原(假设当前目录为Windows):extract /Y. Sysbckup/ rbX.cab,其中X为000~004。
      ②利用Windows附带的scanreg.exe,在DOS状态下运行此程序,按提示选择检查注册表,在程序检查完注册表后,可以看到【Create Backups】和【View Backups】这两项,前者用来将当前的注册表备份下来,后者用来查看以前备份的注册表情况。选择后者,屏幕将显示近日来的各备份注册表文件情况(主要是备份的时间),选择你想还原的备份,按回车,然后选择【Restore】开始还原,还原完毕后选择【Restart】重新启动计算机就可以了。
      注意,当你第一次启动计算机失败后,请不要不断地继续尝试启动计算机,因为scanreg.exe会将启动失败的注册表都一一依次备份下来,如果你连续启动失败5次的话,也就意味着原先备份的5个完好的注册表都将被这连续5次的坏注册表所替代,也就失去了利用它们来还原系统注册表的机会。因此,在启动失败后,请尽量不要一而再再而三地连续启动,应及时地进行注册表还原工作。
      亡羊补牢篇
      古人云:亡羊补牢,为时未晚。如果你从来就没有备份注册表的习惯,或是在Windows下所有的系统自动备份都已经如前所述被已遭破坏的注册表文件所替代了的话,那么试试下面的方法,或许能使你的机器再次正常地运转起来。
      一、保守还原法
      一般而言,当Win9X在成功安装完毕后,会自动将第一次正常运行时的系统信息(其实也就是注册表信息,主要是相应的硬件信息)保存在C盘根目录下的system.1st这个文件中。利用它,有可能将系统恢复到最初安装时的状态。具体的做法如下:在DOS下,首先去除system.1st以及Windows目录下system.dat的文件属性(它们都是系统、只读、隐藏属性),然后将system. 1st拷贝为system.dat来覆盖系统的system.dat,最后重新启动计算机。如果启动成功,还得对系统进行大幅度地调整才能恢复到破坏前的状态。
      二、“李代桃僵”法
      如果有和你的硬件配置大致相同的计算机,可以用那台计算机上的注册表文件(system.dat和user.dat)来覆盖自己计算机上的注册表文件,然后启动。如果可以进入Windows,再对系统做相应的修改,就能恢复如初了。尽管这种方法成功的概率比较小(大约在25%左右),但这也是不得已而为之,或许能将你的“死马”真的医活了。
      如果上面的招数对你都无效,那我再教你一记“超级绝招”—准备好你的Windows安装光盘,然后Setup吧!笔者凭着对注册表的了解(经常在里面修修改改)以及以上几大绝招,创造了自上年10月安装Win98至今没有重新安装的个人新记录。(摘自注册表之家)
18、Windows2000注册表的备份与恢复
  Windows 2000 将它的配置信息存储在名为注册表的数据库中,其中包含了每个计算机用户的配置文件,以及有关系统硬件、已安装的程序和属性设置等信息,Windows 2000 在运行过程中要一直引用这些信息。注册表是以二进制形式存储在硬盘上,错误地编辑注册表可能会严重损坏系统。所以,在更改注册表之前,强烈建议备份注册表信息。为了防止在修改注册表的时候发生致命错误,有必要了解一下注册表文件的备份和恢复方法。除此之外,为了研究注册表的结构,还可以将注册表中的某一主键或子键保存为文本文件,或者打印出来,这项工作同样需要了解注册表文件的导入与导出方法。
  一、完全备份/恢复注册表
  如果要完全备份注册表,可以在注册表编辑器Regedit.exe中单击“注册表”菜单下的“导出注册表文件”命令,并选择导出范围为“全部”,将注册表文件(*.reg)保存在硬盘上即可。要完全还原注册表的方法同上,只需要单击“注册表”菜单下的“导入注册表文件”命令,然后选择硬盘上相应的备份注册表文件即可。顺便提一下,Regedit.exe(16位的注册表编辑器)包含在 Windows 2000 中的主要原因是其搜索功能比较强,用户同样可以使用 Regedit.exe 更改注册表,但其功能不够全面(如无法设置注册表项的权限),可能无法正确查看或编辑个别数据类型。因此,建议只将 Regedit.exe 用于搜索及注册表的完全备份,在需要编辑注册表时,使用system32目录下的 Regedt32.exe(它是32位注册表编辑器,提供了一些高级功能,采用多窗口格式显示各预定义项,查看起来比较方便)。
  二、部分备份注册表
  如果只需要保存一个根键或者一个主键(子键)等一般的备份,在Regedt32中就可以比较方便地完成。首先选择要保存的主键或子键,然后再单击“注册表”菜单下“保存项”命令,在弹出的“保存项”对话框中输入要保存的注册表文件的文件名,扩展名建议使用“reg”,便于今后查找。 
  在保存某些主键或子键时,因为其使用的用户不同,或者是该主键或子键正在被系统使用,会出现禁止访问的警告:“权限不足,无法保存项”。这时系统管理员可以使用“安全”菜单下的“权限”命令,对这些主键或子键的用户赋予“完全控制”的权限(具体操作参见第15期《电脑报》软件世界中“Windows 2000 注册表直通车(上)”一文),然后就可以保存该项了。 
  将注册表主键或子键保存为“项”文件,无法直? 文本编辑器打开查看,所以想研究注册表的结构的话,可以将注册表文件导出为文本文件,操作的方法是选择“注册表”菜单下“将子目录树另存为”命令,将其命名为扩展名为TXT的文件后,再单击“保存”按钮即可。以后我们就可以使用Windows的写字板或记事本来查看这个文本文件了。如果需要,也可以使用同一菜单下的“打印子目录树”命令来打印。
  三、部分恢复/导入注册表
  部分恢复/导入注册表有两种方法,第一种是还原“项”,即使用以前备份的注册表文件或其它注册表文件来覆盖现有的主键。首先在Regedt32注册表编辑器中,将光标移至要还原的主键上,再选择“注册表”菜单下的“还原”命令,并在“还原项”窗口中选择要还原的注册表文件,单击“打开”按钮,确认覆盖现有主键后,即可还原该项到当前选定的项上。注意:被选择还原的文件必须与注册表编辑器中所选择的主键内容吻合,即原先保存的注册表“项”只能还原到原先的位置。
另外一种方法加载配置单元。“加载配置单元”和“卸载配置单元”。这两个命令只有在[HKEY_USERS]或[HKEY_LOCAL_MACHINE]这两个预定义项窗口中才有效,将配置单元加载到注册表中后,配置单元成为其中一个项的子项。具体做法是在Regedt32注册表编辑器中,先用鼠标选择上述两个预定义项中的一个主键,再选择“注册表”菜单下的“加载配置单元”命令,接着在“加载配置单元”对话框内选择要加载的注册表文件,单击“打开”按钮后出现“加载配置单元”对话框,在对话框的“项名称”文本框内输入新主键的名称,如“.ChenNai”,再单击“确定”按钮,这样你就发现在当前主键的下面出现了一个新的主键(.ChenNai)。如果要卸载该配置单元,也很简单,选中该主键后,选择“注册表”菜单下“卸载配置单元”命令即可。 
  上述两种方法的不同之处在于“加载配置单元”引入的主键可以是注册表内原先没有的内容。 
  最后说一下,Windows 2000中注册表文件的位置,同Windows 9X一样,Windows 2000的注册表也分为两个部分,但包括多个文件,其中用户配置文件保存在根目录“Documents and Settings”下用户名的目录中,包括两个隐藏文件:NTUSER.DAT、NTUSER.INI及ntuser.dat.LOG日志文件。系统配置文件位于Windows 2000系统目录下的“SYSTEM32/CONFIG”中,包括DEFAULT、SOFTWARE、SYSTEM、AppEvent.Evt、SecEvent.Evt、SysEvent.Evt等多个隐藏文件及其相应的.LOG(日志)文件和.SAV文件。这些注册表文件在Windows 2000运行时无法使用其它工具打开,这一点与Windows 9X下的system.dat及user.dat不同。
19、Win98 注册表的安全恢复
      WIN98虽然常常出问题,但从我的经验还看多数是注册表上的问题,如果能够把注册表维护好了,很多时候它还是比较温顺的。下面有几种常用的维护和恢复方法。
      1、利用注册表编辑器进行正常的备份和恢复。具体方法是按开始菜单,选择运行,输入regedit,选择“注册表”菜单,选“导出注册表文件”可以备份,你可以随便打它备份成什么名字,同时你也可以选择全部备份或备份一个特殊的分支,如果不大懂的话还是全部备份吧;选择“引入注册表文件”就可以把原来备份过的导出文件再恢复过来。这种方法可以解决一般的注册表错误问题。
      2、如果你的机器连WIN98都启动不了,那你就惨了,在你想咬牙切齿的重装之前,我这里还有个方法你可以试试。一般WIN98会自动为你备份最近五次正确启动的注册表,并且压缩成CAB文件包,位置在WINDOWS所在目录的sysbckup子目录下(这个目录是隐藏目录,你可能在资源管理器中选查看->文件选项->查看->显示所有文件观察到这个目录),里面有名为rb00x.cab的文件,可能很多,时间最近的一个就是你最后一次正确启动Windows的注册表备份,当然光有这个还不行,你还需要一个可以把CAB压缩包解开的程序,那就是EXTRACT.COM,一般在C:/WINDOWS/COMMAND目录下,具体使用如下:
      启动windos98的DOS,可以在启动时按F8键选 
      command prompt only 进入
      cd c:/windows/sysbckup
      EXTRACT /E rb00x.cab c:/windows  *注:rb00x.cab代表你所要解压的文件。
      如果问题回答"y",结束后重新启动计算机。
      如果你曾经备份过注册表,可以用一个比较简单的命令
     进入DOS
     cd c:/widnows
     regedit /C FILENAME (FILENAME代表你曾经备份过的那个注册表文件,扩展名为 .reg) 重启计算机。
      3、也许最严重的事情发生了,你的硬件驱动和系统有冲突导致WIN98无法启动,你可以执行如下操作:
      进入DOS,并保证在目录下
      attrib -r -s -h system.1st
      copy system.1st c:/windows/system.dat
      重新启动计算机,看到什么,是不是装完WIN98后第一次启动的样子,所有的驱动程序都会重装,但是系统在设置IE时也许会有问题,取消就可以了。
      当然系统还有可能遇到其它问题,比如被病毒破坏,或者磁盘出现坏区,那样你只好真的重装系统了,不过,现在趁你的WIN98还老实,先备份一下吧。
20、注册表损坏之症状和修复
Windows的注册表实际上是一个数据库,它包含了五个方面的信息,即PC的全部硬件、软件设置、当前配置、动态状态及用户特定设置等内容,主要储存在C:windows下的system.dat和user.dat两个文件中。由此可见注册表是Windows系统的命根子,稍有闪失,后果严重。注册表文件损坏而不能正常启动系统或运行应用程序的情况经常出现,那么注册表损坏一般存在哪些症状呢?
  1、当使用过去正常工作的程序时,得到诸如“找不到*.dll”的信息,或其他表明程序部分丢失和不能定位的信息。
  2、应用程序出现“找不到服务器上的嵌入对象”或“找不到OLE控件”这样的错误提示。
  3、当单击某个文档时,Windows给出“找不到应用程序打开这种类型的文档”信息,即使安装了正确的应用程序且文档的扩展名(或文件类型)正确。
  4、“资源管理器”页面包含没有图标的文件夹、文件或者意料之外的奇怪图标。
  5、“开始”菜单或“控制面板”项目丢失或变灰而处于不可激活状态。
  6、网络连接不能建立或不再出现在“拨号网络”中或“控制面板”的“网络”中。
  7、不久前工作正常的硬件设备不再起作用或不再出现在“设备管理器”的列表中。
  8、Windows系统根本不能启动,或仅能以安全模式或MS-DOS模式启动。
  9、Windows系统显示“注册表损坏”这样的信息。
  10、启动时,系统调用注册表扫描工具对注册表文件进行检查,然后提示当前注册表已损坏,将用注册表的备份文件进行修复,并要求重新启动系统。而上述过程往往要重复数次才能进入系统。其实此乃系统的误报,此时的注册表并没有损坏,倒是你的内存条或硬盘值得好好检查一下,这是硬件故障造成的假象。
  以上罗列了注册表损坏的十种症状,除第十项外,前九项都是可以简单修复的,前提是有注册表文件备份。备份的方法也不难,在机器工作正常时,运行注册表编辑器regedit.exe,选择“注册表/导出注册表文件”,接下来“导出范围”选择“全部”,“存为类型”选择“注册表文件”,最后任取一个文件名(如“backup”)就行了;也可以直接拷贝“system.dat”和“user.dat”两个文件进行备份。修复时进入DOS模式状态(开机时按“F8”调出多重引导菜单,选择“Command Prompt Only”),在提示符后键入“regedit/c backup.reg”回车即可。倘若没有备份,我们可以利用Windows的自动备份进行修复,同样进入DOS实模式状态,键入“scanreg /restore”,进入菜单界面,选择一个备份文件,稍等片刻即可。

VC++深入详解code11-20.rar

  • 2011年07月07日 22:26
  • 3.96MB
  • 下载

详解Mysql权限系统 2014-11-30 20:46:42| 分类: mysql |举报|字号 订阅 目录 1. 前言 2. Mysql账户权限安全 3. Mysql数据的网络安全配置

目录 1. 前言 2. Mysql账户权限安全 3. Mysql数据的网络安全配置 4. 密码策略安全 5. Mysql日志 6. Mysql数据库服务所在主机安全配置 7. 部署SQL...
  • iamczb
  • iamczb
  • 2014年12月05日 18:58
  • 644

2015年5月信息系统项目管理师综合知识真题详解 11-20题

 11、除了测试程序之外,黑盒测试还适用于测试()阶段的软件文档 A、编码       B、总体设计   C、软件需求分析  D、数据库设计   “我能过软考”解析: ...
  • zjqyg
  • zjqyg
  • 2015年06月11日 18:09
  • 483

用 Flask 来写个轻博客 (20) — 实现注册表单与应用 reCAPTCHA 来实现验证码

目录 目录 前文列表 reCAPTCHA 应用 reCAPTCHA 前文列表 用 Flask 来写个轻博客 (1) — 创建项目 用 Flask 来写个轻博客 (2) — He...
  • Jmilk
  • Jmilk
  • 2016年11月27日 23:32
  • 2796

Oracle 11g完全卸载方案(注册表清理)

Oracle 11g是甲骨文公司在2007年年7月12日推出的最新数据库软件,Oracle 11g有400多项功能,经过了1500万个小时的测试,开发工作量达到了3.6万人/月。 1、如果数据库配置...

从注册表清理 IE10,IE11 用户代理字符串(UserAgent)中的垃圾信息

某一天,我发现我的 IE User Agent 字符串里面竟然含有刷机大师、百度浏览器等许多垃圾,国货流氓见怪不怪了。 微软自家的.NET CLR也占据了一大片,看着也不爽。 决定清理一下,但是却没找...

Web Driver for IE 11辅助注册表文件

  • 2017年02月04日 12:46
  • 716B
  • 下载

注册表教程11.swf

  • 2007年09月01日 23:57
  • 1.36MB
  • 下载

2015年工作中遇到的问题:11-20

11. Android手机上运行Linux C程序 在没有Android源代码的前提下,编写LinuxC程序,放到手机上运行。 Android中有bioniC库,提供了c程序运行环境。 #includ...
  • waldmer
  • waldmer
  • 2015年09月25日 13:25
  • 638
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:注册表详解11-20
举报原因:
原因补充:

(最多只允许输入30个字)