![如何加速磁盘的安全擦除?](https://linux22.com/image/164309/%E5%A6%82%E4%BD%95%E5%8A%A0%E9%80%9F%E7%A3%81%E7%9B%98%E7%9A%84%E5%AE%89%E5%85%A8%E6%93%A6%E9%99%A4%EF%BC%9F.png)
我需要时不时地安全地擦除硬盘,并使用了多种工具来执行此操作:
cat /dev/zero > /dev/disk
cat /dev/urandom > /dev/disk
shred
badblocks -w
- 数据库管理网络
所有这些都有一个共同点,那就是它们需要很长时间才能运行。
在一种情况下, cat /dev/urandom > /dev/disk
磁盘被杀死,显然是因为磁盘过热。
是否有一种“足够好”的方法来实现及时使磁盘上的任何数据变得不可用?覆盖超级块和几个具有战略意义的重要块或类似的东西?
这些磁盘(旋转磁盘和固态硬盘)来自捐赠的计算机,随后将用于在其上安装 Linux 桌面,分发给买不起计算机但需要计算机的人们。
捐赠计算机的磁盘通常不会被加密。有时捐赠者甚至不会想到事先删除文件。
更新:
从目前得到的答案来看,似乎没有捷径可走。我最好的办法可能是设置一台实验室计算机来同时擦除多个磁盘。这也是向大公司寻求捐赠的另一个原因 :-)
感谢大家!
答案1
覆盖超级块或分区表只会使重建数据变得不方便,如果您只进行十六进制转储,这些数据显然仍然存在。
硬盘具有内置擦除功能:ATA 安全擦除,您可以使用以下命令激活hdparm
:
选择一个密码(任何密码):
hdparm --user-master u --security-set-pass hunter1 /dev/sdX
开始擦除:
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 可能会保留标头数据(用于覆盖标头的随机数据可以保存到其他单元)。