注册表通常被认为是高深莫测以及极其危险的东西,但同时它又是非常极其以及一定很重要的。在一些计算机修复软件比如优化大师、超级兔子等进行的一些维护,用户能够碰到点到的是一个个可视化易操作化了的按钮,其背后的原理也就是修复计算机的一些设置选项,其中包括相当的注册表修改。首页被篡改,启动项被捆绑,下拉地址的清除,自设之安全等级密码的去除,速度优化,等等,都是别人把程序做好了,等着去用。有没有想过真正地了解一下其中的原理呢?有没有想过用自己掌握的原理去修复而不是借助第三方软件来管理和保护自己的爱机呢?
下面的这篇注册表全攻可帮助我们了解和认识一些与日常使用密切相关的选项,如何去修改以得到想要的效果。不管是自己修改,还是用第三方软件去修复,注册表的改动都属于高危动作,请注意时刻原始数据。
-------------------------------------------------------------------------------------------------------------------------------------------------- 一、注册表基础 微软采用注册表来统一管理软硬件配置,从而大大提高了系统的稳定性和安全性,同时也使我们能更容易的对系统进行维护和管理。 (一)注册表基础ABC
总的来说注册表实际上是一个庞大的数据库,它包含了应用程序和系统软硬件的全部配置信息,初始化信息及其它重要数据。从一般用户的角度看,注册表系统由两部分组成:注册表数据库和注册表编辑器。其中注册表数据库包括两个文件:System.dat和User.dat。前者是用来保存计算机的系统信息,如安装的硬件和设备驱动程序的有关信息等;后者则是用来保存每个用户特有的信息,如桌面设置、墙纸或窗口的颜色设置等。它们一般都放在C盘Windows目录下。同时,微软为了防止注册表文件的损坏,特地准备了两个备份文件System.da0和User.da0(文件类型是.da),也是放在C盘Windows目录下。 在Windows 98中还有一个专门用来储备备份文件的文件夹,即C:\Windows\Bak,相比之下,注册表编辑器是用来对注册表进行各种编辑的工具。你可以在“开始”菜单中点击运行,在运行的对话框中填入“Regedit"即可看到注册表编辑器。 如果你在“系统配置实用程序"的启动项里发现ScanRegistry前的小勾没有被去掉的话,那么系统每天会自动调用Scanreg.exe对注册表备份一次,备份后的注册表被打成cab包,放在C:\Windows\sy**ckup目录下,文件名为rb00x.cab并且被加上隐藏属性的就是(一般有五个)。 下面让我们具体看看系统预定义的六个主关键字(即根键)吧: (1)HKEY_CLASSES_ROOT:基层类别键,定义了系统中所有已经注册的文件扩展名、文件类型、文件图标等。 (2)HKEY_CURRENT_USER:定义了当前用户的所有权限,实际上就是HKEY_USERS\.Default下面的一部分内容,包含了当前用户的登录信息。 (3)HKEY_LOCAL_MACHINE:定义了本地计算机(相对网络环境而言)的软硬件的全部信息。当系统的配置和设置发生变化时,其下面的登录项也会随之改变。 (4)HKEY_USERS:定义了所有的用户信息,其中部分分支将映射到HKEY_CURRENT_USER关键字中,它的大部分设置都可以通过控制面板来修改。 (5)HKEY_CURRENT_CONFIG:定义了计算机的当前配置情况,如显示器、打印机等可选外部设备及其设置信息等。它实际上也是指向HKEY_LOCAL_MACHINE\Config结构中的某个分支的指针。 (6)HKEY-DYN-4DATA:定义了系统运行中的动态数据,即已发生的事件的有关信息。它不仅包含系统硬件的当前状态,也包含了那些需要更新和检索的数据。系统每次启动时都要创建此关键字。 另外,每个根键再由若干主键组成,键名代表一特定的注册项目,键值可分为字符串值、二进制值和DWORD值,都能用注册表编辑器进行修改。 Windows的注册表是控制系统启动、运行的最底层设置,其文件就是System.dat和User.dat,它们不仅至关重要,而且极其脆弱.
(二)修改注册表的基本方法
在注册表文本文件的首行必须用命令字符串 “REGEDIT”,其作用是通知系统调用regedit来完成注册信息的合并工作。 接下来的每一行或代表一个键值的声明或者为注释性的说明信息。 主键及其默认键值的声明格式为: 根键\一级主键\二级主键\......=默认键值 例如,欲在根键HKEY_CLASSES_ROOT的“*”主键下添加一个“压缩”主键,以便通过上下文菜单直接压缩选定的文件,其主键的声明如下: HKEY_CLASSES_ROOT\*\shell\压缩 (&U)\command = C:\dos\arj.exe a Temp$%1 其中,“shell”和“command”都是固定的,不能更改和替换,“shell”指明将要为上下文菜单中添加命令, “command”指明具体的命令行信息。另外还要注意,在等号右边的键值字符串中, 如果要指明文件的路径,其中的“\”字符要使用“\\"代替,等号的前后还要添加一个起分隔作用的空格。 凡是用分号开头的行,均为说明信息行,用户可以利用说明行给文件中的命令给予必要的注解,使命令便于理解。 使用任何一个编辑器,编辑生成一个包含一系列主键声明行、说明行的列表,并将文件保存为以“.reg”为扩展名的文本文件,即创建了一个注册表文本文件。
二、注册表初级应用
Win 9x中注册表的重要性,众所周知。所以也是为了这个原因,Win 98特别新增加了个小工具——注册表检查器Scanreg.exe(Scanregw)。在每次开机启动Win 98时Scanreg自动运行,对系统注册表进行检查,并为每个开机日作一次备份,将System.dat、User.dat、System.ini、Win.ini四个文件打包成Cab文件,以rb00?.Cab命名,存放于系统备份文件夹Sy**ckup中,默认保存最近的5个备份文档。当检查到注册表出错时,它就用备份进行恢复。平时,若注册表有了问题或不合己意时,我们也可利用它来恢复。
(一)用好“注册表检查程序”
Scanreg的常用命令如下: Scanreg /backup /restore /comment /fix 参数包括: /Backup:对注册表以及相关的系统配置文件进行备份。 /Restore:选择一个备件文件进行系统恢复。 /Fix:修复注册表 /Comment=“<评述>”:在做系统备份的时候,将特定的评语和标注文字加入到CAB包中。 /Autoscan:自动扫描注册表,并自动备份(如果已有当天的备份,则不带任何提示) /Scanonly:扫描注册表,如果有错误则提示,不对注册表进行备份。 /opt:压缩注册表,在每回引导检查时如果有大于500KB的空间,则自动执行。这个命令在运行/Fix时它也将运行。
1、手工启动“注册表检查程序” 在某些情况下(如用户已经人为禁止了“注册表检查程序”的自动运行功能之后),我们仍需要手工启动“注册表检查程序”对系统进行检查, “开始”-“运行”-“Scanregw”-“确定”,启动“注册表检查程序”,会自动对注册表数据库进行检查,如果正确,它就会询问用户是否重新备份注册表数据库,如果有问题,它将建议用户采用上次备份的信息进行恢复,确保Windows 98正常运行。 需要说明的是,“注册表检查程序”的检查、备份范围并不局限于注册表数据库,它同时还会处理Win.ini和System.ini等文件以确保Windows 98的安全运行。另外,“注册表检查程序”在备份文件时采用了压缩备份方式,它会将需要备份的文件统统压缩到一个CAB压缩包中,然后再以Rb???.cab为名保存到Windows 98的Sy**ackup子目录中(???为CAB压缩包文件的序号),这样既节省了磁盘空间,又提高了备份文件的安全性。
2、DOS运行注册表检查程序 MS_DOS下的注册表检查器Scanreg.exe可以用来备份及恢复注册表。
(二)利用注册表维护与优化软件
最好的注册表维护与优化工具当然是Norton Utilities提供的Windows Doctor和Norton Cleansweep提供的Registry Sweep。前者主攻诊断与修复,后者擅长减肥与优化。对于Windows Doctor,它的优点在于不但提供了对系统注册表错误设置的强大自检功能,而且还能全自动地修复。而Registry Sweep能非常彻底地为你的注册表减肥,将注册表中那些无用的系统垃圾完全清除。它们都相当智能,即使你对注册表的维护一无所知,只要一路“Next"下去,就能轻松完成对注册表的修复和优化,完完全全的“傻瓜"。
Nuts & Bolts中的Registry Wizard也是非常称心的注册表维护的好工具,同样具有修复与减肥功能,清理注册表来又快又好。
当然,如果你不想选择集成式的系统维护工具,可以使用专门的注册表维护与优化软件。优化大师和超级兔仔注册表优化软件就很不错,不仅能够修复错误,而且能够清除非常多的注册表垃圾。
经典的注册表优化工具RegClean也是上选,凭着微软在操作系统领域中的霸主地位,它的注册表清理工具就值得你信赖。
还有其他的不在介绍了
(三)手动注册表修改步步高
我们有时真希望电脑的界面和设置能发生一些变化,这样也能满足我们张扬的个性。修改注册表就不失为一个很好的方法,工具软件的原理绝大多数都是通过对注册表的操作而实现对系统的更改,只不过这些工作并不需要你去做,也没让你看到罢了。如果你真要成为电脑高手,怎能不学会对注册表的修改?
1、启动Windows时增加警告标题或问候信息 在 Hkey-Local-Machine\Software\Microsoft\Windows\CurrentVersion\Winlogon 下新建两个字符串值,一个是信息框的标题:“LegalNoticeCaption”,它的值不妨设为“请你注意!";另一个自然是信息框的内容了:“LegalNoticeText”=“上机没关系,可不要太久哦,你还有很多事没做呢!"。这样在你启动系统时,就会有一个信息框提醒你注意上机的时间和效率,不至于玩物丧志。当然,你完全可以输入其他的座右铭或问候语,来个极具个性化的“开场白"。
2、删除开始菜单中不需要的子项 有时当你出于某种原因不再需要开始菜单中的某个子项时,你可以修改注册表将其删除。在 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下 添加相应的DWORD值,其中可以删除的子项有:收藏夹、文档、控制面板、查找、运行、注销、关闭系统及单击从这里开始的活动图标,相应的键为:“NoFavoritesMenu”、“NoRecentDocsMenu”、“NoSetFolders”、“NoFind”、“NoRun”、“NoLogoff”、“NoClose”及“NoStartBanner”,所有的键值均是“1”为关闭,“0”为激活(即原Windows默认状况)。HKEY_CURRENT_USER的设置是对应于所有用户的,若要针对当前登录用户,则在HKEY_USERS子树相应的目录下更改即可。
3、隐藏驱动器和禁用任务栏 在必要的时候你甚至可以隐藏某个驱动器以防止别人偷看你的个人隐私或机密文档。在 HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 下新建二进制串值 “NoDrives”。此键值与相应要隐藏的驱动器的关系有:“01 00 00 00”为隐藏A驱,“02 00 00 00”为B驱,“04 00 00 00”为C驱,“05 00 00 00”为D驱,隐藏全部的为“FF FF FF FF”。相同路径下DWORD值为“1”的“NoSetTaskbar"能让他人无法使用你的任务栏。
4、锁定桌面和禁止使用注册表编辑器 当你不希望别人修改你机器上的个人设置时,可直接把桌面锁起来,甚至对别人禁用注册表编辑器Regedit(但千万不要忘了为自己留条后路,储备第二个修改器吧)。在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer下加入DWORD值为“1”的“NoSaveSettings”和"NoChangeStartMenu"。此后系统对用户所作修改将不进行保存,也就是说用户对系统所作的一些修改都仅对当次运行有效,重启后就会自动恢复成修改前的状态。在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies下新建一主键“System",就可用一个DWORD值为“1”的“DisableRegistryTools"禁止regedit的使用。
5、取消CD的自动播放功能,或禁止AUTORUN(自动运行)功能但保留CD的自动播放功能 将HKEY_LOCAL_MACHINE\Enum\SCSI\LITEON__CD-ROM_LTN403L__F(这是光驱信息,你的可能跟我不一样)\MF&CHILD0000&PCI&VEN_1106&DEV_0571&SUBSYS_00000000&REV_06&BUS_00&DEV_07&FUNC_01主键下的二进制值“AutoInserNotification"的值设为 00.或将HKEY_CLASSES_ROOT\AudioCD\shell下主键“play"的内容删掉即可。 禁止Autorun(自动运行)功能,但保留CD的自动播放可在HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer 下将串“NoDriveTypeAutoRun”的值改为 “bd 00 00 00”。
6、手动控制系统启动时自动加载的运行程序 在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion下Run的若干主键,它们就是系统启动时被加载的自动运行程序。相对应的Run-可以根据不同的情况灵活处理,自己控制自动运行的程序。 需要提醒你的是,RunServies中的程序是在操作系统启动时就开始加载的,而Run下的程序是Windows初始化后才运行的,所以Runservies中的程序要先于Run中的程序运行,删除它们时一定要多加小心!
7、删除不完全删除的软件讯息 有时我们在直接删除某些文件夹或手动卸载软件时并没有完全将要删除的软件信息清除出系统,这时除了用反安装软件帮你打扫垃圾外,你也可以就用注册表编辑器在HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall 下删去相应软件的主键。从此再也不怕垃圾污染了!
8、设置关联文件的多路打开 现以BMP文件为例,简述其设置方法,你完全可以举一反三,灵活运用。在HKEY_CLASSES_ROOT\* 下单击 * 新建主键并命名为“Shell”,用右键单击“Shell”再新建一主键并输入自己喜欢的名字,这里以“打开方式"为例。接下来右键单击“打开方式”新建一主键命名为“Command”,编辑“默认”输入“Rundll32.exe Shell32.dll,OpenAs_RunDLL %1”。以后有BMP文件时,用右键点击图标,则会在弹出的菜单中多出一项我们刚建成的“打开方式”,点击它你就会发现用处了。 |