我需要从安装了 lubuntu 22.04 的硬盘中删除所有数据。我正在考虑从 Ubuntu liveUSB 映像启动,并从终端使用以下命令:
# the Hard Disk is the device file /dev/sda
> sudo dd if=/dev/zero of=/dev/sda
但这个链接说:
请注意,这将删除所有分区信息,但不是“磁盘擦除”或“安全删除”。如果您想真正确定数据无法恢复,最有效的工具是锤子。
在阅读这些句子之前,我的印象是该dd
命令可以安全地删除硬盘上的所有数据。
单独的命令dd
不足以安全地擦除硬盘吗?
答案1
我认为dd
来自/dev/zero
或/dev/urandom
可能就足够了,如@roaima说在他的评论中。但为了确保您的安全,我会使用以下专用工具之一:
shred
(来自 GNU)scrub
(来自红帽)
这些工具专门用于使用多次传递安全擦除硬盘、写入随机数据等。
这是一些进一步的文档:
- 撕碎
- 擦洗
- Archlinux 维基的建议
- 你可能会发现这作为补充很有用。
答案2
而mkfs(make文件系统)或gpartd(分区磁盘)和类似命令make文件由于无法访问,硬盘上的原始数据(分区表或文件系统元数据除外)不会被这些命令更改。
为了演示,如果您有一个备用磁盘或 USB 记忆棒,请将其命名为 /dev/$disk,对其进行分区,在其上创建一个 FS,用文本文件填充它,然后运行 mkfs 或 gpartd,然后dd if=/dev/$disk | strings
看看是否有任何看起来熟悉的东西。然后运行dd if=/dev/zero of=/dev/$disk
以清除它,dd if=/dev/$disk | strings
或者dd if=/dev/$disk | od -c
查看它现在是空的。
请注意,SSD 或新硬盘可能需要其他工具。此外,使用 LUKS 加密磁盘的大部分或全部内容会导致其他人(缺少密码或令牌)无法出于大多数实际目的读取该磁盘。
答案3
这最快的清除所有文件的方法是在文件系统上运行 mkfs(在存储可用之前应用此处的大部分建议后,无论如何您都需要这样做)。
即使使用“dd”,磁盘上以前的数据(并有可能至少追溯到一代人)仍然可以被使用复杂的取证工具的人恢复。如果(例如)您正在为监视气球实施捕获响应系统,则使用“碎片”或炸药。