我想从硬盘上彻底清除所有数据和两个操作系统(Ubuntu 和 Windows 7)。我尝试了 DBAN,但它给出了错误并且无法运行。我正在寻找替代方案。在网上阅读了一些文章后,我了解到,使用 Linux Live CD,可以使用以下任一命令来完成此操作。
A)sudo dd if=/dev/zero of=/dev/sda
b)sudo shred -vfz -n 1 /dev/sda
我的问题是
1)哪个选项(a 或 b)更安全(擦除所有内容)且更快?
2) 这两种方法是否会损坏硬盘或其他东西?我希望硬盘能够再次用于 Windows 和 Ubuntu 等。
编辑
我还有一个有趣且相关的问题。
3) 选项 a) 和 b) 将零写入每个位。如果该位已经为零,则这样做,还是保留它,因为它是零。
答案1
1) 更快,可能是 dd if=/dev/zero 命令。它只是将零块转储到磁盘。我想不出任何更快的方法,因为它只是一个简单的块复制和转储。
2) 更安全,粉碎。它会多次写入。您可能会争论这是否是过度杀伤。
两者都不会对磁盘造成任何物理损坏。它们都是抛出位,这是驱动器应该做的事情。可能的例外是 SSD,固态磁盘,其写入次数有限,使用 Shred 会在一定程度上用完。
完成上述任一操作后,您将得到一个空磁盘进行格式化,然后重新安装您想要的任何操作系统/数据。
答案2
您提到的这两种方法实际上都不是“安全擦除”。安全擦除是 ATA 规范中定义的部分,是一种指示驱动器固件擦除驱动器的方法。
如果你在美国政府部门工作,这也是目前批准的安全擦除现代硬盘的方法(NIST 800-88)。人们喜欢引用的旧国防部“标准”实际上没有指定任何方法;它们被指定别处(而且它们只是消磁和物理破坏,这两种情况都会导致驱动器无法使用)。哎呀!
与 和 等黑客解决方案不同dd
,shred
驱动器固件能够删除您无法删除的内容,例如重新分配的扇区。在自加密驱动器上,它只会破坏加密密钥并将其替换为新密钥,使所有数据无法恢复(并且只需一秒钟)。
这也是擦除 SSD 的最佳方法,因为它将所有单元恢复为工厂写入性能。
您可以安全擦除您的驱动器使用 Linuxhdparm
命令或使用 DOS 实用程序硬盘清除工具。
也可以看看:如何可靠地删除硬盘上的所有信息?和我的文章ATA 安全暴露2009 年春季刊2600 杂志。