使用“dd”多次擦除磁盘

使用“dd”多次擦除磁盘

我想使用dd多次覆盖磁盘来破坏无法恢复的数据。

我知道我可以用dd if=/dev/zero/ of=/dev/sdx/零进行传递,或者dd if=/dev/null/ of=/dev/sdx/完成类似(不完全相同)的结果,但它会更慢。

我想知道是否有一种方法可以使用 将全零写入磁盘,然后将所有 1 写入磁盘dd,或者是否有更好的方法来完成此操作?

答案1

首先,dd if=/dev/null of=/dev/sdx(请注意,任一设备名称后都没有尾随/)不会执行任何操作,因为从 /dev/null 读取始终返回 EOF。相比使用dd,这个任务更适合shred /dev/sdx

答案2

-kq的选项为wipe特定于块设备:

wipe -kq /dev/hda3

答案3

另一种选择是使用达里克的靴子和核武器 (DBAN)来自现场 CD/DVD。

答案4

更好的方法是

cat /dev/zero >/dev/sdx

用什么覆盖并不重要。如果您担心攻击者使用昂贵的电子设备,这对于 20 世纪 80 年代的磁盘确实很重要,但对于今天的磁盘来说并不重要。看https://security.stackexchange.com/questions/10464/why-is-writing-zeros-or-random-data-over-a-hard-drive-multiple-times-better-th/10474#10474

请注意,这仅适用于磁硬盘,不适用于 SSD。在 SSD 上,覆盖一个扇区只是将其标记为未使用并写入另一个扇区。如果您担心攻击者能够访问硬件,则无法确定您是否已擦除闪存中的数据。相反,请使用 SSD 的安全擦除命令(如果有)。但请注意,并非所有 SSD 型号都有安全擦除命令,有些声称有错误地执行该命令。

相关内容