2.1注册表受到损坏的主要原因
注册表是Windows 9X/NT/XP的核心数据库,其中保存的各种参数直接控制着才作系统的启动、硬件驱动程序的装载已经Windows应用程序的正常运行。但注册表也会遭到各种情况的损坏,如错误关机、突然停电、硬件故障等。当注册表遭到破坏时,会以各种途径影响系统的性能和稳定,甚至造成无法启动计算机或系统瘫痪。
注册表受损的原因主要有以下几条:
- 用户反复添加或更新驱动程序时,多次操作造成失误,或添加的程序本身存在问题,安装应用程序的过程中注册表中添加了不正确的项。有些应用程序拥有一个名为Setup.inf的说明文件,其中包括安装该应用程序需要什么磁盘,有哪些目录将被建立,从哪里复制文件,所需的正常工作要建立的注册表信息等。如果安装时磁盘或系统不满足条件,或是用户选择错误,那么就会造成故障。
- 驱动程序不兼容。计算机外设的多样性使得一些不熟悉设备性能的用户将不配套的设备安装在一起,尤其是一些用户在更新驱动时一味追求最新、最高端,却忽略了设备的兼容性。当操作系统中安装了不能兼容的驱动程序时,就会出现问题。
- 通过[控制面板]的[添加/删除程序]添加程序时,由于应用程序自身的反安装特性,或采用第三方软件卸载自己无法卸载的系统自带程序时,都可能会对注册表造成损坏。另外,删除程序、辅助文件、数据文件和反安装程序也可能会误删注册表中的参数项。
- 当用户经常安装和删除字体时,可能会产生字体错误。可能造成文件内容根本无法显示。
- 硬件设备改变或者硬件失败。如计算机受到病毒侵害、自身有问题或用电故障等。
- 用户手动改变注册表导致注册表受损也是一个重要原因。由于注册表的复杂性,用户在改动过程中难免出错,如果简单地将其它计算机上的注册表复制过来,可能会造成非常严重的后果。
如果注册表受损,我们将试图将它恢复,这就需要我们在注册表正确的时候作好备份工作。当然,如果您希望跟着这个注册表系列完成之后对注册表的修改,就更建议您先备份注册表了,以免在想“撤销”的时候一筹莫展了,因为对注册表的所有删除操作都是无法恢复的,如果一时禁用了一些程序/选项,或禁用了注册表,等到想恢复使用的时候忘了当时是在哪里做过修改,那可就麻烦了。
2.2 注册表的备份
在Windows NT/2000/XP中使用导出法备份注册表。可以按以下步骤操作:
- 运行regedit,打开注册表编辑器。单击[开始]|[运行],在弹出窗口中输入“regedit”,然后单击[确定]按钮。
- 在注册表编辑器窗口中单击[文件]菜单中的[导出],如果是Windows NT/2000的注册表编辑器则在[注册表]菜单下选择[导出]。
- 在弹出的“导出注册表文件”窗口中选择保存导出文件的路径和地址,请注意在“导出范围”中选中“全部”单选按钮,否则默认的是当前所选分支,这样导出的注册表不完整,是不能用来恢复原注册表的。
- 如果只想备份分支,则选中“所选分支”,单击[保存],导出注册表。
2.3 注册表的恢复
恢复注册表方法主要有三类:手动还原法(即复制法)、导入法和使用程序恢复法。
在Windows NT/2000/XP中使用导入法恢复注册表。可以按以下步骤操作:
- 打开注册表编辑器。
- 单击[文件]菜单下的[导入],如果是Windows NT/2000中,则是[注册表]菜单下的[导入注册表文件]。
- 在弹出的“导入注册表文件”对话框中选择硬盘上相应的备份文件,单击[打开]按钮即可。
部分恢复注册表的方法有两种,一是按以下操作:
- 打开注册表编辑器。
- 在注册表编辑器窗口的左边选择要还原的配置单元项。
- 单击[文件]|[导入]。
- 在弹出对话框中选择相应注册表文件。
- 在“文件类型”下拉列表中选择“注册表配置单元文件”。
- 单击[打开]恢复注册表项。
被选择还原的文件必须与注册表编辑器中所选的主键内容想吻合,即原先保存的注册表“项”只能还原到原先的位置。
二是使用[文件]|[加载配置单元]命令,在弹出的窗口中选择要配置的文件。但是这种方法只有在HKEY_USERS和HKEY_LOCAL_MACHINE这两个预定义项窗口中才有效。
如果系统已经无法正确启动进入Windows了,那么可以在DOS下还原导出文件,而且在DOS下的注册表还原操作更为安全。
在DOS下以命令行的方式运行regedit.exe,其格式如下:
Regedit /C filename
其中filename是指定的用于重新生成注册表的文件名。具体参数和其它用法参见regedit /?命令。
还原完毕后重启计算机,使还原的注册表生效即可。