Windows-延缓写入失败的几种原因及解决方法

 

出现提示:Windows无法为某盘某文件保存所有数据,数据已经丢失。这个错误可能是由于您的计算机硬件或者网络连接的失败而造成的,请尝试把这份文件保存到别处。

第一种说法:重做系统。

你一定是优化过程中改了HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\PrefetchParameters这个健值,非常奇怪,在有些机子上这个健值不能改,我以前的机子改了这个健值没问题,升级后除了显卡没换其他都换了,改这个健值也没问题,但一个月前换了显卡重装系统后改了这值就不行了,开始不知道是这个原因,足足花了一天一夜才弄清楚,优化一项就重启一次,终于在改了这个健值出现了和你一模一样的错误才知道。幸好有GHOST,不然都不知道要重装多少遍。

 

第二种说法:WINDOWS 延缓写入失败原因解析

Windows使用了一个特殊的子系统,用于对一些基于磁盘的操作提供支持,例如有一种技术,能够把对磁盘的写入操作暂时缓存起来,然后等到系统空闲的时候再执行相应操作。这种叫做“写入缓存”的技术做能够提升系统的性能,不过默认情况下系统可能并没有开启该功能。
想知道“写入缓存”选项是如何设置的吗?请打开“设备管理器”,展开“磁盘驱动器”,接着在下面任何一个驱动器图标上点击鼠标右键并选择“属性”,然后切换到“策略”标签。在这里你应该会看到两个选项:“为快速删除而优化”(所有的东西都直接写入硬盘驱动器)和“为提高性能而优化”(写入到缓存)。第一个选项可以允许你快速的断开设备与电脑的连接,例如一个USB闪存,你不用点击任务栏里面的“安全删除硬件”图标就可以直接把这些设备和电脑断开。如果两个选项都处于灰色无法选择的状态,那么说明你的磁盘驱动器默认已经把“写入缓存”选项打开了。(欲查看更多关于延缓写入默认状态的信息,请查看微软的文章“Windows XP and Surprise Removal of Hardware” )
在Windows XP系统中有时候会弹出“写入缓存失败(Delayed write failed)”的提示,告诉你延缓写入系统可能存在一些问题。虽然这并不是什么致命错误,不过也值得引起你足够的关注。

 

下面是一些常见的引起“写入缓存失败”的原因:

1.磁盘驱动器本身的原因。这种情况尤其发生SCSI或者RAID驱动器上。有一些RAID驱动器的驱动程序会在安装了SP2的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。

 

第三种说法:看来有物理坏道

当磁读数据到此的时候,由于遇见坏道,变难以继续下去,就出现上述错误.暂时的磁盘整理和格式化可以解决一下问题,但是,问题始终是存在的. 建议你尽快备份重要数据,以免造成损失. 如果你的F盘是外接的硬盘的话,也有可能是电压不稳定,造成掉电,或者数据线有问题所致…

 

第四种说法:

1打开了磁盘的“对磁盘启用写入缓存”功能。
2UDMA硬盘用了40针IDE线,而不是所需的80针IDE线; 硬盘不支持UDMA5等,而BIOS设置被配置为强制使用高模式的UDMA。要解决此问题,请确保硬盘线是80针IDE线,并且在BIOS中正确设置了IDE端口的UDMA模式(你可以全部设置为auto).关闭“对磁盘启用写入缓存”功能:在 Windows 资源管理器中,右键单击硬盘,然后单击“属性”。单击硬件选项卡。单击硬盘,然后单击“属性”。单击“策略”选项卡。单击以清除Enable write caching on the disk”(对磁盘启用写入缓存)复选框,然后单击两次“确定”。

 

其他解答参考:

