如果硬盘驱动器有损坏或物理损坏的扇区,可以覆盖这些扇区吗?

Ram*_*mza 13 hard-drive data-recovery wipe

我有一个可启动的 FreeBSD 驱动器,在将电脑捐赠给我当地的旧货店之前,我用它来擦除硬盘驱动器的内容。我使用以下命令来实现此目的:

dd if=/dev/urandom of=/dev/[drivename] bs=64k
Run Code Online (Sandbox Code Playgroud)

假设硬盘驱动器有损坏的扇区或物理损坏的区域。这些扇区会被上述命令覆盖吗?或者是否仍然可以从损坏或损坏的扇区中提取数据?

Joe*_*een 18

这是一类取决于观点的问题:

在某些时候,损坏的扇区无法读取或写入。但硬盘驱动器的设计理念是,在某些时候可能会发生坏扇区。

如果没有适当的机制来处理此类扇区,这将会产生后果:假设 LBA 地址处的扇区变坏,我们的连续 LBA 地址空间会突然出现一个漏洞。为了应对这种情况,硬盘驱动器需要维护一个备用扇区池。例如,一旦硬盘发现 LBA 100 处的扇区有问题,它就可以将 LBA 100 重新映射到备用扇区,并使原始扇区停止运行。

因此,不,您将无法写入 LBA 100,即原始扇区,但由于驱动器会将 LBA 地址映射到备用扇区,您毕竟可以写入 LBA 100。因此,只要驱动器有可用的备用扇区,您就可以写入该扇区,而实际上您正在写入不同的物理扇区。

有一些条件会触发驱动器处理坏扇区:

  • 读取时出错。硬盘驱动器将尝试从该扇区恢复数据,如果成功,它可能会决定重新映射该扇区。如果不能,该扇区将变为“待处理”(您可以在“智能 - 待处理”中看到这一点)。它只会在写入时重新映射挂起的扇区。
  • 写入时出错。如果驱动器确定某个扇区无法可靠使用,它将重新映射该扇区(您可以在 SMART - 重新分配中看到这一点)。

该驱动器已经重新分配扇区,并且还有待处理的扇区。如果您写入以下内容,待处理的扇区将会消失:

在此输入图像描述

关于恢复数据,或者如你所说,从坏扇区提取数据:

从坏扇区获取数据的最佳“工具”是硬盘驱动器本身。如果驱动器无法读取某个扇区,它将应用各种错误恢复技巧,甚至无需您提出要求。每个扇区可能需要长达 20 秒的时间。这就是为什么人们经常抱怨“不稳定”的驱动器速度慢;驱动器只是非常努力地从有问题的扇区恢复数据。

专门从这些扇区恢复数据的软件只能做一些事情:

  • 请驱动器重试。
  • 尝试长读取(尽管此功能很久以前已从 ATA 规范中删除)。通常,如果驱动器无法读取扇区,您将不会获得任何数据,而只会收到错误。使用长读命令,您基本上可以告诉驱动器,给我您可以读取的任何数据,即使您认为它是错误的。
  • 有时,可能会出现由于扇区损坏而无法读取的情况,而这是困扰驱动器的其他问题,例如固件问题。在这种情况下,专门的数据恢复工具(通常是硬件和软件的组合)可能能够帮助读取这些扇区。
  • 通常,数据恢复工具将用于分多次对驱动器进行映像,其中第一遍尝试尽可能跳过坏扇区,而随后的每次扫描都会在坏扇区上花费更多时间。但同样,您经常会遇到根本无法读取的扇区。

编辑:如果这是关于覆盖数据并击中坏扇区,则适用相同的机制:

如果驱动器在擦除过程中发现坏扇区,它将被重新分配。有些人可能会认为这是不安全的,或者可能是一个攻击媒介,因为原始扇区已停止使用,因此不会被覆盖。

