这可能是微软Technet论坛Windows vista版有史以来最长的一个求助帖——23页,324个回复,1月最初发帖,直到昨天仍然有回帖,微软的那些赚家们根本不知去向——描述的就是在 Windows Vista系统中,在本地或网络环境下使用资源管理器的功能进行文件的复制、移动、删除,速度极慢的现象。
我使用此系统也接近一年时间了,从一开始也发现 了这一现象。读完整整23页,可以总结出7种解决办法——虽然有些人测试了所有办法,仍然没有什么效果,但是对于我,还是有点作用的。
故障现象:
1、这些现象在50-75%的情况下发生,“很长时间”是指至少2倍于XP执行相同操作的时间。
2、需要很长时间才能打开一个本地或网络目录并显示它的内容
3、在本地或网络目录之间复制文件需要很长时间(文件数量越多而不是大小越大,速度越慢)
4、需要很长时间才能显示文件或目录的右键菜单
5、建立和显示目录的缩略图导致屏幕闪烁和Explorer卡死
6、使用CMD进行操作时不会出现任何上述问题
目前已有的解决方案:
1、打微软KB931770补丁。这篇微软知识库文章主要说明了在网络环境下Vista向Windows 2003等系统的共享内复制文件时出现的速度慢甚至死机的现象,但是像Win2000/XP/2003的KB888111 HD Audio补丁一样,这个补丁不提供本地下载。当然很快就有人给出了下载地址,Google一下就能找到。
2、禁用索引服务(Windows Search)。这看上去确实能够起一些作用,但是应该没有真正解决问题。
3、将资源管理器设置为禁止显示预览,只显示图标。这样可以使系统不再试图预览文件,大大提高资源管理器的速度。但这也不是治本的方案。
4、 在“打开或关闭Windows功能”中禁用“远程差分压缩”。这是目前最有效的解决办法——而且这不但可以解决网络上复制文件速度的问题,也可以解决本地 复制文件速度的问题,这个效果不明(比较本地与远程文件的差异以便节省带宽,这好理解吗?!)的功能,原本是为网络环境设定,但是不知为何也影响到了本地 的文件复制。
5、关闭IPV6、QoS数据包计划程序等。这个方法因为没有测试,不知道是否真的有效。
6、修改注册表:建立或修改DWORD值HKEY_LOCAL_MACHINE\Software\Policies
\microsoft\Windows\System\CopyFileBuffered\Synchronously为1。
这个据说是微软的人员提出的解决办法,不过我看这个键值是影响的Win32子系统的CopyFile函数,但是使用CMD复制文件并不会出现缓慢的情况。但是这个方法的作用也值得怀疑。
7、检查磁盘系统的硬件和驱动程序,或者更换磁盘的接口,去掉所有的USB设备。这似乎对某些nForce SATA的用户起到了极大作用。
1、vista在进行文件的移动/复制之前,似乎都要对目标目录进行长时间的检查。这个检查,就是发生在那“计算剩余时间”的过程中。确定目标内是否有同名文件,似乎并不需要耗费很长时间,列目录罢了;但是这里提到的检查,时间可以长得奇怪。
2、有时候,USB设备之间复制是文章初提到的那种现象的最突出的表现。这能说明什么呢?
3、有人在使用ProCESsMonitor程序分别监视Explorer和CMD复制文件的过程中发现:Explorer能够产生2000条以上的记录,而CMD仅仅产生了30多条;Explorer在复制文件的时候会奇怪地进行“重命名”操作。
4、一些人复制非Vista下建立的文件不出现问题,复制Vista下建立的文件就出现了缓慢的问题。
5、很多人出现此症状的同时,从事件日志中可以看到,Windows Search服务也异常关闭了。
最重要的是,在这个问题漫长的6个月寿命中,没有任何来自微软的人员站出来,也没有任何消息。难道这个问题真的要拖延到SP1?