如何加速磁盘的安全擦除?

如何加速磁盘的安全擦除?

我需要时不时地安全地擦除硬盘,并使用了多种工具来执行此操作:

  • cat /dev/zero > /dev/disk
  • cat /dev/urandom > /dev/disk
  • shred
  • badblocks -w
  • 数据库管理网络

所有这些都有一个共同点,那就是它们需要很长时间才能运行。

在一种情况下, cat /dev/urandom > /dev/disk磁盘被杀死,显然是因为磁盘过热。

是否有一种“足够好”的方法来实现及时使磁盘上的任何数据变得不可用?覆盖超级块和几个具有战略意义的重要块或类似的东西?

这些磁盘(旋转磁盘和固态硬盘)来自捐赠的计算机,随后将用于在其上安装 Linux 桌面,分发给买不起计算机但需要计算机的人们。

捐赠计算机的磁盘通常不会被加密。有时捐赠者甚至不会想到事先删除文件。

更新

从目前得到的答案来看,似乎没有捷径可走。我最好的办法可能是设置一台实验室计算机来同时擦除多个磁盘。这也是向大公司寻求捐赠的另一个原因 :-)

感谢大家!

答案1

覆盖超级块或分区表只会使重建数据变得不方便,如果您只进行十六进制转储,这些数据显然仍然存在。

硬盘具有内置擦除功能:ATA 安全擦除,您可以使用以下命令激活hdparm

  1. 选择一个密码(任何密码):

    hdparm --user-master u --security-set-pass hunter1 /dev/sdX

  2. 开始擦除:

    hdparm --user-master u --security-erase hunter1 /dev/sdX

由于这是一个内置功能,因此您不太可能找到真正提供真正擦除的更快方法。 (不过,这取决于你来确定它是否符合你的偏执程度。)

或者,使用具有全盘加密的磁盘,然后当您想要处理数据时扔掉密钥即可。

答案2

可能不受欢迎的答案: 请耐心等待,彻底安全地擦拭磁盘。

您已经接受了来自各种来源的捐赠硬件,并承诺他们的数据将被安全删除。所以你必须按照你的承诺去做 并安全地擦除磁盘。

如果我是捐赠者,发现你不遵守承诺,我以后就不会再给你硬件了。

并且不要缩短 DBAN 运行时间,或者认为清除前半部分或前 10% 就足够了,但事实并非如此。


为了让你的DBAN运行更方便,你通常会从主机上移除驱动器吗?如果是这样,请准备一台具有多个 SATA 端口的低功耗台式机。当您有几个驱动器准备好擦除时,请将它们全部设置在这台计算机上,并使用可引导的 DBAN ISO 或网络引导 DBAN 会话擦除它们。然后让机器继续运行,直到最后一台完成。

您可以使用 SATA-USB 磁盘坞站,但与本机 SATA 连接相比,速度往往非常慢。

其次,您是否有存储捐款然后处理捐款的工作流程?或者您是否接受硬件,测试它,擦拭它,然后存放物品以供使用?我建议您创建一个适合您的管道,并使 DBAN 成为该管道中的一个阶段。因此,当您从商店中取出一台机器时,它已经被擦除且已知良好。

答案3

dd大块可能比以下更快cat

dd if=/dev/zero of=/dev/disk bs=16M

在这个过程中杀死一个磁盘是好事,无论如何它可能是微不足道的。

如果您进行 LUKS 加密,则可以在设置加密后完成此操作(使得更难发现磁盘上已使用/未使用的空间)。

你无法避免 I/O,以 50MB/s(对于旧磁盘来说这是一个不错的速度),250GB 需要 5000 秒(大约 1.5 小时)写入。唯一的问题是你能达到多接近这个目标。

答案4

从安全(偏执)的角度来看,这可能是不可能的。

有一种情况,当你只能重写磁盘的一小部分时,大多数人会认为它是保存的。如果驱动器已加密,则覆盖加密标头(存储加密密钥的位置)应该使其无法恢复。

但还有另一个问题 - SSD 可能会保留标头数据(用于覆盖标头的随机数据可以保存到其他单元)。

相关内容