Windows 注册表攻略(一、认识注册表:11)(二、注册表应用:12-14)
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,则将注册表恢复过来。
|