优化更安全,注册表伪技巧大全

周建峰 《电脑爱好者》2016年第15期 2017-02-09 16:25专题 标签:注册表 伪技巧

大家知道系统很多设置都是通过修改注册表的相关键值完成,相应的注册表伪技巧也是Windows伪技巧的重灾户。此外一些技巧虽然谈不上伪技巧,但是优化操作繁琐且危险性大,对于这类技巧我们又有哪些更安全的替换方法?

EnablePrefetcher优化开机速度

如前文所述,系统默认开启超级预读设置,系统预读设置默认对应注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters,网上技巧说将其右侧窗格“EnableSuperfetch”数值更改为“0”可以为系统提速。

实际上将“EnableSuperfetch”数值改为“0”(表示系统将不做预读),它的作用是关闭系统预读。通过上面文章的描述可以知道这对SATA硬盘用户来说反而会降低运行效率。正确的优化方法则是将其更改为默认数值“3”(代表系统将预读Windows系统文件和应用程序),经过实际测试默认设置才可以让系统开机速度最快,并且操作效率最高(图1)。

201615zcb1

图1 EnableSuperfetch数值位“3”才是最优设置

去掉快捷方式的箭头

默认情况下在桌面创建的快捷方式的图标上都有一个小箭头,网上介绍技巧说可以通过删除HKEY_CLASSES_ROOT\lnkfile\IsShortcut和HKEY_CLASSES_ROOT\piffile\IsShortcut键值,并重新启动计算机即可消除小箭头。

经过实际测试,上述方法确实可以删除快捷方式的图标上小箭头。不过这个技巧只能给我们感官带来一些好感,可是却会给我们操作带来不便。因为快捷方式目的是为我们操作提速,比如在桌面创建其他目录文档的快捷方式,这样在桌面即可快速打开快捷方式指向的文档。上述键值中的“IsShortcut”表明这种文件为快捷方式,这样当Windows在注册表中发现lnkfile、piffile主键下存在IsShortcut键值,便会在原有图标上再合成一个箭头图标来表明这是一个快捷方式图标,当我们人为删除上述键值后,Windows就认为这是一个文件(而不是快捷方式)。这样在使用程序打开对应快捷方式文件如doc文件,打开的却是“*.lnk”快捷方式文件(而不是其对应的文件),Word会提示无法打开该文件,快捷方式的“快捷”目的自然无法达到,所以该技巧实质上是一个伪技巧(图2)。

201615zcb2

图2 去除小箭头后无法打开原文件

注册表清除无用DLL文件

由于在日常操作中我们经常会安装、卸载各种软件,因此不可避免会在系统留下一些冗余动态链接文件。网上技巧说只要展开HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion主键,在下面建立“Explorer”子键,再为其新建一个名为“AlwaysUnloadDll”的字符串值并赋值“1”,重启后即可清除内存中不被使用的DLL文件(图3)。

201615zcb3

图3 网传增加注册表可以清除内存中不被使用的DLL文件

虽然随着系统使用时间的增加,软件安装、使用、删除,系统注册表不可避免产生冗余数据。不过Windows运行机制是调用当前程序所需的动态链接库文件,而对于那些冗余数据(包括丢失的文件关联、错误的动态链接库等等)其实是不会被系统再次调用和访问。因此上述技巧其实并没有优化效果(因为冗余DLL文件压根就不会被系统调用到内存中)。正确优化方法则是无需操作,保持系统默认设置即可。

修改注册表加快上网速度

为了加快上网速度,网上流传一个技巧,只要展开HKEY_LOCAL_MACHINE\System\CurrenControlSet\Services\Tcpip\Parameters,然后在右边键值区中,找到或新建一个名为“GlobalmaxTcp WindowSize”的DWORD键值项,将其数据值数据设为“256960”(十进制)即可(图4)。

201615zcb4

图4 网传修改注册表来加快上网速度

