您好,欢迎访问三七文档
注册表实例二注册表实例二摘五、现在随着电脑应用知识的普及,我想,很多朋友对WINDOWS注册表的修改已经有不少经验和心得。在图形界面下对注册表的维护和修改,就不必再提了,但有时候,我们可能会遇到更辣手的事情,如由于人为错误*作或者恶性病毒感染而使系统切底崩溃,不能进入WINDOWS图形界面时,我们对此是否只有重装这种方法呢?本文将就在DOS下面尽量挽救系统这方面作出阐述。一、使用scanreg/restore我想这种方法大家也比较熟悉了,只要在DOS界面下输入该命令,就可以在最近的5个注册表备份里恢复,如果幸运的话,系统就可以马上恢复。但,事实上,用这种方法有个致命的缺陷就是你只有最近5天的注册表备份可以选择。因为控制着自动备份的scanreg.exe只会在每天第一次启动电脑时备份,如果哪天你安装的程序或者对注册表的修改比较多,那么你的努力就大多白费了。这种方法就正如是眉毛胡子一起抓,正确和错误的都一起改掉,是否能为恢复系统帮上忙,总有一种听天由命的感觉。所以,笔者鼓励大家使用第二种方法。二、使用DOS界面的regedit.exe如果把scanreg/restore比作是一刀切的话,这种方法更像是一次高明的外科手术,只一矢中的地针对病,把错误修复而完全不影响注册表的其他健康部分。这样,我们就能在最大限度上保留我们的工作成果了。使用regedit.exe对注册表实行局部修改的思路是:首先,把注册表里有嫌疑的分支导出;然后,使用edit对它进行分析和修改;最后,把健康的分支重新导入注册表里。好了,我们来看看整个过程的具体*作。1导出注册表分支在DOS下导出注册表分支的命令格式是:Rrcedit[/L:system][/R:user]/Efilename[regpath1]。/L:system是指定system.dat的路径,/R:user是指定user.dat的路径,如果不说明,系统就会在默认的路径下找;/E:是导出注册表分支的文件名,regpath1是要导出的注册表分支。比如,我们要导出默认注册表关于控制系统启动的分支到test.reg里,命令如下:regedit/etest.regHKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\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-DC\000800]记录的则是显示卡的重要资料和参数,一旦这里出错,往往会导致WINDOWS在启动时黑屏,然后死掉。另外还有[HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersio]里记录着WINDOWS当前版本的信息以及启动时执行的程序等,这是病毒最爱攻击和修改的地方。至于还有[HKEY-CLASS-ROOT]是记录文件种类及其关联信息的,[HKEY-CURRENT-USER]里记录着当前用户的各种信息,包括登陆的密码和各方面的设置等,这些一般不会引起WINDOWS的致命错误,这里也不再详细分析了。当我们对这些键值分析和修改时,如果碰到什么不清处的地方,可以通过第1点的导出注册表方法,把一些备份注册表的相应分支导出,进行比较。WINDOWS的注册表备份都放在C:\windows\sysbackup里面,如我们要导出第一个注册表备份的[HKEY_LOCAL_MACHINE]分支,那么我们可以先进入该目录,然后键入命令:extract/erb000.cab*.*,先把system.dat和user.dat解压出来,再键入命令:regedit/L:system.dat/R:user.dat/ebackup.regHKEY-LOCAL-MACHINE。笔者在这里提醒一下,这是一个很好的解决问题的方法,再用上一些文件比较软件可以很快的找出错误的,请诸位慢慢体会。3把修改好的注册表分支重新导入命令的格式为:regedit/L:system/R:userfile1.regfile2.reg。我们一般都要修改默认的注册表文件,所以在实际使用中只需键入:regeditfile1.reg就行了。好了,讲了这么久,我们看看一个具体的案例。学院机房里的一台机器在重新启动后,无论用正常模式或者安全模式都不能进入WINDOWS界面,表现为启动过程中硬盘突然不读。用SCANDISK检查过硬盘,并没有发现问题。在启动过程中选择生成BOOTLOG.TXT文件,发现启动到硬盘控制器后就断掉了。本来想用scanreg/restore恢复备份的注册表,可是该机器为了加快启动,并没有自动备份。于是,用regedit把[HKEY-LOCAL-MACHINE\Enum\PCI]分支导出,键入:regedit/ehdc.regHKEY-LOCAL-MACHINE\Enum\PCI;接着用EDIT查看关于硬盘控制器的部分,发现有ChannelOptions=hex:00,问题到这里终于发现了,原来是有人把IDE控制器设置成不使用,造成在加载硬盘控制器后,系统不能访问硬盘,所以把它改为:hex:02;再键入命令:regedithdc.reg,把修改后的信息导入。重新启动机器,一切正常运行了。这样,在不损坏任何数据的情况下,就把问题解决了。希望这个例子能给大家带来这种DOS下维护注册表技巧的启发,毕竟,我们硬盘上面有很多都是无价的数据。摘六、注册表是一棵庞杂的树,什么鸟都在里面做窝。它采用类似文件目录的树状层次结构,根键相当于根目录,系统预定义了6个根键,根键下面有子键,子键下面还可以有子键,每个子键又包含若干个键值项,这样为注册表的管理提供了便利。但在删除某一键值时只将该项的标识删除,实际信息仍然保留在注册表文件中,其所占空间自然也不会释放出来。这样,Windows在经过一段时间的使用后,特别是反复安装/删除软件、硬件后,其体积会有明显的增长。根目录下的系统隐含文件System.1st是第一次安装Windows后产生的注册表备份文件,拿它与Windows目录下的System.dat比较一下大小,就会对注册表文件的增长速度有深刻体会了。臃肿的注册表文件不仅浪费磁盘空间,而且会影响系统的启动速度及系统运行中对注册表的存取效率,因此有必要适当控制其大小的增长,实施“瘦身”工程。借助专用软件清理常用的注册表清理软件有超级兔子注册表优化软件、RegCleaner、NotronUtility、Windows优化大师等,这些软件能够查找Windows注册表中的垃圾并给予清除,使系统清洁高效。这些软件各有优缺点,完全可以根据个人爱好自由选择,它们的使用方法也较简单,这里就不再介绍了。注册表的手动清理虽然用专门的软件来清理注册表比较简单方便,但是它们并不是万能的,有些对于自己来说并不需要的内容就得靠手工删除了。方法是点击“开始/运行”,在对话框中输入“regedit”,调出注册表进行如下逐项*作:1、清除多余的窗口配色方案。可打开“HKEY-CURRENT-USER\ControlPanel\Appearance\Schemes”,通常只保留“Windows标准”即可。更直观的方法是打开“控制面板/显示/外观”,在“窗口配色方案”下拉列表中进行删除。2、删除多余的时区。可打开“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\TimeZones”,我们只使用北京时间,可以删除其余的时区设置。3、清除国家列表。国家列表中包括了全世界100多个国家和地区,习惯是只留下“中国”,我想全部删除也无妨。可依次打开“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Telephony\CountryList”,删除多余的国家代码。4、删除多余的语言代码表,留下“英语(美国)”、“中文(中国)”即可。打开“HKEY-LOCAL-MACHINE\System\CurrentControlSet\Control\Nls\Locale”,删除多余的语言代码。5、删除“运行”中的程序执行记录。方法为打开“HKEY-USERS\.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Explorer\RunMRU”,删除下面的内容。6、删除失效的文件关联。注册表文件有关文件关联的内容存储在HKEY-CLASSES-ROOT键下。该主键可以大致看成两部分。第一部分(按字母顺序A~Z排列)用来定义文件类型。第二部分与第一部分一一对应,用于记录打开文件的应用程序。一般来说,在第二部分中展开可疑键值后,如果在子键Command下无内容,说明该键为空键,可以删除。更直观的方法是打开“文件管理器/查看/选项/文件类型”,这其实可以看作是HKEY-CLASSES-ROOT的一个图形界面,重点查看那些使用“通用文件图标”(白底上带一个Windows标志)的项。如果确信用来打开文件的程序已经不存在,可将该项删除。上面两种方法可以配合使用。注册表的压缩整理Windows自带的Regedit.exe就可以做很好的压缩,即重新写入注册表文件。其基本的用法如下:1、在DOS下实模式(可以用“重新启动计算机并切换到DOS方式”),首先使用Regedit配合参数e导出注册表文件,格式如下:Regedit/enewreg.reg(导出文件名)。2、使用Regedit配合参数c重写注册表文件:Regedit/cnewreg.reg,执行后会有一个指令写入进程的百分比。一般情况下,隔上一段时间用上面的方法压缩一下注册表文件即可较好地控制其大小。但要获得更好的效果(压缩的比例更大),就需要在压缩前用注册表清理工具对注册表文件作一番大扫除。对注册表文件进行各种*作前请务必先备份(文件system.dat和user.dat),方法是导出注册表。注意:做删除和修改时要非常小心,否则一旦出错有可能导致系统崩溃!摘七、我们必须采用适当的方法随时对注册表数据库进行备份、以防万一!Windows98为解决注册表数据库的检查、备份及恢复问题特意增加了一个“注册表检查程序”。该程序可在系统每次启动时自动对注册表数据库进行检查,若正确就进行备份,反之就进行恢复,从而提高了系统的安全性。另外,由于只对注册表数据库做一个备份是非常危险的(我们在日常*作过程中经常会碰到系统和备份同时被破坏的情况,此时用户若只做了一个备份就……)为解决这一问题,“注册表检查程序”又特意提供了可同时对系统制作多个备份的功能,广大用户可利用它同时为系统制作5个不同时间的备份,当一个备份出了问题之后我们还可以使用另外一个备份进行恢复,从而进一步增强了系统的安全性能。除此之外,“注册表检查程序”还具有自动对所作的备份进行压缩、可在DOS状态下对系统进行恢复等功能,实为广大用户在对系统进行备份时的
三七文档所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
本文标题:注册表实例二
链接地址:https://www.777doc.com/doc-3724761 .html