我怎样才能在Ubuntu中对外部硬盘进行磁盘低级格式化,使任何数据恢复工具如test-disk或photorec在格式化为ext4或任何文件系统后无法检索到任何数据?当我在玩Test disk的时候,我发现它可以恢复几乎所有的旧文件,即使在多次格式化之后,我想把我的外部硬盘当作新的来使用,因为它只有一年的时间,而且在保修期内,但没有任何旧数据。
我在出售旧硬盘时使用shred,使用 man shred
了解更多信息:
shred -vzn 0 /dev/xxx
你可以指定n次覆盖,z可以在最后用0全部覆盖。
-n 0
。毕竟,如果你想让你的数据无法恢复,你应该真的 s hred 它,而不是仅仅覆盖。 FILE
。我的是coreutils 8.22的一部分。
现代磁盘实现了 ATA安全擦除功能 。
,你可以用 hdparm
命令,使用 --security-erase
选项 ,首先在磁盘上设置一个密码后进行。 注意有一些注意事项,包括
对于一些磁盘,这将需要几个小时,因为每个区块都被重新写入。对其他磁盘来说,这可能需要几秒钟,因为这只是意味着改变磁盘持有的全局加密密钥,该密钥可以透明地加密/解密所有进入/来自磁盘的数据。 这对硬盘和SSD都是如此。固件才是最重要的。
另一篇 文章 也表明
建议 --security-erase
的好处是,它 可能 也会抹掉
3)隐藏区域
HPA 主机保护区域 。
和 DCO 设备配置覆盖 。
dd
可能会在你的硬盘上留下残余的磁性(如果是SSD,则是电荷)。使用 shred
可以用随机数据覆盖几次。 shred
。 cat
,语法更简单。 cat /dev/zero >/dev/sdX
. ------ 要想使用 dd
获得稍好的性能,请使用更大的块大小,例如 bs=64k
. ( cat
使用这个块大小--默认为64KiB。) ------ GNU dd有一个有用的功能。当你向它发送信号 USR1
时,它会显示统计数据并继续运行: pkill -USR1 -f '^dd if=/dev/zero of=/dev/sdX bs=64k' ( 19)
顺便说一下,你也可以用 /dev/urandom
来代替 /dev/zero
。这将提供随机数据而不是二进制零。不知道这是否会有任何区别,但你可以这样做。
这并没有真正回答你的问题,因为你想使用硬盘。然而,这很重要。
如果这确实是非常重要的数据,而且不应该被恢复,那么使用该磁盘就不安全了。苹果公司的Mac电脑提供了35个覆盖功能--他们声称这是政府的要求,但这很复杂:
立即生效,安全部将不再批准用于机密处理的IS存储设备(如硬盘)的消毒或降级(如释放到较低级别的机密信息控制)的覆盖程序。
据认为,一些3字母机构(联邦调查局、中央情报局、军情六处)要求对磁介质进行物理销毁(例如,在熔炉中熔化)。
你确实有几个选择--我过去依靠的是用锤子大量敲击它,然后用磁铁擦拭它。
然而,我是个学生,没有人愿意黑进一个空的银行账户,所以它不需要那么安全。另外,我也不打算把硬盘扔掉--它现在成了小区里的一个捕鸟器。
如果你根据保密协议工作(尤其是那些涉及政府的协议),你需要更安全的东西。我建议用喷灯:
我的代名词是He / Him
Maythux的 dd
命令是一个很好的选择,尽管我在某个地方读到(抱歉没有出处!),用0覆盖,然后用随机写做第二遍,然后在第三遍时归零,这样做很好。
用 dd
来写随机模式:
dd if=/dev/urandom of=/dev/sdX bs=512
我已经看到一些dd使用较小的块大小(低至bs=4)的例子,我认为这将使写入的随机性稍大,但需要更长的时间。
在使用dd时,要超级小心地选择正确的驱动器,因为如果你犯了错误,就会非常危险
bs=64k
在这个问题上有很多方法,也有很多争论;基本上,这是关于支持的类型(磁片或闪存盘)和你信息的敏感性。
真正 敏感的数据只有在物理驱动器被破坏时才可能被认为是无可否认的安全,因为理论上[但不是太多](如果我再设法找到它的话,链接的占位符)实验室方法能够测量支架的磁场/电子场的差异,加上驱动器的固件处理数据的算法知识,甚至能够提取已经被多次覆盖的数据。
然而,对于删除含有个人数据的硬盘来说,上述每一种方法都能很好地应对软件恢复的尝试;然而,可能要注意的是,由于多种原因,使用低级实用程序的方法不适合在SSD上使用。
第一个原因是,写一个基于闪存的存储器(特别是多次)对存储器本身并不真正健康,尽管磨损水平问题被 高度 高估了(特别是在MLC SSD上),即 :
第二个问题是,商业固态硬盘通常会有额外的替换单元,这些单元一开始并没有被硬盘使用,而是用来替代在使用过程中受损的单元。这可能会导致,固态硬盘控制器在硬盘寿命的某个阶段取消映射这些损坏的单元(可能包含敏感信息),使它们在物理上无法被低级工具访问。
所以,如果你使用的是固态硬盘,最好的解决方案可能是坚持使用制造商的ATA SECURE_ERASE
命令实现(如 meuh的答案 中所述),希望这将是足够强大的目的。
我想阐述一下问题中的一个细节,其他答案都没有涉及到: 低级别的格式化。 在过去,人们对两种类型的磁盘格式化进行了区分:
一些像我这样的腐朽的老傻瓜仍然把我们的句子扭曲成椒盐形状,以避免单独使用 "格式化 "这个词,因为那是有歧义的。多年来,在Unix/Linux世界里,高级格式化总是被称为 创建一个文件系统。 虽然 "格式化 "这个词已经悄悄地进入了这种情况下的各种实用程序。
值得注意的是,据我所知,现代硬盘不支持用户进行低级别的格式化;这项工作是在工厂完成的,一旦磁盘离开工厂就不能再做了。20世纪80年代,甚至90年代初的硬盘确实支持用户进行低级别的格式化,但这些硬盘现在都成了博物馆的展品。如果你的电脑足够老,而且真的有软盘的话,你仍然可以低级格式化软盘。这对于软盘来说通常是必要的,因为不同的计算机(比如说Mac与PC)使用不同类型的低级格式,所以如果你得到一张Mac软盘并想在PC上使用它(反之亦然),你就必须对它进行低级格式化。
另外,几年前我研究过这个问题,我找不到任何实际的工具可以用来恢复被用 dd
清除所有扇区的磁盘上的数据。从理论上讲, 通过拆解磁盘并使用特殊的硬件来读取,是有可能做到的。如果磁盘上有****机密,超过 dd
可能是明智的(许多****机构要求);但我不会担心用超过 dd
的东西来保护你的信用卡号码和Flickr密码,至少在硬盘上不会。固态硬盘使用的是根本不同的技术,我没有深入研究过它们。
如果你想绝对放心(而且事后还想用它),就给它用 古特曼法 。
它是矫枉过正的。 标准的三遍覆盖--用0清除,用1填充,然后用随机的字符串覆盖--是业界公认的,而且仍然是 事实上的 对硬盘进行认证消毒的手段。 如果你的硬盘没有坏扇区,并且清除器可以访问所有可寻址的区域--你的数据就没有了。
也许值得注意的是,没有任何商号声称能够恢复先前被覆盖的数据。
事实上,有很好的理由说明一次就足够了。 实际上,只有一种临床情况可以在实验室条件下 "理论上 "恢复数据:通过使用 "某种 "分子磁力显微镜对以前干净的(最好是完整的)硬盘进行测量--测量被认为代表以前逻辑值的残余电荷的微小差异,然后借助概率分析来逐位重建。 这是很模糊的,而且被认为是非常昂贵的--特别是对于较新的硬盘--以至于一些机构是否有能力证明这种尝试是合理的,这是值得怀疑的。 你的数据当然不值得这样做!
过时的硬盘被认为是容易的--但超过一次,恢复的机会接近零。
认为任何机构都能可靠地做到这一点,很可能是一个允许延续的神话,以夸大一个国家的感知能力范围。
相反,仅仅暗示这种数据恢复方法在(后现代)硬盘上不再(或从未)可能,很可能是 使机构和民族国家保持能力不被宣布的 谣言。
所以,如果你想,给它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 中止它。
这种方法的 优点 是,即使是没有经验的用户也不会意外地破坏任何东西。如果你在硬盘上指定一个目标文件,它将创建/替换那个文件,并填满你的每一个空闲字节的磁盘空间,这最多只能产生一个崩溃和未保存数据的轻微损失。它不会触及现有的文件。
不过这也是一个 缺点 ,因为你必须先格式化文件系统才能正常删除所有文件,因为该命令只覆盖空闲空间。除此之外,它只能覆盖你的分区/设备的数据部分,而不能覆盖为文件表等保留的部分(FAT、MFT等,取决于你的文件系统)。
结论: 这个命令更适合那些害怕意外销毁更多数据的新手,而不是那些需要110%安全数据销毁的专家。