一般你在某一存贮设备(硬盘、移动硬盘、U盘)安装、复制大文件的时候,在系统托盘区域图标可能会出现一个提示“Windows – 延缓写入失败 windows无法为c:???文件保存所有数据。数据已经丢失。这个错误可能是由于您的计算机硬件或者网络的连接失败而造成的。请尝试把这份文件保存到别处。”。

  如果出现这种情况,你的“苦难”也许开始了,因为即使你看完下面的内容,也可能无法解决问题;如果还没过质保期又非人为错误(例如优化),强烈推荐重装系统(没有重要软件)或者送检。

  一般有三种设备会引起这种情况:1、硬盘,2、移动硬盘,3、U盘(优盘)。

 

基础尝试操作:

    一、如果出错的时候开了BT、电骡等耗内存的程序,建议先关闭它们看看是否还会出错;
    二、如果系统启动时候就出错,清空临时文件、清空预读文件或者关闭预读机制(用Windows优化大师);
    三、如果移动硬盘、U盘出错,也可以考虑在BIOS里关闭USB2.0支持,使用USB1.1;
    四、一般U盘(优盘)建议使用FAT格式,当然,FAT32也不是绝对不能用,但稳定性不好。

    五、运行磁盘检查(U盘可在 cmd运行模式下运行“chkdsk 盘符: /f”命令检查磁盘错误并修复);

问题分析:

  一、系统设置问题

   1.1、关闭存贮设备的“写入缓存”(一般不建议硬盘禁用这个)。
       对任意盘符右键,选择菜单的“属性”,再选择上面的“硬件”标签——好了,现在你可以尝试关闭出错设备的“写入缓存”——选定某一设备,按右下的“属性”按钮,在新窗口再选择上面的“策略”标签;选择“为快速删除而优化”的,按下面的“确定”按钮。
       警告:当U盘使用“为快速删除而优化”后,你需要观测U盘灯判断是否读写完成,不要乱插拔。。。。。

   1.2、(警告:只针对硬盘,不到最后别尝试这个,貌似损失性能比较厉害,如果无效,一定要改回去!!!)XP“控制面板”、“系统”,选择上面的“硬件”标签,按“设备管理器”按钮,在新窗口里双击“IDE ATA/ATA PI控制器”,再双击下面的设备(一般就两个,IED口嘛),然后选中硬盘所在的位置(Primary Channel 或者 Secondary Channel),将下面的“Enable write caching”的钩去掉(我的是非系统自带的英文驱动,所以中文也不知道是怎么样的)。

   1.2、禁止LargeSystemCache(大系统缓存)。
     1.2.1、你用Wopti Utilities(Windows优化大师)取消“启用大系统缓存(服务器可选)”( V7.6版以前的版本,应该能看见“启用大系统缓存(服务器可选)”这个选项,为了系统的稳定,后续版本貌似已经取消。);
     1.2.2、运行注册表程序regedit.exe,查看HKEY LOCAL MACHINESYSTEMCurrentControlSetControlSession ManagerMemory Management这个项目右边是否有“LargeSystemCache”的键,如果有并且值为1,双击把值改为0。
           提示:你也可以直接查找“LargeSystemCache”这个值。

  二、BIOS设置问题

   2.0、清CMOS,然后BIOS载入默认值;

   2.1、不要乱设驱动器的UDMA模式,一般使用AUTO自动检测;

   2.2、尝试关闭内存的奇偶校验(英文叫“Master ECC Enable”,设置为“Disabled”);

   2.3、(多条内存的话)尝试降低内存时序,增大CAS Latency(CL)、DRAM RAS TO CAS Delay、DRAM RAS PRECHANGE TIME、DRAM ACTIVE TIME的值(其实就是增加延迟~)

  三、硬件问题

   3.1、IDE线尽量用80线而别用40线,USB线尽量别使用延长线,另外检查线是否接触不良或者质量问题;

   3.2、盘符冲突问题,例如硬盘、光盘跳线不对等。

   3.3、电源问题(U盘一般可以忽略);
       硬盘问题,老机器需要检查电脑电源是否供电不足;
       移动硬盘问题

 

点赞 (0)

发表评论

电子邮件地址不会被公开。 必填项已用*标注