备注:此命令将删除指定子键下所包含的所有内容。(包括所有子键、键值项和键值)
1.3.8 在MS-DOS环境下“拯救”注册表
人为误操作或者恶性病毒感染而使系统彻底崩溃,不能进入Windows 98图形界面时,难道只有重装Windows 98这一种方法呢?
实际上这些故障很多都可以通过注册表得以解决,这就需要灵活地运用注册表编辑器在MS-DOS环境下面特殊的功能。而且,利用这种方法,仅仅是对错误的部分进行局部恢复,所以对数据和配置的破坏,都是最小的。
使用注册表编辑器对注册表实行局部修改和修复的思路是:
(1)导出注册表分支。把注册表里有嫌疑的分支导出到.reg文件。
(2)使用edit(DOS下的实用编辑程序)或者其他字处理程序对.reg文件进行错误分析和修改编辑。
(3)最后,把修改后的.reg文件重新引入注册表里。
下面通过讲述一个具体的例子来说明此方法的具体操作。
(1)导出注册表分支
一台机器在重新启动后,无论用正常模式还是安全模式都不能进入Windows 98界面,具体表现为启动过程中硬盘突然不读;用SCANDISK检查硬盘,并没有发现问题。在启动过程中选择生成BOOTLOG.TXT文件,发现启动到硬盘控制器后,就停止响应了。
本来想用Scanreg /restore恢复备份的注册表,可是该机器为了加快启动,并没有自动备份。所以现在只能通过注册表编辑器来完成这一“拯救”使命了。
由注册表的结构知识可以得知,关于硬盘控制器的设置被保存在注册表中的HKEY_LOCAL_MACHINE\ Enum\PCI子键下,所以用注册表编辑器将此子键导出。具体的命令为:Regedit /e hd.reg HKEY_LOCAL_ MACHINE\Enum\PCI。
(2)对注册表进行分析、修改
在MS-DOS下面运行edit对导出的.reg文件进行编辑。
为了能解决问题,我们需要正确找出引起错误的地方并修改。我们知道注册表里面容易引起致命错误而使Windows 98不能正常启动的分支是:HKEY_LOCAL_MACHINE根键,它记录着本地机器的硬件配置以及安装的相应软件。比如HKEY_LOCAL_MA-CHINE\Enum\PCI\VEN106&DEV_0571&SUBSYS_ 05711106&REV_ 06\BUS_00&DEV_07&FUNC_01子键下记录的是硬盘控制器的详细信息,下面的Logconfig子键记录着它的各种参数;HKEY_LOCAL_ MACHINE\Enum\PCI\VEN0DE&DEV_ 0028&SUBSYS134107D& REV5\000800记录的则是显示卡的重要资料和参数。一旦这些注册表信息出错或被破坏,往往会导致Windows 98无法启动和正常运行。
当我们导出了注册表分支并对其进行了问题分析后,就可以用EDIT等编辑软件对.reg文件进行编辑和修改了。现在用EDIT打开在第一步里导出的.reg文件,并查看关于硬盘控制器的部分,发现有“ChannelOptions”=hex:00,问题到这里终于发现了,原来是IDE控制器被设置成禁用了,造成在加载硬盘控制器后,系统不能访问硬盘,所以应把它改为:hex:02。修改完成后保存.reg文件。
(3)重新引入正常的注册表分支
hd.reg文件修改正确后,就可以将它重新引入注册表了,这一步的操作是直接在DOS命令提示符状态下键入命令:Regedit hd.reg就可以了。
通过以上的操作并重新启动机器后,一切都恢复正常了。这样,在不损坏任何其他数据的情况下,就把问题解决了。
备注:以上列举的的HKEY_LOCAL_MACHINE\Enum\PCI\ VEN106&DEV_0571&SUBSYS_05711106&REV_06\BUS_00&DEV_ 07&FUNC_01和HKEY_LOCAL_MACHINE\Enum\PCI\VEN0DE& DEV_0028&SUBSYS134107D&REV5\000800子键下,子键会因为不同的机器配置而有所不同。
1.3.9 使用注册表检查器备份注册表
系统每天第一次正常启动后,注册表检查器会自动备份注册表的全部内容,但你也可以手工运行ScanRegW来强迫扫描和备份注册表。
首先在“开始”菜单中,单击“运行”,在弹出的对话框中输入scanregw.exe并单击“确定”。这样就启动了在Windows下的注册表检查器。
注册表检查器首先检查注册表的结构是否完好。如果注册表的结构没有问题,注册表检查器将提示是否再次备份注册表,如图。如果按“是”,注册表检查器备份注册表并将压缩的.CAB文件保存在C:\Windows\ Sysbackup文件夹中(隐含的文件夹)。
对注册表的备份大部分情况是在Windows 98环境下进行的,但有时也会在MS-DOS环境下进行(比如无法运行Windows 98时),就需要运行注册表检查器专用在MS-DOS下的程序Scanreg了,在MS-DOS命令提示符下输入:Scanreg /backup命令就可以将当前注册表进行备份了。
使用注册表检查器备份注册表
通过以上操作,便完成了对系统注册表的手工备份。当然,这和注册表检查器自动备份的效果是一样的,同样可以用于以后的恢复操作。
1.3.10 使用注册表检查器恢复注册表
如果在启动Windows 98时,注册表检查器检查到注册表的结构有错误,那么它会提示“Windows 在造访注册表时碰到错误,Windows将重新启动并为您修复注册表”的提示。按确定后,注册表检查器会重新启动计算机并使用先前的注册表备份来恢复错误的注册表。
当然,这是在注册表出现问题时,注册表检查器的自动恢复。而如果因为注册表中存在潜在错误(尚能启动,但问题不明显,或是注册表检查器检查不到的错误)时,就得手工恢复了。使用注册表检查器在MS-DOS下的Scanreg.exe程序可以进行手工操作:
(1)将系统重新启动进入MS-DOS模式。
(2)在MS-DOS命令行的模式下,键入scanreg,则弹出程序操作界面。
(3)然后按回车,进入操作界面。这里会显示三个选择按钮,选择“Create Backups”会备份当前注册表,如果希望在MS-DOS下备份注册表,则选择这项。我们现在需要恢复注册表,所以选择“View Backups...”。
(4)接着会弹出如图所示的操作界面。这里会显示备份的文件列表,从列表中选择最近的正确备份,备份压缩的注册表文件按照名字Rbxxx.cab列出。文件显示了备份的时间以及日期,每个CAB文件的后面单词是Started或者是NotStarted。Started表示这个文件能够成功启动Windows 98,是一个正确备份。Not Started表示文件没有被用来启动Windows 98,所以不知道是否是一个正确备份(如下图)。
使用注册表检查器恢复注册表
(5)选择好文件后,按回车键确定。重新启动计算机,注册表恢复正常。
注册表检查器在运行时,还可以带其他参数运行,以完成特定任务。下面列出了全部命令行参数。
/backup:立即备份注册表( 适用于ScanReg以及ScanRegW)
/restore:按照备份的时间以及日期显示所有的备份文件( 仅适用于ScanReg)
/comment:在/restore中显示同备份文件有关的部分 (适用于ScanReg以及ScanRegW)
/fix:修复注册表文件的错误 (仅适用于ScanReg)
/autoscan(/autorun):每次运行Windows 98的时候自动扫描注册表文件并自动在后台备份注册表,但是每天只备份一次 (仅适用于ScanRegW)
1.3.11 Windows 98下用MS Backup备份注册表
Windows 98的通用备份程序Microsoft Backup(简称MS Backup),可以备份整个磁盘驱动器,包括注册表。它可以快速压缩文件,而且如果你用软驱进行备份,可以进行多张软盘备份,以对付一张软盘装不下的大文件(如System.dat)。它还可以备份到多种目标设备,包括Zip、Jaz、可写光盘,磁带驱动器和网络目录等。
MS Backup还对其工作情况作了记录(通常记录在C:\Program Files\Accessories\BACKUP\reports\xxx.txt文件中)。此外,用不着重新启动计算机机就可以使用MS Backup。
(1)先打开“开始菜单/程序/附件/系统工具/备份”,运行该程序。
(2)单击备份选项卡,在该应用程序的主窗口中筹划备份工作。
(3)在左边的“备份内容”选项框中,选择Windows 98的安装的目录,然后在右边的文件列表中选择需要备份的具体文件。例如这里我们可以选择备份的具体文件为:C:\Windows\system.dat、C:\Windows\\user.dat、C:\Windows\system.ini、C:\Windows\win.ini、C:\Windows\profiles\solon\user.dat。
(4)在“备份到何处”框内选择存放注册表备份的位置和文件名。例如可以是C:\back_reg.qic(这里的.qic文件扩展名是MS Backup程序的默认扩展名,不可以更改)。
(5)还可以单击“选项”按钮,选择备份的其他选项,它会使备份工作更符合你的具体要求。
(6)所有选项设置好后,按“开始”按钮进行最后的备份,程序将显示备份状态。
备注:用MS Backup备份注册表唯一明显的不足是该程序需要运行Windows 98才能恢复文件。而且在典型的Windows 98安装中,MS Backup程序并不会被安装。因此在使用它之前,请首先运行“控制面板/添加删除程序”程序,并在弹出的对话框中选择“安装Windows组件”选项卡,然后在列表里选择“系统工具/备份”来安装MS Backup程序。