大家知道网络数据传输大多使用TCP/IP协议,该协议将传输的数据分成大小相同的数据包,数据包越大,冗余数据就会越多。其中数据包的最大容量就是Maxmtu,在Windows中系统默认的Maxmtu值是1500字节,一般宽带实际的传输单元要略小于这个数值。这样在上网的数据传输过程中,数据包中的数据就需要分组重装成宽带适合的数据包大小,这样导致数据传输速度骤减,上网速度就减慢了。上述技巧实际上就是人为将Maxmtu值更改为一个固定字节。不过在实际上网中,每个运营商Maxmtu值并不相同,上述统一设置是不科学的。正确的优化方法是根据自己ISP服务商实际情况进行设置,这样才能获得最优的效果。

以管理员身份启动命令提示符输入“ping -f -l 1492 192.168.1.1”(1492位测试值,192.168.1.1位当前网关地址,请根据自己实际情况设置),此时系统会返回数据,如果显示“需要拆分数据包但是设置DF”,则表明当前Maxmtu值太大了,需要重新进行设置(图5)。

201615zcb5

图5 查看系统的Maxmtu值

此时可以降低数值继续测试,直到系统返回没有上述显示,此时获得的就是当前系统最大Maxmtu值,最后才根据测试到的数据进入注册表进行修改。不过要注意的是上网速度提升关键还是取决于当地网络供应商提供的网速,上述优化提速效果并不明显。

小提示:

除了对注册表键值进行增减优化外,网上还有许多针对整个注册表进行的优化,如删除冗余数据、历史记录、残留链接等。不可否认随着使用时间的增加,系统注册表不可避免会产生垃圾数据,但是对于无效的键值,系统不会调用,而且这些数据在注册表中占用的空间也极小,相对于系统存储空间占比更是可以忽略不计。注册表文件是数据库文件,是完整的索引,系统会在每次更改之后更新,清理注册表能节省的空间微乎其微,也无必要,并且不会对系统启动、运行速度带来任何影响。如果用户使用第三方注册表优化软件进行优化,这样很容易对注册表完整性造成破坏,从而导致系统出现这样那样问题。因此对于整个注册表优化,正确的做法是什么都不要做,

组策略替代注册表

注册表是系统核心数据库,直接控制着系统的启动、硬件驱动程序的装载以及一些应用程序的运行,从而在整个系统中起着核心作用。因此对于普通用户并不建议直接删除或添加注册表键值(因为这样极可能导致系统崩溃)。实际上对于家庭版以上的用户,系统自带的组策略编辑器很多操作和注册表编辑功能类似,因此对于常见的优化,我们大多可以通过图形化组策略编辑器来实现。

锁定IE主页,注册表需要展开HKEY_CLASSES_ROOT\CLSID\{871C5380-42A0-1069-A2EA-08002B30301D}\shell\OpenHomePage\Command,右击右边的“默认”将其值修改为“"%ProgramFiles%\Internet Explorer\iexplore.exe" www.baidu.com”,即将主页固定为百度。组策略编辑器则只要展开“用户配置→管理模板→Windows组件→Internet Explorer”。在窗口的右侧我们可以找到“禁用更改主页设置”并设置为“已启用”即可(图6)。

201615zcb6

图6 禁用更改主页设置

锁定注册表编辑器,注册表需要展开HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\System下的DWORD值“DisableRegistryTools”修改为“1”。组策略编辑器则展开“用户配置→管理模板→系统”,将右侧窗格的“阻止访问注册表编辑工具”设置为启用即可。

限制指定程序运行,注册表需要将HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Group Policy Objects\{EFF601E2-FFE3-43BC-BC8B-8E4F44A6EEF1}User\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\DisallowRun,DisallowRun的值设置为“1”。组策略编辑器则展开“计算机配置→Windows设置→安全设置→软件限制策略,然后在软件限制策略上点右键,创建一个阻止程序的策略即可。