如何彻底擦除硬盘,使数据恢复工具无法检索任何内容?

Mud*_*pil 18 partitioning

如何在外部硬盘上的 Ubuntu 中进行磁盘低级格式化,以便任何数据恢复工具(如 test-disk 或 photorec)一旦格式化为 ext4 或任何文件系统就无法检索任何数据?当我玩测试盘时,我发现即使多次格式化它也可以恢复几乎所有旧文件,我想使用我的外部硬盘作为新的,因为它只有一年并且在保修期内但没有任何旧的数据。

Mik*_*ike 39

我在销售旧硬盘时使用 shred,man shred用于更多信息:

shred -vzn 0 /dev/xxx
Run Code Online (Sandbox Code Playgroud)

您可以指定 n 次覆盖和 z 以在末尾用零覆盖它。

  • +1,但我不推荐`-n 0`。毕竟,如果你想让你的数据无法恢复,你应该真正*粉碎*它,而不仅仅是覆盖。 (12认同)
  • @AndreaCorbellini 请注意,2006 年 NIST 发布了一份报告(NIST 特别出版物 800-88 第 2.3 节(第 6 页))说“结果是一次覆盖就足够了!” [wiki](https://en.wikipedia.org/wiki/Data_erasure#Number_of_overwrites_needed) (3认同)

meu*_*euh 23

现代磁盘实现了ATA 安全擦除功能,您可以在首先在磁盘上设置密码后hdparm使用--security-erase选项使用命令来执行该功能。请注意,有一些警告,包括

  • 可能的固件错误
  • 可能长时间运行的操作的可能磁盘控制器超时
  • 你不应该通过 USB 来做

对于某些光盘,这将需要数小时,因为每个块都会被重写。对于其他人来说,它可能需要几秒钟,因为它只是意味着更改磁盘持有的全局加密密钥,该密钥透明地加密/解密所有进出磁盘的数据。这适用于硬盘和 SSD。重要的是固件。

一篇文章还提出,--security-erase它的优点是还可以清除隐藏区域 HPA主机保护区DCO设备配置重叠

  • 当然,硬盘也是。该命令是在 SSD 之前发明的。[stackexchange](http://security.stackexchange.com/a/64480) (3认同)
  • 你忘记了可能的 NSA 后门。 (2认同)

May*_*hux 14

如果您想完全擦除硬盘,最好使用dd

dd if=/dev/zero of=/dev/sdX bs=512 
Run Code Online (Sandbox Code Playgroud)

用您的驱动器号替换 sdX

另一种可能的工具:

此命令是 rm 命令的替代。它适用于 Linux/BSD/类 UNIX 操作系统。它通过在取消链接之前覆盖、重命名和截断每个指定的文件来删除它。这可以防止其他人从命令行取消删除或恢复有关文件的任何信息。由于它对文件/目录进行了大量操作以进行安全删除,因此删除它也需要大量时间。

  • @Philippe 我不会在 SSD 上使用 `shred`。 (3认同)
  • 仅供参考,您也可以使用 `/dev/urandom` 代替 `/dev/zero`。这将给出随机数据而不是二进制零。IDK 如果这会产生任何影响,但您可以做到。 (3认同)
  • 你还可以使用更简单的语法的 `cat`:`cat /dev/zero >/dev/sdX`。------ 要使用 `dd` 获得稍微更好的性能,请使用更大的块大小,例如 `bs=64k`。(`cat` 使用这个块大小 - 默认情况下为 64 KiB。)------ GNU dd 有一个有用的功能:当你向它发送信号 `USR1` 时,它会显示统计数据并继续运行:`pkill -USR1 -f '^dd if=/dev/zero of=/dev/sdX bs=64k'` (2认同)
  • PS:您应该至少重复此命令一两次以确保数据无法恢复。 (2认同)

Tim*_*Tim 14

这并不能真正回答您的问题,因为您想使用 HDD。然而,这很重要。


如果这真的是不应该恢复的重要数据,那么再使用该磁盘是不安全的。Apple Mac 提供 35 次覆盖功能 - 他们声称这是政府要求的,但它很复杂:

立即生效,DSS 将不再批准用于机密处理的 IS 存储设备(例如硬盘驱动器)的清理或降级(例如发布到较低级别的机密信息控制)的覆盖程序。

人们认为某些 3 字母机构(FBI、CIA、MI6)要求对磁性介质进行物理破坏(例如,在熔炉中熔化)。

你确实有几个选择——我过去依赖的方法是用锤子敲打它很多次,然后用磁铁擦拭它。

然而,我是一名学生,没有人想侵入一个空的银行账户,所以它不需要那么安全。另外,我不打算将硬盘放入垃圾箱 - 它现在是分配中的鸟类恐慌。

如果您在保密协议(尤其是涉及政府的协议)下工作,您需要更安全的东西。我推荐一个喷灯:

来源,CNET

我的代词是他/他

  • @MKC 我知道,答案是物理破坏是唯一 100% 确定的方法。但是,我当然不希望您接受这个答案。 (5认同)
  • 我是这里的备份先生,我同意蒂姆的观点:物理破坏是唯一的方法。将其完全熔化、切碎或使用 [12 号霰弹枪](https://www.youtube.com/watch?v=wrBPwHY_Z_M) 都很好。其他任何事情都只是虚构的。 (4认同)

Arr*_*cal 8

ddMaythux的命令是一个很好的命令,尽管我在某处读到过(抱歉没有消息来源!),最好用零覆盖,然后用随机写入进行第二遍,然后在第三遍时将其归零。

要使用dd写随机模式:

dd if=/dev/urandom of=/dev/sdX bs=512
Run Code Online (Sandbox Code Playgroud)

我已经看到了一些使用较小块大小(低至 bs=4)的 dd 示例,我认为这会使写入稍微随机一些,但需要更长的时间。

使用 dd 时要非常小心,选择正确的驱动器,因为如果你犯了错误,这是非常危险的!

  • @Arronical 没有证据表明任何工具或技术都可以恢复零维数据。它从未公开完成。 (2认同)

kos*_*kos 8

NaA,但还有一些附加信息,尤其是关于 SSD 的信息


围绕这个话题有很多方法和很多争论;基本上,这与支持的类型(磁盘或闪存盘)以及信息的敏感性有关。

只有当物理驱动器被破坏时,真正敏感的数据才可能被认为是无可否认的安全,因为理论上[但不是太多](如果我设法再次找到链接的占位符)能够测量磁性差异的实验室方法/ 电子领域的支持,加上驱动器固件用于处理数据的算法知识,甚至可以提取已被多次覆盖的数据。

但是,为了擦除包含个人数据的硬盘,上述每种方法都可以很好地抵御软件恢复尝试;然而,可能会注意到,由于多种原因,使用低级实用程序的方法不适用于 SSD。

第一个是写入基于闪存的内存(特别是多次)对内存本身来说并不是很健康,尽管磨损均衡问题被高度高估了(特别是在 MLC SSD 上),即:您确实不想dd每天一个SSD驱动器,但在其整个生命周期中一次、两次甚至三次(甚至更多)绝对不是什么大问题;

第二个是商业 SSD 通常带有额外的替换单元,这些单元最初不被驱动器使用,旨在作为驱动器使用过程中损坏的单元的替代品;这可能会导致 SSD 控制器在驱动器生命周期的某个时刻取消映射此类损坏的单元格(可能包含敏感信息),从而使它们无法通过低级工具进行物理访问。

因此,如果您使用的是 SSD,最好的解决方案可能是坚持制造商的 ATASECURE_ERASE命令实现(如meuh 的回答中所述),希望这足以达到目的。


Rod*_*ith 5

我想详细说明这个问题中没有其他答案涉及的细节:低级格式。过去,区分了两种类型的磁盘格式化:

  • 低级格式化——这是指创建定义磁盘上扇区和磁道的数据结构。
  • 高级格式化——这是指在磁盘上创建文件系统。

一些像我这样衰老的老傻瓜仍然把我们的句子扭曲成椒盐卷饼的形状,以避免单独使用“格式化”这个词,因为那是模棱两可的。多年来,在 Unix/Linux 世界中,高级格式化总是被称为创建文件系统。不过,在这种情况下,“格式化”一词已逐渐渗透到各种实用程序中。

需要注意的是,据我所知,没有现代硬盘支持用户进行低级格式化;该任务在工厂完成,一旦磁盘离开工厂就无法再次完成。1980 年代和 1990 年代初期的硬盘确实支持用户进行低级格式化,但现在这些磁盘都是博物馆的作品。如果您的计算机足够老,可以实际拥有软盘,您仍然可以对软盘进行低级格式化。这对于软盘来说通常是必要的,因为不同的计算机(比如 Mac 与 PC)使用不同类型的低级格式,所以如果你有一个 Mac 软盘并想在 PC 上使用它(反之亦然),你'd 必须对其进行低级格式化。

另外和 FWIW,几年前我研究过它,我找不到可用于从磁盘中恢复数据的实际工具的参考,该磁盘已通过使用dd将其所有扇区清零而擦除。这是理论上可以通过拆卸硬盘,并使用特殊的硬件来读取它这样做。如果磁盘包含国家安全机密,则dd可能建议超出范围(并且许多国家安全机构都要求这样做);但我不会担心保护您的信用卡号和 Flickr 密码以外的任何东西dd,至少在硬盘上。SSD 使用根本不同的技术,我没有深入研究它们。