如何可靠地检测硬盘是否已损坏?

如何可靠地检测硬盘是否已损坏?

我的老板担心我在进行磁盘克隆时无意中损坏了难以配置的源硬盘。

我不认为驱动器已损坏,因为它似乎在各个方面都运行正常,但是我需要向我的老板证明这种看法,因为该应用程序对安全至关重要。部分疑问在于 Acronis True Image 在克隆完成时出现错误,尽管在测试时,目标驱动器运行正常。

我的经验是,克隆要么失败,要么完美运行。此外,源驱动器在克隆过程中损坏的可能性很小。这些假设合理吗?

我怎样才能明确地确定这一点?

平台是 Windows 10 Pro,但我对任何操作系统环境的方法都感兴趣。

谢谢你!

回复评论:错误信息为“磁盘克隆失败”。可能不是逐字逐句,但非常相似的通用错误。如果我再次进行克隆,将使用确切的措辞进行更新。

我的老板认为数据可能被篡改了,因为测试期间两个驱动器上的操作系统都变得非常不稳定。后来我意识到这是因为我在取出驱动器时取下了一些接地胶带,更换接地胶带后,两个驱动器上的问题都解决了。

答案1

您可以对磁盘上的所有文件进行 sha256 校验。唯一的问题是:

  1. 比较它们需要花费很多时间
  2. 如果你在克隆后启动任一映像,则某些部分将会改变

因此,克隆后您必须立即进行 sha256 比较,而不是启动任一驱动器。

因此,如果所有 sha256 都匹配,则文件相同。

答案2

你的老板究竟有何理由认为你损坏了复制操作的源磁盘,而明知备份操作只涉及源驱动器上的读取操作?

我的经验是,克隆要么失败,要么完美运行。此外,源驱动器在克隆过程中损坏的可能性很小。这些假设合理吗?

您的备份操作可能暴露了源驱动器的问题,因为您的备份操作尝试读取驱动器中在正常使用期间不会读取的扇区。当您搜索 Rufus 程序时,您会在此网站上找到类似的问题。人们声称 Rufus 正在破坏他们的 USB 驱动器。实际上,它暴露了目标驱动器的问题,因为在短时间内写入了大量信息(一个大图像文件),占用了 U 盘上的大量空间。

我怎样才能明确地确定这一点?

您需要验证扇区可读性和文件系统完整性,因为您没有透露在 Acronis True Image 中使用的复制模式:文件或分区、已用空间或逐个扇区的完整复制...

  1. 运行 smartmontools 并在此处发布您的日志文件。

您可以在这里找到有关如何编译日志文件的描述:

https://forum.cgsecurity.org/phpBB3/viewtopic.php?f=5&t=10910

  1. 根据日志文件中显示的参数,您应该复制源驱动器或搜索不可读扇区。最简单的方法是从装有 Knoppix、systemrescueCD 或其他程序的 Linux U 盘执行此操作。基本语法类似于 ddrescue infile outfile mapfileinfile并且outfile可以表示分区和驱动器以及文件。您需要在磁盘上运行该命令。mapfile 将以编码但可读的形式显示不可读扇区。

如果是为了验证输入驱动器的可读性,则使用/dev/null输出文件丢弃输出目标。

  1. 在源磁盘上运行 chkdsk

在源上运行 chkdsk 不可撤销。如果您怀疑源磁盘已损坏,请确保在调用 chkdsk 之前有可用的副本。

答案3

克隆不会造成损害硬盘即物理设备。读取要克隆的磁盘和写入要克隆的磁盘与任何其他磁盘操作没有什么不同。这意味着意外损坏磁盘的几率并不比复制文件时更大(当然,会根据要克隆的数据量进行调整)。虽然驱动器可能会在克隆过程中损坏,但在这种情况下,它在正常操作下也会很快损坏。导致此事件的不是克隆,而是驱动器的状况。

可以通过读取磁盘的 SMART 参数来检查磁盘的物理状况。SMART 是内置于磁盘中的诊断数据收集系统。最重要的是,重新分配的扇区数和待处理扇区数理想情况下都应为 0。如果这些参数中的任何一个大于零,则应认为驱动器不完全可靠。如果它是数千个,它就是一颗定时炸弹。

如果 SMART 看起来没问题,那么磁盘就没有损坏(嗯,除了外部机械损坏,比如您提到的磁带)。

然后是逻辑损坏,即磁盘结构损坏:分区表和文件系统。换句话说,字节可以正确读取和写入,但它们的值没有意义或不一致。这种损坏可能已经存在于源磁盘上,在处理映像时引入,或者在写入目标磁盘时发生(尽管更复杂的克隆器(如 Acronis True Image)会检测到第一种情况,除非启用逐扇区克隆)。如果克隆到比源更小的分区,也会发生这种情况,但如果我没记错的话,True Image 也会检测到这种情况。

一个不错的分区编辑器应该会告诉您分区表是否存在任何问题。例如,GParted 是免费的,可以从 Ubuntu USB 启动,它会在启动时警告您任何潜在问题。如果它进入主窗口而没有其他对话框,则分区表没有问题。然后查看显示的分区旁边的警告或错误图标。如果有,请右键单击分区并选择信息。(如果缺少某些系统包,最新版本的 GParted 将在 FAT 分区旁边显示错误 - 这并不表示分区存在问题,可以忽略。)

最后,分区上的文件系统可能已损坏。对于 NTFS,最好使用 Windowschkdsk或其图形对应程序来检查文件系统一致性。其中一些问题可以通过这些工具修复。

相关内容