现代驱动器是否能够由最终用户进行低级重新格式化,还是这严格是工厂 OEM 流程?

现代驱动器是否能够由最终用户进行低级重新格式化,还是这严格是工厂 OEM 流程?

众所周知,现代硬盘(例如 4 至 8TB SAS/SATA)在销售前由制造商进行低级格式化,以便保存数据。“重新格式化”通常只是意味着清除现有轨道/扇区内的用户数据内容(这包括擦除轨道 0,或“快速格式化”)。

制造商允许下载其驱动器的工具(例如 Seagate 的“seatools”),该工具可以执行所谓的“低级格式化”,但我完全不清楚这是否仅仅是“低级重新格式化”或真正的低级格式化。

我之所以怀疑,原因之一是,对于现代驱动器,如果原始磁道写入不是更大过程的一部分,我会感到惊讶,在该过程中,获得的数据随后被输入到校准和控制参数中,这些参数控制每个盘片和整个单元的磁头控制细节,因此纳米级电子设备和磁头伺服等的制造差异,或微控制器或 HDD 固件的差异,会导致内部参数完全适合控制特定驱动器。此外,为了提高产量,略有不足的驱动器可能具有略微不同的控制参数,不会对它们施加太大的压力(因此它们仍可按预期出售)。此外,由于同一型号的两个 PCB 可能无法互换,因此问题可能会更加严重。

在这种情况下,也许盘片可以真正进行低级重新格式化(因为物理组件和参数在最初评估/测量后不会改变)……或者也许不能。也许重写磁道只会使驱动器的参数不理想,而不是无法使用。

所以我的问题是,如今的最终用户真的可以对现代硬盘进行低级格式化吗?意思是,重写实际的数据轨道,就好像磁盘盘片尚未格式化并且没有任何轨道或​​数据一样,并且它有效吗?我还指的是现实地在实验室/生产线之外 - 是否可以在家庭或小规模环境中仅通过软件来完成,是否有普通最终用户需要的必要软件。我必须提到一些“退出”条款,以使问题更加集中:

  1. 我假设任何固件/闪存加密密钥这不是什么问题,但在现实中它们可能是一个严重的障碍。是吗?

  2. 我还假设用户可以拆下 PCB,但是没有洁净室,如果能用纯软件方法格式化,他们也不想拆卸任何东西通过常见的 SAS/SATA 端口。问题在于普通人是否真的能够真正低级地重新格式化现代硬盘,而不是人们能否破解硬盘内部结构,达到 DefCon 论文中提到的水平 :)

  3. 我假设用户可以(如果他们愿意)控制或重新制作固件刷新器,这意味着理论上如果没有其他办法,他们可以让控制器执行其物理上能够执行的任何操作,包括任何数据写入。(假设没有无法克服的键入或拆卸问题)。但也许由于某些技术原因,控制器在物理上无法在 OEM 情况之外重新格式化,或者 OEM 可能会在销售前在芯片本身中烧录链接以阻止某些操作。因此,某些操作可能存在物理限制,这些限制可能会或可能不会阻止低级重新格式化。

  4. 可能是低级重新格式化可能但不现实,因为校准问题,你无法做到这一点,除非你有一些硬件或专业设备/参数计算器,而这些是必需的,而且无法获得/访问,也没有现成的可下载的等效物来进行逆向工程或复制。在这种情况下,一些企业可以商业化地做到这一点,将捆绑的控制系统提供给 OEM 合作伙伴、研究人员和数据恢复实验室,但实际上不是任何人。知道这一点很有用,但并不能真正说明没有这些联系人和资源的人能走多远。它本质上说“是的,如果你能够并且愿意复制 OEM 生产线的关键部分来做到这一点”。

  5. 最后,可能无法进行低级格式化就目前情况而言由于校准/参数问题,但是可以破解一个简化的固件或自制软件,使其不依赖于如此高度调整的参数,刷新它,然后在盘片上做他们想做的事情。再次了解这一点很有用,但我真的在考虑一个低级重新格式化,这样驱动器就可以与标准制造商的固件一起使用,理想情况下不会对可靠性产生太大影响。

