如何完全擦除硬盘,以便没有数据恢复工具可以检索任何东西?

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

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

 shred -vzn 0 /dev/xxx 

您可以指定n次覆盖次数,并且z可以在末尾用零覆盖它们。

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

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

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

另一篇文章还建议--security-erase的优势在于它还可以消除隐藏区域 HPA主机保护区域和DCO设备配置覆盖 。

这并不能真正回答你的问题,因为你想使用硬盘。 但是,这很重要。


如果这是非常重要的数据,永远不能恢复,那么再使用磁盘是不安全的。 Apple Macs提供35覆盖function – 他们声称这是政府要求的,但它很复杂:

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

据认为,一些三字母机构(FBI,CIA,MI6)需要物理破坏磁介质(例如,在熔炉中熔化)。

你有几个选择 – 我过去所依赖的那个选择是用锤子多次击打它,然后擦拭它上面的磁铁。

但是,我是一名学生,没有人想要破解一个空的银行账户,所以它不需要那么安全。 另外,我不打算收拾硬盘 – 现在它已成为分配的鸟儿了。

如果您根据保密协议(特别是那些涉及政府的协议)工作,您需要更安全的东西。 我推荐一个喷灯:

来源,CNET

如果你想完全擦除硬盘驱动器,最好是使用dd

 dd if=/dev/zero of=/dev/sdX bs=512 

用驱动器号替换sdX

其他可能的工具:

  • SRM

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

  • 擦拭

Maythux的dd命令是一个很好的选择,虽然我已经读过某个地方(抱歉没有来源!),用零覆盖然后用随机写入进行第二次传递,然后在第三次传递时将其归零是很好的。

使用dd编写随机模式:

 dd if=/dev/urandom of=/dev/sdX bs=512 

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

使用dd时要特别小心选择正确的驱动器,因为如果你犯了错误就很危险!

NaA,但一些额外的信息,特别是关于SSD


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

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

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

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

第二个问题是商用SSD通常带有额外的替换单元,这些替换单元最初没有被驱动器使用,并且用于替代在驱动器使用期间被损坏的单元; 这可能导致SSD控制器在驱动器的某些生命周期中取消这些受损单元(可能包含敏感信息),从而使它们在低级工具中无法访问。

因此,如果您使用SSD,最好的解决方案可能是坚持制造商的ATA SECURE_ERASE命令实现(如meuh的回答中所述 ),希望这对于此目的而言足够强大。

我想详细说明问题中没有其他答案涉及的细节: 低级格式化。 过去,两种类型的磁盘格式之间存在差异:

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

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

值得注意的是,据我所知,没有现代硬盘支持用户进行低级格式化; 该任务在工厂完成,一旦磁盘出厂就无法再次完成。 20世纪80年代,也许到20世纪90年代初的硬盘确实支持用户进行低级格式化,但这些磁盘现在都是博物馆。 如果您的计算机足够老,实际上有一个,您仍然可以低级格式化软盘。 这对于软盘来说通常是必要的,因为不同的计算机(例如Mac和PC)使用不同类型的低级格式,所以如果你有一张Mac软盘并想在PC上使用它(反之亦然),我必须低级格式化它。

还有FWIW,几年前我调查了它,我找不到可用于从磁盘中恢复数据的实际工具的引用,这些磁盘已经使用dd将所有扇区清零。 理论上可以通过拆卸磁盘并使用特殊硬件来读取它。 如果磁盘拥有国家安全机密,那么超出dd可能是可取的(并且是许多国家安全机构要求的); 但我不担心用dd以外的任何东西来保护你的信用卡号码和Flickr密码,至少在硬盘上是这样。 SSD采用了根本不同的技术,我没有深入研究它们。

如果你想要绝对安心(并且仍然想在之后使用它),请给它Guttman方法 。

这太过分了。 一个标准的三遍覆盖 – 用零清除,填充一个,然后用任意一个随机字符串覆盖 – 是业界公认的,但仍然是事实上可以认证消毒硬盘。 如果您的驱动器没有坏扇区并且橡皮擦可以访问所有可寻址区域 – 您的数据就会消失。

值得注意的是,没有任何交易名称声称能够恢复以前被覆盖的数据。

事实上,有很好的理由说明单次传球可能就足够了。 实际上只有一种临床情况,在理论上可以在实验室条件下恢复数据:通过使用“某种”分子磁性显微镜观察理想情况下先前干净(并且最好是完整)的驱动 – 测量微小差异剩余电荷被认为代表先前的逻辑值,然后借助于概率分析逐位重建。 这是模糊的,并被认为是如此昂贵 – 特别是对于较新的硬盘驱动器 – 一些机构能否甚至能够certificate这一尝试是值得怀疑的。 你的数据当然不值得!

过时的硬盘驱动器被认为是容易发生的 – 但是超过一次通过,恢复的可能性接近于零。

任何机构都可以可靠地做到这一点的信念很可能是一种神话,它可以使一个国家认识到的能力范围被夸大。

相反,仅仅建议在(后现代)硬盘驱动器上不再(或从未)可能存在这样的数据恢复方法,这很可能使机构和民族国家能够不明确地保持这种能力谣言。

所以,如果你愿意,给它Guttman的荒谬35通擦拭。 更重要的是,首先对其进行加密并丢弃密钥(也称为密码擦除 – 一种单独的方法)。 如果你想完全放心 – 打碎拼盘。 如果你是理智的 – 擦拭它三次,或者只是一次,如果你将很快再次积极地使用它。

我认为它可能不像专业工具或dd那样安全,但是如果你只需要覆盖整个文件系统的数据部分(!不是磁盘),你可以正常格式化它然后创建一个巨大的文件填充整个空间

 yes "string pattern" > /mnt/device-to-kill/huge-file 

这将创建/替换文件/mnt/device-to-kill/huge-file ,假设您的外部设备挂载为/mnt/device-to-kill

内容将是string pattern过度和过度重复。 如果不将模式作为参数,则默认为y 。 在磁盘已满或使用Ctrl + C中止之前,该命令不会停止写入数据。

这种方法的优点是即使是没有经验的用户也不会意外地破坏任何东西。 如果您在HDD上指定目标文件,它将创建/替换该文件并填满您拥有的每个磁盘空间的空闲字节,这最多会导致崩溃并且会丢失未保存的数据。 它不会触及现有文件。

这也是一个缺点 ,因为您必须先格式化文件系统才能正常删除所有文件,因为该命令只会覆盖可用空间。 除此之外,它只能覆盖分区/设备的数据部分,而不能覆盖例如文件表(FAT,MFT等,取决于您的文件系统)的部分。

结论:这个命令更适合那些担心意外破坏超过他们想要的新手而不是需要110%安全数据销毁的专家。