本文目录导读:

DOD 5220.22-M(美国国防部标准)是目前最常用的数据擦除标准之一,主要针对磁介质(如机械硬盘HDD),需要注意的是,对于固态硬盘(SSD)、U盘等闪存存储,该标准几乎无效。
下面直接说明在实践中如何使用该标准(通常是3次覆写方案)。
核心操作:3次覆写(最常用)
根据 DOD 5220.22-M,最严格的方案是“Verify”模式,通常分为以下三个步骤:
- 第1次写入: 写入随机字符(或特定字节,如
0x00)。 - 第2次写入: 写入随机字符的补码(或特定字节,如
0xFF)。 - 第3次写入: 写入随机字符(或特定字节)。
大多数商业软件在实现时,会简化为:写入全0 → 写入全1 → 写入随机字符,并在每一步后进行验证。
使用专业擦除软件(推荐)
大多数专业工具都内置了“DOD 5220.22-M”选项。
使用 DBAN (Darik’s Boot And Nuke) —— 专业免费工具
- 适用场景: 整盘擦除(无需操作系统)。
- 步骤:
- 下载 DBAN ISO 镜像(官网:dban.org)。
- 将其刻录到光盘或制作成U盘启动盘。
- 从U盘/光盘启动电脑。
- 在 DBAN 界面,按
F3进入手动设置。 - 选择 “DoD 5220.22-M (3 passes)” 方法。
- 选择要擦除的硬盘(注意: 会删除所有分区和数据!)。
- 按
F10开始擦除。 - 注意: DBAN 不支持 SSD(固态硬盘)的TRIM指令,不要对SSD使用。
使用 DiskGenius / AOMEI Partition Assistant(国产工具)
- 适用场景: Windows 系统下擦除单个分区或整盘。
- 步骤:
- 打开软件,选中要擦除的硬盘或分区(建议右键点击磁盘区域)。
- 选择 “擦除磁盘/分区” 或 “清除数据”。
- 在“填充模式”或“擦除标准”下拉菜单中,选择 “美国国防部标准 DOD 5220.22-M (3次)”。
- 点击 “开始”。
- 重要: 擦除过程不可中断,否则可能导致分区表损坏。
使用 Eraser(免费,Windows图形界面工具)
- 适用场景: 擦除单个文件、文件夹或未分配空间。
- 步骤:
- 下载安装 Eraser (eraser.heidi.ie)。
- 右键点击要删除的文件或文件夹。
- 选择 “Eraser” → “擦除”。
- 在“擦除方法”下,选择 “DoD 5220.22-M (3 passes)”。
- 点击 “确定”。
使用 Linux 命令行(手动操作,适合专业人士)
如果你熟悉 Linux,可以使用 shred 或 dd 命令。
使用 shred 命令(推荐,因为它直接支持多遍覆写)
# 假设你的硬盘是 /dev/sdb,请务必确认! sudo shred -v -z -n 3 /dev/sdb # 或者使用标准 3 次(不含最后的清零) sudo shred -v -n 3 /dev/sdb
- 参数解释:
-v:显示进度。-n 3:覆写3遍(对应DOD标准的前3次)。-z:在最后一遍覆写后,再用0填充一次(对应标准中的“最后的验证”或“清空”)。/dev/sdX:目标硬盘。千万注意别写错盘符!
使用 dd 命令(手动实现3遍)
# 第一步:写入0 sudo dd if=/dev/zero of=/dev/sdb bs=1M status=progress # 第二步:写入随机数 sudo dd if=/dev/urandom of=/dev/sdb bs=1M status=progress # 第三步:写入0 (补码或随机数,这里用0简化) sudo dd if=/dev/zero of=/dev/sdb bs=1M status=progress # 注意:这种方式需要手动执行3次,且SSD上效率极低。
特别警告:关于固态硬盘(SSD)和U盘
DOD 5220.22-M 标准在固态硬盘(SSD)、NVMe、U盘、SD卡上完全没有意义。
- 原因: 闪存介质的“写放大”效应和磨损均衡机制,操作系统看到的“扇区”和闪存物理上的“存储单元”不是一一对应的,你覆写了逻辑地址,但物理颗粒上的旧数据可能仍然存在于芯片的“后备缓存区”中,无法被软件访问,但可以通过专业设备(如PC-3000)读出。
- 正确做法: 对于SSD,请使用ATA Secure Erase(安全擦除)指令,这相当于让闪存控制器自己清空所有物理块,是SSD上唯一有效且最快的方法,几乎所有BIOS、PE工具(如Parted Magic)或硬盘厂商的官方工具(如三星Magician、Intel Toolbox)都支持这个功能。
怎么用?
-
如果你的目标是机械硬盘(HDD):
- 最简单:用 DBAN 或 DiskGenius,选择“DOD 5220.22-M (3 passes)”模式。
- 耗时: 通常1TB硬盘需要5-10小时。
-
如果你的目标是固态硬盘(SSD):
- 绝对不要用上述方法对SSD进行3次覆写,这不会增加安全性,只会严重损耗SSD寿命。
- 正确做法: 使用主板BIOS中的 “Secure Erase” 功能,或使用 Parted Magic 等工具执行ATA Secure Erase。
最终建议: 对于普通用户,DOD标准完全可以用 DBAN 工具一键完成,但请记住,它只适合老式机械硬盘。