硬盘上的文件被损坏

ai9*_*i91 6 memory hard-drive memory-timings file-corruption windows-8.1

tl;博士

在我的新电脑(Windows 8.1 x64)上,本地 SATA-HDD 上的一些文件在没有明显原因的情况下被损坏(在一些空闲之后)。

不是病毒/恶意软件!(在安装了 AVG 杀毒软件的情况下进行了测试,还使用了干净的全新 8.1,没有任何第三方软件/驱动程序)

各种测试实用程序未检测到硬件故障。

长版

我注意到我的档案中的某些文件在闲置一段时间后损坏了。

似乎它们总是被损坏的相同文件:通过我对 >33000 个 jpeg 文件集的最后一次测试,我得到了相同的 30 个文件的列表,这些文件总是被损坏。看起来这 30 个文件包含一些特定的字节序列,在某些情况下会“激活”损坏。

(在我意识到存在问题后,我会定期从备份中恢复文件,然后使用 WinMerge/BeyondCompare 将它们与备份进行比较)

损坏模式非常相似:在大多数情况下,一些最后一个字节(大约 10-20 个最后一个字节)被随机数据填充。但并非总是如此 - 在文件的开头/中间也会遇到带有随机数据的文件。

我对硬件问题做了一些测试,但没有发现任何问题:

  • 测试 RAM(使用 MemTest86+ 和其他一些工具 - 夜间使用不同的填充模式进行测试 - 未检测到问题)
  • 测试硬盘(在 0x05 '重新分配扇区计数'属性上检测到 SMART 问题,按保修更换硬盘(相同型号)。现在没有 SMART 问题,表面扫描没有坏扇区。

也做了很多各种各样的实验。喜欢:

  • 重新安装的窗户
  • 尝试使用干净的窗口(即使没有主板制造商的驱动程序,仅默认由 Microsoft 提供)
  • 尝试安装所有正确的驱动程序(从制造商的主页下载)
  • 删除所有分区并重新分区/格式化硬盘
  • 尝试安装了 AVG Antivirus 并且没有任何

一项测试给出了积极的结果(可能):使用从 U 盘启动的 PartedMagic Linux。使用 linux 几周后,我没有损坏。但我仍然不确定这个 linux 发行版是否使用相同的硬件访问模式(如内存使用,或某些 SATA 连接等),或者它根本不是偶然发生的。

一开始我认为这与 Windows 驱动程序/缓存配置有关。我在 Microsoft Community 上提出了同样的问题,但没有解决方案。( answers.microsoft.com/en-us/windows/forum/windows8_1-files/files-on-hdd-getting-corrupted/e2b04d4f-d3ea-492d-a181-c1d437ab1507 )

问题仍在分析中:我仍然没有得到稳定/可预测的序列来重现问题。目前我正在使用或多或少的准稳定重现序列(重现问题仍需要几天时间):

  1. 修改配置(硬件或软件)
  2. 从备份中恢复文件
  3. 通过比较 HDD 上的存档与 NAS 上的备份副本(通过本地网络)启动 WinMerge
  4. 如果未检测到损坏,请转到步骤 3。

步骤 3. 需要几个小时 (4-6),在多次迭代后也可能检测到损坏。如果我在比较时尝试使用计算机,可能会发生这种情况 - 不确定。

我目前的理论:它可能与 RAM 相关(即使损坏的文件从未在写入模式下访问过。可能是 Windows 在某些内部文件索引过程中对压缩的 NTFS 内容进行了一些透明的重新分配......不知道)。

  • 移除单个 DDR 模块:连续测试 3 天后问题未重现。
  • 用先前提取的潜在“坏”模块替换“好”模块:问题在 1 天内重现。(尽管 MemTest86+ 在发布后立即没有检测到 RAM 的任何问题 - 进行了 6 次扩展测试)
  • 安装了 Keept '坏' 模块,但修改了 BIOS 中的 RAM 频率 1600MHz->1300MHz - 已经运行了 3 天的比较测试 - 到目前为止没有重现任何问题。

硬件

软件

  • Windows 8.1 64 位(包含所有最新更新)
  • 文件系统:NTFS 压缩

问题

考虑到以上所有内容,任何人都可以提出建议或确认我的假设:

  1. 有谁知道可能是什么原因?或者我还能做些什么来找出原因?是否有其他测试工具可以进行一些深度测试(例如在密集视频内存使用期间的内存测试等)?

  2. 如果我目前的假设是正确的(可能我的 KINGSTON RAM 型号与主板不完全兼容,或者一个 RAM 模块有点缺陷并且不能在 1600MHz 下正常工作),我可以用哪些测试工具来证明这一点?(MemTest86+ 和其他几个没有检测到任何问题)

  3. 今天我也注意到:当我在 BIOS 中将内存时序从 AUTO 切换到 MANUAL 时,默认值与 KINGSTON 规范推荐的不同:应该是 tRAS>33.75(在 BIOS 中默认值为 27),tRFC 应该是 >260(在 BIOS 中默认值为 208,但最大值为 255,仍然小于推荐的 260ns)。从理论上讲,这可能是一个原因吗?(也将测试手动计时,但需要一些时间)。

ai9*_*i91 1

所以,经过两个月和更多的实验。:-)

太长;博士;

通过禁用 NTFS 压缩已解决该问题。

根本原因仍然未知:我认为可能是由硬盘、内存或主板引起的。 或者通过NTFS 实施压缩。

长版

我玩过 RAM 计时 - 没有帮助。

联系制造商支持人员询问有关已知硬件问题的问题。RAM 和主板制造商没有任何有关已知问题的信息。硬盘制造商(东芝)没有回答:-)

无论如何,在我禁用压缩后,在正常使用计算机近两个月后,该问题并未重现。而存储在压缩文件夹中的另一个示例副本已多次损坏/恢复。

Windows 8.1 中使用的压缩算法的实现可能存在错误。

我还使用 Windows 10 版本进行了测试 - 压缩文件在一天的空闲期间被损坏。