问题描述
如何在 Ubuntu 中对外部硬盘进行磁盘低级格式化,以便任何数据恢复工具(如 test-disk 或 photorec)一旦格式化为 ext4 或任何 file-system 就无法检索任何数据?当我使用测试盘时,我发现即使多次格式化后它也可以恢复几乎所有旧文件,并且我想将我的外部硬盘用作新的,因为它只有一年的历史并且在保修期内,但没有任何旧的文件数据。
最佳回答
我在出售旧硬盘时使用碎纸机,使用man shred
了解更多信息:
shred -vzn 0 /dev/xxx
您可以指定 n 次覆盖,并指定 z 全部覆盖并在末尾添加零。
次佳回答
现代光盘实现了 ATA 安全擦除\n功能,您可以在首先在磁盘上设置密码后,通过使用 --security-erase
选项的 hdparm
命令来执行该功能。请注意,有一些警告,包括
-
可能的固件错误
-
可能的 long-running 操作可能出现磁盘控制器超时
-
你不应该通过 USB 执行此操作
对于某些光盘,这将需要几个小时,因为每个块都会被重写。对于其他人来说,这可能需要几秒钟的时间,因为它只意味着更改磁盘持有的全局加密密钥,该密钥透明地加密/解密传入/传出磁盘的所有数据。\n对于硬盘和 SSD 来说都是如此。重要的是固件。
另一个 article 还表明 --security-erase
的优点是它还可以擦除隐藏区域\nHPA 主机保护区\n和 DCO 设备配置覆盖。
第三种回答
如果你想完全擦除硬盘,最好是使用 dd
:
dd if=/dev/zero of=/dev/sdX bs=512
将 sdX 替换为您的驱动器盘符
\\n
This command is a replacement for rm command. It works under\\n Linux/BSD/UNIX-like OSes. It removes each specified file by\\n overwriting, renaming, and truncating it before unlinking. This\\n prevents other people from undelete or recovering any information\\n about the file from the command line. Because it does lots of\\n operation on file/directory for secure deletion, it also takes lot of\\n time to remove it.
\\n
第四种回答
这并不能真正回答你的问题,因为你想使用硬盘。然而,这很重要。
如果这是真正不应该恢复的重要数据,那么再使用该磁盘就不安全了。 Apple Mac 提供 35 覆盖功能 – 他们声称这是政府所要求的,但它很复杂:
\\n
Effective immediately, DSS will no longer approve overwriting procedures for the sanitization or downgrading (e.g. release to lower level classified information controls) of IS storage devices (e.g., hard drives) used for classified processing.
\\n
据认为,一些 3 个字母的机构(FBI、CIA、MI6)需要对磁性介质进行物理破坏(例如,在熔炉中熔化)。
你确实有几个选择——我过去依赖的一个是用锤子敲击它很多次,然后用磁铁擦拭它。
然而,我是一名学生,没有人愿意侵入一个空的银行账户,所以它不需要那么安全。另外,我不打算把硬盘扔进垃圾桶——它现在是分配的驱鸟器。
如果您根据保密协议(尤其是涉及政府的协议)工作,您需要更安全的东西。我推荐一个喷灯:
我的代词是他/他
第五种回答
Maythux 的 dd
命令是一个很好的选择,尽管我在某处读过(抱歉没有来源!),最好用零覆盖,然后进行第二遍随机写入,然后在第三遍将其清零。
要使用 dd
写入随机模式:
dd if=/dev/urandom of=/dev/sdX bs=512
我见过一些使用较小块大小(低至 bs=4)的 dd 示例,我认为这将使写入稍微更加随机,但需要更长的时间。
使用 dd 时要格外小心,选择正确的驱动器,因为如果犯了错误,会非常危险!
第六种回答
NaA,但还有一些附加信息,特别是有关 SSD 的信息
围绕这个话题有很多方法和很多争论;基本上,这与支持的类型(磁盘或闪存盘)以及信息的敏感性有关。
只有当物理驱动器被破坏时,真正敏感的数据才可能被认为是不可否认的安全,因为理论上[但不是太多](链接的占位符,如果我设法再次找到它)能够测量磁力差异的实验室方法支持的电子领域,再加上驱动器固件处理数据所使用的算法的知识,甚至可以提取已被多次覆盖的数据。
然而,为了擦除包含个人数据的硬盘,上述每种方法都可以很好地对抗软件恢复尝试;然而,值得注意的是,由于多种原因,使用低级实用程序的方法并不适合在 SSD 上使用。
第一个是写入基于闪存的内存(特别是多次)对于内存本身来说并不真正健康,尽管 wear-leveling 问题被高度高估(特别是在 MLC SSD 上),即:您确实不希望 dd
SSD每天都会驱动,但整个life-span一次、两次甚至三次(甚至更多)绝对不是什么大问题;
第二个事实是,商用 SSD 通常附带额外的替换单元,这些单元最初并未被驱动器使用,旨在替换驱动器使用过程中损坏的单元;这可能会导致 SSD 控制器在驱动器寿命的某个时刻取消映射此类损坏的单元(可能包含敏感信息),从而使低级工具无法物理访问它们。
因此,如果您使用的是 SSD,最好的解决方案可能是坚持制造商的 ATA SECURE_ERASE
命令实现(如 meuh’s answer 中所述),希望这对于该目的来说足够强大。
第七种回答
我想详细说明这个问题中没有其他答案涉及的细节:低级格式化。过去,磁盘格式化有两种类型:
-
低级格式化——这是指创建定义磁盘上扇区和磁道的数据结构。
-
高级格式化——这是指在磁盘上创建文件系统。
一些像我这样的老傻瓜仍然把我们的句子扭曲成椒盐卷饼形状,以避免单独使用 “formatting” 这个词,因为它是不明确的。多年来,在 Unix/Linux 世界中,高级格式化始终被称为创建文件系统。不过,在这种情况下,”formatting” 这个词已经渗透到各种实用程序中。
值得注意的是,据我所知,没有现代硬盘支持用户低级格式化;该任务在出厂时已完成,一旦磁盘出厂后就无法再次执行。 20 世纪 80 年代甚至 90 年代初的硬盘确实支持用户低级格式化,但现在这些磁盘都已成为博物馆藏品。如果您的计算机足够老,实际上有软盘,您仍然可以对软盘进行低级格式化。对于软盘来说,这通常是必要的,因为不同的计算机(例如 Mac 与 PC)使用不同类型的低级格式,因此如果您有一张 Mac 软盘并想在 PC 上使用它(反之亦然),您必须对其进行低级格式化。
另外,FWIW,我几年前研究过它,但我找不到任何可用于从已通过使用 dd
将其所有扇区清零而擦除的磁盘中恢复数据的实际工具的参考。理论上可以通过拆卸磁盘并使用特殊硬件来读取它来做到这一点。如果磁盘保存国家安全机密,则建议超出 dd
(并且许多国家安全机构都要求这样做);但我不会担心使用 dd
以外的任何内容来保护您的信用卡号和 Flickr 密码,至少在硬盘上是这样。 SSD 使用根本不同的技术,我没有深入研究它们。
第八种回答
如果您想要绝对安心(并且之后仍想使用它),请给它 Guttman method 。
这是矫枉过正了。标准的 three-pass 覆盖 – 用零清除,用 1 填充,然后用任意字符串覆盖 – 是业界认可的,并且仍然是可证明清理硬盘驱动器的事实上的方法。如果您的驱动器没有坏扇区并且擦除器可以访问所有可寻址区域 – 您的数据就消失了。
值得注意的是,没有任何商业名称声称能够恢复以前被覆盖的数据。
事实上,有充分的理由说明单次传递就足够了。实际上只有一种临床情况可以在实验室条件下恢复 “theoretically” 数据:通过在理想情况下以前干净(最好是完好无损)的驱动器上使用“某种”分子磁显微镜 – 测量残余电荷的微小差异认为代表先前的逻辑值,然后借助概率分析一点一点地重建。它含糊不清,而且被认为过于昂贵——尤其是对于较新的硬盘驱动器——以至于一些机构是否有能力证明这一尝试的合理性值得怀疑。你的数据肯定不值得!
过时的硬盘驱动器被认为很容易出现 – 但超过一次后恢复的机会接近零。
任何机构都可以可靠地做到这一点的信念很可能是一个神话,被允许永久存在,以夸大一个国家的能力范围。
相反,仅仅暗示此类数据恢复方法在 (post-modern) 硬盘上不再(或从未)可行,很可能是谣言,使机构和 nation-states 能够保持未宣布的功能。
所以,如果你愿意,可以给它 Guttman 的可笑的 35 遍擦除。更重要的是,首先对其进行加密并丢弃密钥(又名 crypto-erasure – 一种本身就足够的方法)。如果你想完全安心——打碎盘子。如果您神志正常,请擦拭三次;如果您很快就会再次积极使用它,则只需擦拭一次。
第九种回答
我认为它可能不如专业工具或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% 安全数据破坏的专家。