然而恢复的可能性不大:

  • 访问未映射到 LBA 的扇区需要相当昂贵的工具,例如 PC3000。
  • 即使如此,也无法读取坏扇区,这就是将其定义为坏扇区的原因。即使使用PC3000,扇区数据恢复的机会也很小。
  • 任何成功写入(因此被覆盖)的扇区中的原始数据都无法恢复,尽管流行的神话认为数据可以从模糊的残留痕迹和诸如此类的东西中重建(这种说法必然会在这种类型的某些时候提出)线程)。

如果驱动器支持增强擦除,那么这将是安全擦除所有扇区(包括已重新分配的扇区)的最佳选择。

  • 我认为关于用零消隐后恢复的神话曾经是正确的,但现在已经不再正确了。最初的解释涉及使用示波器读取数据,示波器会告诉您数据的年龄以及当时的存储密度。 (5认同)
  • 谢谢,看来我没读懂这个问题。 (3认同)
  • 原始发帖者询问在捐赠前擦拭驱动器。意思是,如果存在坏扇区,那家伙想要写入的唯一数据就是“/dev/urandom”;他不想读它。但只是好奇擦除命令(就像他发布的那样)会做什么。它不会写入这样的坏扇区。但仍然存在的任何杂散数据都会从现在已擦除的文件中分离出来。使数据无用。 (2认同)
  • @Joshua,我责怪CSI;) (2认同)

Mar*_*oyd 8

在很大程度上,问题取决于“坏”是否意味着操作系统已将其标记为“坏”,或者驱动器的固件是否认为它无法使用。

在第一种情况下,较低级别的工具可能能够覆盖它。

在第二种情况下,坏区已被标记为不可用,并可能从保留池中替换,这些是固件操作,除非使用特殊的硬件工具,否则“坏”区很可能无法被覆盖。

如果整个存储区域没有在硬件级别上被擦除和重新格式化,那么坚定且资金充足的对手很可能可以从中恢复信息。从历史上看,即使在硬件擦除之后,顶级取证设备也可以恢复原始数据的痕迹,因为时钟/数据转换的残留痕迹可见为非常微弱的模拟信号。

固件或操作系统级别的操作不会阻止这种情况。

最终,擦拭驱动器的唯一方法是使用锤子和熔炉。


r2d*_*2d3 5

由于我不确定一种设置中的行为,因此以下情况适用:

固态硬盘

您尝试擦除的扇区与用于存储这些扇区内容的闪存块之间没有固定的映射。

由于闪存块的写入周期寿命有限,一旦闪存块达到使用寿命,SSD 固件就必须重新映射闪存块。这种重新映射操作并非偶然,它是常规磨损处理的一部分。这种老化或磨损过程反映在某些 SMART 属性的变化中,具体取决于制造商。重新映射后,您将无法再通过操作系统访问这些扇区。不过,专用工具似乎能够做到这一点。

LUKS 加密系统中的反取证分离器就是为了应对这种影响而构建的。

硬盘

扇区号和物理扇区之间的映射通常是静态的,但在 HDD 使用寿命结束时出现的错误除外。待定行业的数量似乎像雪崩一样增加。由写入操作触发的待处理扇区重新映射到待处理(不可读)扇区使得该扇区对于操作系统不可用。查看重新分配的扇区计数(SMART 属性)的原始数据,以确定您无法访问的范围。

我无法判断的是,对待处理扇区的写入操作是否会触发对该扇区的最后一次写入尝试(这可能会导致写入成功),或者该扇区是否会立即重新映射。

结论

重新映射可以防止您对 HDD 和 SSD 进行擦除操作,但随着时间的推移,重新映射的分布会有所不同。SMART“重新分配扇区”属性对于 HDD 很常见。您可以使用它来评估有多少扇区无法覆盖并采取相应措施。考虑到 SSD 的操作方式,我宁愿物理上销毁它们,也不愿依靠用随机数据或零覆盖其内容。