我的主要 Windows 11 机箱中有一个 2TB 的 Seagate HDD,我认为它已经到了使用寿命的尽头。它是数据驱动器 - 其中包含视频游戏、源代码(由远程存储库支持)、文档(由 Google Drive 支持)和大量随机内容(例如 Stable Diffusion 签出)。在大多数情况下,它的丢失不会导致明显的数据丢失,但我也不想重新创建它上面的所有内容。
在注意到它的一些性能问题后,我购买了一个新的 4TB WD Red HDD,并尝试使用 ROBOCOPY 将所有文件传输到它(作为参考,我认为第一个咒语是“robocopy D:\ H:\ /MIR /XD $RECYCLE.BIN“系统卷信息”虽然 MIR 对于全新的驱动器来说毫无意义)。
就在那时,我发现源驱动器有问题,文件无法通过 CRC32 检查。我还是使用 /R:0 /W:0 重新运行了 ROBOCOPY,它复制了一堆数据,轻松复制了 90% 的内容,但现在我不知道丢失了什么。由于我有 WSL,我尝试对几个文件使用 ddrescue,结果令人鼓舞(例如,一个 wave 文件恢复时没有任何明显问题),而来自无数 Android SDK 之一的随机 Java 文件似乎有点可疑。
这引发了许多问题:
鉴于我有证据表明我的驱动器有大量坏扇区,以至于导致(所谓的)数据丢失,那么有意义地复制所有内容的策略是什么?我最初的想法是尝试在相当高的目录级别找到增量并删除任何易于下载的内容(最好不要使用 Android SDK 21,而不是让随机的 Java 文件丢失或损坏)。问题是,如果感觉很乏味 - 我猜问题是普遍存在的和随机的。有什么好的工具(Windows 或 Linux)可以给我提供差异摘要?什么会有良好的可用性?
更重要的是,我显然被坏扇区/数据损坏打了个措手不及。在 Windows 上,防止这种情况的最佳做法是什么?我可以定期进行扫描工作(也许每周一次,晚上)进行全面检查吗? chkdsk 可以吗?运行完整的 HDD 检查成本很高,是否有可以随机或增量执行此操作的工具?
既然我已经确定硬盘是“坏的”,我该如何确定坏的数量?如果我进行完全格式化,希望重新映射坏扇区,是否可以将其重新用于更不稳定的用途?例如,我目前有另一台 PC 用作使用外部硬盘的媒体中心。出于美观的原因,将数据复制到我的坏硬盘并继续使用它直到它完全坏掉是否有意义?还是这只是自找麻烦?硬盘在第一次损坏时是否应该被丢弃,这意味着它用于扇区重新映射的任何魔法都被推到了极限?
答案1
答案:
使用磁盘比较工具,例如 合并。
有关更多工具和详细信息,请参阅 如何在 Windows 10 中比较文件夹和文件。保留备份并留意磁盘的 SMART 属性。
坏磁盘只能被重新放入垃圾箱。
答案2
要在早期阶段检测扇区损坏,请在注意到系统出现异常行为时使用 smartmontools 等软件。它并不昂贵,因为它会为您提供一些固件的簿记值。如果您比较谨慎,您可以每天运行该软件(如果您愿意)。
使用包含校验和的文件系统,我认为 Windows ReFS 就是这样的。否则,当您使用 NTFS 时,您必须手动对文件进行校验和,保存它们,并且必须在将来将文件树与校验和进行比较,更新新文件的校验和数据库等。
按照用户 Joep van Steen 在其评论中给出的建议操作。这将产生一个仅处理逻辑错误而非物理错误的驱动器。显然,部分或所有待处理扇区(如报告图片中所示)将无法读取。这将导致文件损坏和/或文件系统损坏。
请再次复制磁盘,以便获得可用的副本。不要指望能够再次复制故障磁盘,因为使用损坏的磁盘很可能会加剧损坏问题,并导致复制的扇区数量减少。
您可以在第二个副本上应用任何您想要的恢复软件,看看效果如何。如果失败,您仍然可以咨询专业的恢复实验室。根据您的预算和数据的重要性,您甚至可以考虑让实验室在您不先复制故障驱动器的情况下完成他们的工作。