Windows缓存写入失败的原因以及解决办法
无法为该文件保存数据,这可能是因为你的网络连接错误或计算机硬件造成,请另保存数据。 关闭以后还会弹出类似对话框,都是system32下的文件,好象很多是*.log文件,系统无法启动,但重新插拔内存后故障消失。 故障分析
Windows使用了一个特殊的子系统,用于对一些基于磁盘的操作提供支持,例如有一种技术,能够把对磁盘的写入操作暂时缓存起来,然后等到系统空闲的时候再执行相应操作。这种叫做“写入缓存”的技术做能够提升系统地性能,不过默认情况下系统可能并没有开启该功能。
写入缓存是一种能够把对磁盘的写入操作暂时缓存起来,然后等到系统空闲的时候再执行相应操作的工作模式,能够提升系统性能。通常造成写入缓存错误的原因是磁盘子系统与内存子系统发生故障。你可以检查硬盘线、硬盘本身、内存条是否工作正常,用替换法就可以。另外,还要确认主板驱动程序安装正常、Bios中硬盘的各项参数设置正确。
想知道“写入缓存”选项是如何设置的吗?请打开“设备管理器”,展开“磁盘驱动器”,接着在下面任何一个驱动器图标上点击鼠标右键并选择“属性”,然后切换到“策略”标签。在这里你应该会看到两个选项:“为快速删除而优化”(所有的东西都直接写入硬盘驱动器)和“为提高性能而优化”(写入到缓存)。第一个选项可以允许你快速的断开设备与电脑的连接,例如一个usb闪存,你不用点击任务栏里面的“安全删除硬件”图标就可以直接把这些设备和电脑断开。如果两个选项都处于灰色无法选择的状态,那么说明你的磁盘驱动器默认已经把“写入缓存”选项打开了。
在Windows Xp系统中有时候会弹出“写入缓存失败(delayed write failed)”的提示,告诉你延缓写入系统可能存在一些问题。虽然这并不是什么致命错误,不过也值得引起你足够的关注。
下面是一些常见的引起“写入缓存失败”的原因
1.磁盘驱动器本身的原因。这种情况尤其发生scsi或者raid驱动器上。有一些raid驱动器的驱动程序会在安装了Windows Xp Sp2的Windows Xp操作系统中报告一个虚假消息告诉用户“写入缓存失败”。所以你应该为你的磁盘驱动器安装最新版本的驱动程序。
2.数据线的原因。一些错误或者损坏的数据线,特别是外部usb线和火线,会造成这种情况。如果你的数据线过长,或者数据线连接到的是一个质量不合格的usb hub上,也会造成写入缓存失败。最后,还有可能是因为你有一个需要80针数据线的udma驱动器,但你却使用了一条40针脚的数据线。
3.scsi终止错误。虽然这种情况在使用了self-terminating技术的scsi设备上很少发生,但是我们还是必须把它考虑进来。
4.媒体错误。这是可能发生的最严重的情况,换句话说,也就是磁盘驱动器坏了。如果你能通过smart(比如smart simple )软件获取磁盘驱动器的统计信息,那么你可以通过这些信息来判断磁盘驱动器出现了机械(物理)故障。你还可以使用一个叫gibson research's spinrite的工具来帮助你诊断媒体错误,只是这个软件在对磁盘驱动器进行完全检测的时候会耗费相当长的时间。
5.计算机的Bios设定强制开启了驱动器控制器不支持的udma模式。虽然udma 模式能够增强磁盘的性能,但是如果驱动器控制器不支持的话将会导致一些错误发生。这种情况并不多见,主要是发生在新安装的硬件设备上(该硬件设备支持udma模式),用户可以通过升级bios或者将bios中关于硬盘驱动器的选项恢复成默认的“自动检测”模式来解决这个问题。举个例子:如果设置成udma mode6模式的设备出现了问题,那么你可以将它设置成mode5模式。
6.驱动器控制器的问题。我曾经遇到usb控制器和其他硬件设备冲突并产生写入缓存失败的情况。如果你的系统同时拥有长和短两种pci插槽(64位和32位),请尝试将usb控制器从长pci插槽中拔出。一些比较老的pci 卡并不支持这种类型的插槽。
7.内存的奇偶校验错误。这种情况通常发生在你新增了一条内存之后,造成这种错误的原因是很可能是你的新内存条和主板所支持的内存类型不符,或者是内存本身有问题。(内存有问题还会造成其他一些错误,例如随机死锁等)
8.注册表中的largesystemcache键值错误。这种情况很少见,通常发生在那些安装了ati显示适配器,内存大于521mb的机器上。这些机器上的注册表中有一个叫做largesystemcache的键 hkey local machinesystemcurrentcontrolsetcontrolsession managermemory management该键值用来管理系统分配给一些核心进程的内存容量,如果键值被设为1的话(这样设置可以增强内存大于512mb的机器的性能),有可能会在一些系统中导致数据错误和产生写入缓存失败的错误。如果出现这种情况的话,请把该键值改为0。