最近我的笔记本电脑有时会警告硬盘上有损坏的文件(三星 SSD PB22-JS3 TM)。到目前为止,这种情况只发生在使用 TortoiseSVN 或命令行 Subversion 客户端更新(或签出)SVN 存储库时。
有趣的是,损坏的文件一直是一个.svn
目录(尽管目录条目可能如果文件足够小,则也包含该目录中的文件(SVN 应该如此)。但是,查看警告目录时,我没有发现任何奇怪或不寻常的东西,也没有收到任何警告,并且再次尝试更新工作副本(一旦发生该错误,SVN 就会停止更新 — TortoiseSVN 甚至会显示相应的错误消息)可以成功(嗯,大多数情况下;有时它会再次更新,尽管使用的是不同的目录)。
由于这台笔记本电脑才几个月,我怀疑 SSD 已经出现故障——五个月的正常使用应该不会太令人惊讶。而且(到目前为止)它只发生在大型存储库上的 SVN 更新中。也许是因为在短时间内写入太多,软件和硬件之间的某些部分跟不上速度——我对此了解不够多,无法在这里做出有根据的猜测。
有谁知道这是怎么回事吗?
预计到达时间:需要补充说明的是:我已经运行了 chkdsk(当发生这种情况时,它似乎无论如何都会自行安排),并且没有发现任何异常。
答案1
看看这与您的问题相关。
简短的摘要:Windows 7 NTFS 文件系统驱动程序有一个错误,有时当一个进程尝试访问另一个进程(例如后台文件索引服务)正在使用的文件时,它不会产生“访问被拒绝”错误(这是正常情况),而是“文件损坏”。这反过来也会导致被chkdsk
安排在下一次系统启动时。引用链接文章:
微软已确认这个错误:
这是 Windows 7 中 NTFS 文件系统的一个已知问题。在对具有原子 oplock 的文件执行替代重命名时会发生这种情况(原子 oplock 是 Windows 7 中的一项新功能)。索引器使用原子 oplock,这就是为什么禁用索引器时它会有所帮助。Explorer 也使用原子 oplock,这就是为什么您仍然看到此问题的原因。发生这种情况时,会错误地返回 STATUS_FILE_CORRUPT,并且卷被标记为“脏”,这是向系统发出的信号,表明需要运行 chkdsk。没有发生实际损坏。
答案2
我在使用同一个三星驱动器(MMCRE28G8MXP-0VBL1 - 我很确定它属于 PB22 系列)时也遇到了类似的问题
我只用了两周,但它已经中断了正常启动,多次运行 chkdisk 来检查驱动器一致性。没有出现任何问题,但它肯定是在响应 NTFS 损坏问题。在事件查看器中,它向我显示了几个 NTFS 损坏错误 - 事件 ID:55 任务类别 2。
我不能肯定地说,但我感觉这些错误与高活动量的驱动器使用有关。我一直在同时处理几个大型 Excel 文件(10MB 以上),很明显驱动器正在非常努力地跟上。也许 NTFS 正在“不同步”
当它通过 chkdisk 运行时,它确实提到了 USN 日志,但我还没有密切关注它。