更新:

更新:

复制/下载大文件(3+ GB)时,校验结果会有所不同。

尝试的方法:

  • 两台计算机之间的跳线传输。(源总和正常)
  • 从主站点下载。
  • 从另一个分区复制。(原始总和没问题)

该文件是基于 Debian 的操作系统的 ISO。(但这不是唯一有问题的文件……)

我同时使用 Ubuntu 15.10 和 Mac OSX El Capitian,两者都遇到了这个问题。不过,在 Mac 上我最终能够正确获取文件。

我已经从实时 CD 运行了该badblocks命令(在整个磁盘上)和fsck.ext4(仅在 Ububntu 分区上),没有报告任何问题。此外,驱动器的 SMARTS 报告还报告磁盘正常。

这可能是驱动器故障吗?我还能做些什么来检查硬盘的完整性?

更新:

所以另一件有趣的事情正在发生...我运行了一次 sha1sum 并得到: 87004a6bea1ff1792f733f9048b3c43b7a2c66af我又运行了三次并得到了6607f5a66aee980a8958bb99f9871158a852a319 91b8a6674b9a90ab07c151cedc203a2d9806193f076d303bbbce719edffd9ed821bc83c448d42bb4。我没有对这个文件做任何更改...有什么想法吗?

更新2:

我刚刚重启了系统,总和已经停止“移动”了……所以看起来我可能在写入过程中切断了它,尽管cp它返回了……我现在很困惑,为什么它会在缓冲区中停留这么长时间。有人知道我该怎么办吗?

答案1

我猜是内存坏了——如果内存很小,不经常使用,那么复制文件时可能会出现小错误,而且可能非常间歇性。我希望在dmesg/var/log/syslog 中看到有关磁盘读取错误的提示。

当计算机“预热”时,检查memtest几次。我读到过,运行 24 小时是一个 100% 可靠的测试,但只需几分钟就能发现任何大错误,一个小时应该就足够了。


如果文件适合 RAM,则只能从磁盘读取一次,后续读取将从 RAM 中的磁盘缓存中读取。要清除/刷新磁盘缓存并尝试再次从磁盘读取,请运行:

sync; echo 3 | sudo tee /proc/sys/vm/drop_caches

回应 3 清除所有缓存,回应 1 仅清除页面​​缓存(磁盘缓存和其他缓存我认为), 2 释放可回收的 slab 对象(包括 dentry 和 inode) - 参见/proc/sys/vm/* 的内核文档

相关内容