为什么最终用户会想要进行低级格式化?大多数人不会。我能想到三个原因,从可能到深奥:

  • 发现了一个旧驱动器,由于某种原因,它似乎旋转起来,但是位翻转和退化以某种方式降低了制造商低级磁道的质量(但神奇的是,不是机制或 EEPROM/NVRAM 固件/参数的问题),并且用户很好奇它是否可以重写其磁道,如果可以,那么它是否可以再次使用,作为一种爱好/实验。

  • 用户想要做一些类似于 1970-1980 年代的业余爱好者软盘系统的事情,在那个时候,你可以编写自己的磁盘访问代码,并随意将数据存储在磁盘上。用户已经搞清楚了 JTAG 和微控制器,或者可以解锁 OEM 功能或重新编程固件,他们现在想知道驱动器是否具有物理上的低级格式化能力,如果可以,他们是否只能使用 OEM 设置的轨道(并且只能修改预先创建的轨道/扇区结构中无法访问的数据),或者他们是否可以从头开始重写低级格式化。

  • 用户比较偏执和/或在非常高敏感的区域工作,并希望在使用前进行低级格式化,以防 NSA 说服 2-3 家主要驱动器制造商在低级格式化中添加隐藏代码(跳过的扇区、空白区域等)。(顺便说一句,这是可以做到的,并且在任何情况下,扩展的磁盘固件、参数、断电时的缓存转储等都会作为正常操作的一部分定期保存在驱动器的非用户区域。所以它并不完全是偏执的)。用户可以访问和检查固件(参见前面的示例),但希望在使用前对购买的驱动器进行低级重新格式化,以确保他们确切知道存储的内容,而不是盲目相信。

那么 - 从技术上讲,通过现代 HDD 制造方法(例如 WD/Seagate/Toshiba)可以实现这一点吗?以及在多大程度上可以实现?

答案1

如今的最终用户真的可以对现代 HDD 进行低级格式化吗?

不,因为当前版本中没有提供此功能的 ATAPI 命令(例如,基本上只有扇区写入和读取命令)。而且不再有寻道命令。
由于用户(或驱动器外部的任何人/任何事物)不再知道实际驱动器几何形状(每个磁道的柱面数、磁头数和扇区数),因此不应执行磁道格式和显式寻道操作。

当然,当 HDD 开始使用分区位记录时,“低级”格式(即用地址标记、ID 和间隙写入轨道)就消失了。当 IDE 驱动器将扇区大小固定为 512 字节时,“低级”格式就成了濒临灭绝的命令。

答案2

在软盘驱动器和老式硬盘驱动器上,磁道号和磁头位置之间存在校准关系。即使磁盘上根本没有磁脉冲,也可以将磁头移动到某个位置并知道它在哪里。

然而,当这一概念被音圈驱动器取代时,驱动器容量得到了大幅提升。音圈驱动器的控制器提供的电压与机械位置大致相对应,并使用磁盘上的工厂写入标记不断告诉驱动器控制器磁头的位置,并允许其进行连续的微小调整以确保磁头位于需要的位置。虽然有多种方法可以实现这一点,但一种简化的方法是让每组扇区标记前面都放置一组偏移半个轨道的标记。

如果驱动器磁头可以在 1/3 轨道间距内检测到数据,并且驱动器仅看到轨道 #57.0 的标记,则驱动器会知道它位于轨道 #57 中心的 1/6 轨道距离内。如果它不仅看到 #57 的标记,还看到 #57.5 的标记,它就会知道它位于轨道 #57 中心的 1/6 和 1/3 轨道之间。如果它只看到 #57.5,它就会知道它位于轨道 #57 中心的 1/3 和 2/3 轨道之间,等等。即使驱动器的机械校准仅精确到 +/- 20 个轨道,驱动器仍然可以通过移动到近似位置、查看它的位置并根据需要优化位置直到它位于所需位置的 1/6 轨道内来找到轨道。

这种描述有点过于简单,但关键的一点是,如果磁盘上没有写磁位置标记,普通硬盘驱动器就无法创建它们。相反,硬盘驱动器会导致标记在磁盘组装成驱动器之前就已存在 - 已用一些经过精心校准和维护的设备写入。不仅用户软件无法执行低级格式化,甚至驱动器的机械硬件也无法执行该任务。

答案3

在单台计算机和单个用户的限制内,没有。

但...

“如果你能使用硬件,你就拥有了计算机。”

如果有足够的动力,用户可以从一台计算机上移除硬盘并将其放置在另一台计算机中,并且他们可以对该硬盘做任何他们想做的事情。

这就是加密如今成为安全基本组成部分的众多原因之一。

答案4

要覆盖 Windows 中的所有扇区,请运行以下命令(替换0为磁盘号):

diskpart
select disk 0
clean all

来自帮助:

Syntax:  CLEAN [ALL]

ALL         Specifies that each and every byte\sector on the disk is set to
            zero, which completely deletes all data contained on the disk.

相关内容