引起我对启动速度问题关注的事件一:
记得应该是在3年前,初次使用XPSP1,当时我在的网吧新进一批磐正C51主板,用的记费软件是美萍,以为之前所有机器都是INTEL芯片的主板,系统启动好记费大概是25秒左右,后来新进的C51主板,系统随便做做就可以达到15秒启动好记费,于是直观的感觉,系统启动速度与主板芯片是有{jd1}关系的. 引起我对启动速度问题关注的事件二: 一年之后,ISO9000 XPSP1诞生,后来在与老板一起做维护事业,当时接了一家网吧,硬件芯片有3种VIA的什么忘了,还有INTEL的,还有NV的C61,当时那家网吧老系统滚动条只需要转一圈半就进系统,之后黑屏时间较长,然后显示XP欢迎画面较久,之后启动万象记费.当换成我做的系统后需要滚动3圈-4圈,然后黑屏一下直接显示桌面并启动万象记费,鼠标已经变成箭头并没有漏斗了. 当时系统做好后自己也心虚,人家的老系统滚动条只滚1圈半,结果我做的新系统要滚3-4圈.面部发烧中...于是在没把新系统给老板看之前,自己偷偷的到那家网吧拿秒表把2个系统的启动时间做了下对比,发现老系统虽然滚动圈数少,但是其后的一些黑屏,启动记费速度就很慢,而且进系统后还比较卡.当时具体的启动时间记不清了,大概是20多秒吧.可以说启动速度也很快了,但是我自己的系统一算时间,刚16秒而已.... 心中非常得意. 于是隔天开始刻盘,刻好盘后老板果然问起我来,偷偷的和我说,哎?你这系统怎么启动这么慢呀~~我当时就差点没乐出来了,我就说你有秒表没?他说有.拿秒表一看,老板笑了,我也笑了~ 自这件事后,我开始确定系统启动速度与硬件当然有关系,但是也并能xx说在哪种芯片上启动肯定快,哪种芯片上启动肯定慢. 引起我对启动速度问题关注的事件三: 后来又接了家网吧,其中有批VIA芯片的机器,做母盘的机器启动速度很正常,大概是15-16秒就启动万象,开机连接ADDOL虚拟盘的.后来刻了一块硬盘发现启动速度直接变成将近30秒.滚动条滚动完成后,一直在欢迎画面等待,要等半天才肯进系统启动记费,当时直接就蒙了,这是怎么回事?见鬼了不成? 于是开始一点点检查,到底是什么原因导致的这个问题,后来也忘记是怎么检查出来的,把"Shell Hardware Detection"服务设置为自动就好了,启动速度立刻恢复正常,可是做母盘的机器上是禁止Shell Hardware Detection服务的,但是刻好盘的机器却必须设置为自动启动速度才正常,然后把母盘里的服务改成自动,对启动速度也没影响.但是对于这个服务的解释也没有太多说明,考虑到工程进度,就赶紧把母盘的Shell Hardware Detection服务改成自动,然后做GHO.刻下去了,刻好后每台机器都很正常. 此事件之后,我知道了"Shell Hardware Detection"服务是影响到滚动条黑屏后显示欢迎信息时间长短的因素之一. 以上3个事例是{jd1}真实的,并非捏造,但是事情过去很久了,有些细节也表述不清楚了,希望大家看了上面的历史后不要追根问底了.下面说下具体该怎么做,才能做到15秒启动好系统. 首先说下影响启动速度的几大因素. 一.影响滚动条的滚动圈数部分. 1.网上很多人说的,预读. 关于预读问题大家可以看下 经典问题:开机速度,开机后运行程序的速度,预读的设置问题。 - 死性不改's Blog~ 这篇文章,里面有较为详细的说明.不过当时我是把ISO里设置的预读是3,而现在改为1了。 2.硬盘接口. IDE硬盘肯定要接为主板,SATA硬盘尽量接到1口或2口,有人说接到1口可能会影响到网刻速度,虽然未证实,但是避免惹麻烦,那就接到2口好了. 3.系统做好后,尽量不要带光驱启动. 因为我做的系统是精简安装版,需要用到光驱,所以系统安装好,{dy}次启动好后,要关机,然后把光驱拔掉,再开机进行其他操作,虽然这点影响不大,但是发现有时是有影响的. 4.硬盘要确定没问题.没问题的条件不一定是能用,也许能用,但是硬盘上慢道多,启动速度也是上不来的,所以建议做母盘时,自己准备一块硬盘,这样新里有底. 二.影响滚动条,黑屏阶段之后的欢迎画面等待时间的因素. 1.预读设置. 在有些情况下,预读设置就可以直接搞定欢迎画面等待时间,70%情况下,预读为1黑屏阶段,欢迎画面阶段的等待时间都会很久.预读为3,等待时间就会非常短,甚至会一闪而过,也就是说,黑屏完了直接显示桌面. 2.上面事例提到的Shell Hardware Detection服务设置.对于这个服务微软说明是"为自动播放硬件事件提供通知。"根据当时LZ我们争论的结论是这个服务应该与USB设备,或者添加新硬件后,搜索驱动的速度,但是并没有实例证明,但是这个服务与启动速度有关却有实事证明. 在绝大多数情况下,禁用此服务,会缩短欢迎画面阶段的等待时间,但是有时又必须把此服务设置为自动才会缩短欢迎画面阶段的等待时间,这个就需要根据自己的实际情况来判断了. 3.控制预读是否起作用的"Task Scheduler"服务. 说到这里估计一大批人都会骂老楚SB,为什么?因为此服务微软的服务说明写的清清楚楚,这个服务就只是计划任务而已.说明内容如下"使用户能在此计算机上配置和制定自动任务的日程。如果此服务被终止,这些任务将无法在日程时间里运行。如果此服务被禁用,任何依赖它的服务将无法启动。" 那么我们换个角度来思考,XP启动过程需要预读的东西就是系统启动时的任务,那么这个设置就直接关系到预读是否有作用,也直接关系到启动速度. OK.根据3个事例,6个因素,我要进行具体设置说明了。其实是很简单的,如果你能看明白,并且理解上面我所说的,那么下面的做法你也就理解了. 调试部分: 1.要想启动快,就要有个好的系统ISO,不懂ISO是什么请百度.当然GHOST版也可以. 而这个母盘最主要的因素就是原版安装用起来很流畅,尽量是没被修改过的,当然修改过的默认装好后也很流畅,那也OK.同时{zh0}是在256内存.垃圾配置上测试安装的纯净系统.然后你在通过各种方式,包括精简,封装等方式把ISO的预读的默认设置改为"禁止" 至于为什么这么做大概有2个原因. 其一就是对于一些根本不懂的人来说,你的系统默认安装好启动速度很快. 其二就是预读功能默认禁止的话,刚装好的系统就是没有预读功能,同时也不会有垃圾注册表,对后期的优化也会非常敏感. 2.系统装好后,关机,把光驱以及一些存储设备断掉.同时不要做任何设置操作,做一个纯净的景象文件备份好.然后进行装驱动,以及播放器,记费,游戏软件的安装,并把所有该运行的软件都设置为自动运行,比如PUBWIN啦,游戏管理软件啦,都设置为开机运行.但是千万不要修改服务.然后再做个备份. 其实在这个过程中,你会发现系统启动速度并不快.PF占用也很高.但是都不要理会,继续做,别担心~ 3.所有软件都装好了,备份也做好了.OK.开始调整启动速度. 首先首先把服务优化好,重启,然后进入注册表,开启预读,因为系统装好默认是禁止预读的,现在需要开启. 把"EnablePrefetcher"=dword:00000003的值改为3,因为我遇到的大多数系统都是改为3黑屏时间最短,滚动条滚动次数为3-5次. 然后进入服务管理,把Task Scheduler服务设置为自动并在服务上点右键,重启服务.这时你会发现,在没重启的情况下,在系统默认禁止预读的情况下C:\Windows\目录下会多出一个Prefetch文件夹,也就是预读文件存放的位置.也就是说,从此刻开始,预读已经生效了.OK.重启机器. {dy}次重起不会有明显变化,机器启动好后,等待大概3-5分钟.然后再重启,正常情况下这次启动滚动条圈数已经会有变化了.有什么变化呢?那就是滚动圈数增加.因为关闭预读时,基本上滚动圈数都在3圈以内的.当预读生效后会增加至3-5圈,甚至6圈.但是你会发现黑屏时间,已经欢迎画面时间会很短,基本上可以说是一闪而过了.通常欢迎画面的显示时间会稍微长点,经典登陆界面相对时间要短,但是也就是1秒的差距,可以接受的. 如果此时你的系统已经可以达到我说的情况,也就是滚动3-5圈,直接进桌面,那么恭喜你,你很顺利.此时先进入C:\WINDOWS\Prefetch看看预读文件有多少,如果只有2-5个,那就不用管了,基本上会预读"MMC.EXE-随机数字+字母.pf","NTOSBOOT-随机数字+字母.pf","WINLOGON.EXE-随机数字+字母.pf","SVCHOST.EXE-随机数字+字母.pf"这么几个文件,如果只有这些就不用管了,如果说预读文件夹还有其他预读文件的话,比如pubwinclient.exe的预读文件,建议删除,因为预读文件也可能会导致这些程序内存不能为读的,但是上面提到的文件不会出现内存不能为读的情况,具体原因未知, 然后进入服务管理.把"Task Scheduler"服务设置为禁用,并停止该服务,重启,重启后应该状态就被保存了,尽管注册表里开着预读,但是也不会再产生垃圾预读文件了. 到这里,启动速度也就优化好了,但是如果照这么做了,不管用怎么办??? 最常见的就是滚动条圈数确定,但是欢迎画面那里等待时间还是很久那么好,这就需要调整Shell Hardware Detection服务了,首先把Task Scheduler设置为自动并启动,然后再把Shell Hardware Detection服务设置为自动并启动,然后在Task Scheduler服务上右键,重新启动服务,目的是为了刷新预读状态,再重启,重启几次后如果欢迎画面等待还很久,那好,把Shell Hardware Detection服务停用再禁止掉,重启几次,通常会发现欢迎画面信息时间已经是一闪而过了.. 如果还不一闪而过怎么办?那就继续根据调试部分的要求,重复上面加粗加红的部分重复.一直到成功为止,通常顺利的情况下,这些操作完成大概3-5分钟就OK了,如果搞了半天还是没效果,可以等系统启动好后等2-5分钟后再重启一次,一般就可以达到优化效果了. 看到这里可能很多人都蒙了,那老楚也没办法,我花了近2年多研究的结晶,就是在这么麻烦的条件下试验出来了,这也就是为什么同一个系统,我做快,你做就慢的原因,但是我基本上都是用自己做的系统来采取以上优化设置,可以达到我说的效果,但是别人的系统我没用过,无论是深度,雨林木风,诺得尔,绿茶的系统,我都没测试过,如果是使用这些系统,对我说的设置不管用,那就自己搞一个吧. 如果大家感觉有什么疑问,可以跟贴提问,但是希望尽量去自己研究,根据我文内说到的具体事例,具体要求来实践!下面附带一份我做好的系统服务设置图. |