有这样一则广为流传的Windows XP优化技巧:
减少Windows XP进度条跑的圈数,提高系统的启动速度。可以通过将注册表中“HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSessionManagerMemory ManagementPrefetchParameters”分支下EnablePrefetcher的键值修改为“1”来达到。这样可以减少预读取的文件数,减少进度条等待时间,效果是进度条跑一圈就进入登录画面了。
动手实践:
笔者按照这条技巧实践操作,将EnablePrefetcher的值分别设置为0、1、2、3,并分别测出设置后计算机从POST画面开始到出现欢迎屏幕的时间。多次统计的结果是:这四种情况下的时间差值几乎可以忽略不计。在这个启动过程中,虽然滚动条的滚动次数的确比未修改之前有明显的减少,但此画面过后到欢迎屏幕出现之间的黑屏时间却增加了很多,所以测出来总的时间几乎相等。至此,笔者不得不对这个优化方法打个问号,其实这则技巧有两个值得质疑的地方。
质疑点一:减少预读取的文件数可以缩短系统启动时间?
注册表中EnablePrefetcher这个键的键值可以设置为以下几个值。其含义分别为:
“0”——取消预读取功能;
“1”——系统将只预读取应用程序;
“2”——系统将只预读取Windows系统文件;
“3”——系统将预读取Windows系统文件和应用程序(Windows XP的默认值)。
试验的结果已经表明,修改了值后系统启动时间并没有明显减少。这说明减少预读取文件数并不是优化系统启动时间的主要因素。
质疑点二:进度条圈数减少意味着系统启动时间缩短?
修改注册表后,我们看到的只是进度条的等待时间(即滚动的圈数)减少了,但实践表明,这只是表面的假象。那为什么系统的启动时间还是没有明显减少呢?这就需要了解系统启动的过程了。
系统启动优化重点:看清计算机启动全过程
要让系统的启动时间加快,最主要的是优化计算机的启动过程。我们先来看看计算机启动时经过了哪些过程。
计算机接通电源后,第一步要进行加电自检,也就是POST(Power On Self Test),检查RAM、驱动器等;第二步BIOS会读取活动分区主引导记录的启动装载器;第三步启动装载器初始化完成,操作系统启动正式开始,这个过程主要又分为引导阶段、加载内核阶段、初始化内核阶段、登录系统启动这四个阶段。其中初始化内核阶段是一个很复杂的过程,系统需要加载很多底层硬件的驱动程序,读取注册信息、寻找新硬件设备、启动相关服务,初始化显示设备和显示出用户界面等。并且实施各种用户自定义的配置,例如安全配置等。
回头再审视前面提到的这个技巧,从默认值修改为只预读取应用程序的确可以减少预读取的文件数。但是,Windows XP启动仍然是一个很复杂的过程,单纯地修改预读取文件数并不能有效地达到优化系统启动的目的。
随着系统中程序和文件的增加,系统启动速度变慢也是很正常的事。要明显地优化系统启动过程,主要需要调整硬件的启动选项,减少系统检测硬件时间,定期整理磁盘、减少系统中不必要的自启动程序等等。