转自:http://www.m5home.com/blog/article.asp?id=208
这个功能在XP上是有的,2003也有.
但是我发现重装系统后,2003就没了~~~~~真怪........
于是按关键字"预读取"来搜索,只找到了早已知道的EnablePrefetcher注册表项设置方法.
说EnablePrefetcher设置为0是关闭,1是预读系统程序,2是预读其它程序,3是两者都读.
可无论怎么设置,Prefetch目录下就没有那些PF文件出现.......真怪了.
虚拟机中的XP,2003都是正常的,真是怪了.
于是把C盘GHOST保存一下,塞张2003数据中心版的盘,装上去.
也怪,新装的系统就没问题,但我用原系统启动,却真的没有.
无奈中只有恢复原C盘,上网求助.
想了半天,还是去微软官方讨说法吧.
于是就发了个帖子:
http://forums.microsoft.com/china/ShowPost.aspx?PostID=4255293&SiteID=15&mode=1
版主很快给了回复,但是我运行那个"rundll32.exe advapi32.dll,ProcessIdleTasks"后没用,重启也没用.
而且Prefetch目录下也没有那个layout.ini.
不过我又得到了一个新的关键字,layout.ini.
搜索后,得到一篇专门谈预读取机制的文章:
http://hi.baidu.com/passedbylove/blog/item/1a7fbc29ead28afd99250ae8.html
从这里面的说明里,才看出这个预读取功能的几个要点:
一,prefetcher功能依赖计划任务服务. 这也是我一直没有成功恢复预读取功能的重要原因------我禁用了计划任务服务(Task Scheduler)
二,预读取功能的开关在以下键值: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\PrefetchParameters 此分支下的EnablePrefetcher项,选值为0到3.
三,恢复layout.ini文件到prefetch目录,需要运行版主提到的命令: rundll32.exe advapi32.dll,ProcessIdleTasks
在计划任务开启的情况下,可以马上恢复layout.ini文件(我确实没有重启,就正常了,应该要以上几个条件同时满足吧) 不过我感觉这个文件与预读取功能没啥关系,应该是与那个自动碎片整理有关.
四,重启三次,没道理......我这里重启是为了让注册表的改动生效,一次即OK.
原因终于清楚了,关键就是第一条.
第二条已经早就知道了,第三条与此功能貌似无关(清楚原理的朋友还请解说一下).
好,又解决一个问题......爽~~~~
|