hdparm
中的 security-erase
和 security-erase-enhanced
都是用来对硬盘进行 ATA 安全擦除(Secure Erase) 的命令,常用于:
安全删除所有数据(包括不可见的扇区、分区信息、HPA/DCO 等)
恢复全盘出厂状态
避免常规格式化残留数据
但这两个命令有重要区别:
security-erase
与 security-erase-enhanced
区别特性 |
security-erase |
security-erase-enhanced |
---|---|---|
支持范围 | 所有支持 ATA 安全擦除的设备 | 仅部分支持“增强安全擦除”的设备 |
擦除方式 | 清除用户地址区(User Area) | 额外清除已重映射的扇区(Reallocated Sectors)和备用区域 |
擦除速度 | 相对较慢(特别在大容量机械盘上) | 更快(因硬盘可使用内部指令快速擦除) |
安全性 | 已足够安全,满足常规删除需求 | 更彻底,更适合敏感数据销毁(符合 DoD 等标准) |
是否会影响 SMART 数据 | 不会清零 SMART 计数,如 Reallocated_Sector_Ct 仍保留 | 同上,SMART 不清除 |
security-erase
:基本安全擦除,覆盖可见用户数据区。
security-erase-enhanced
:在支持该功能的硬盘上,连同一些隐藏区(如备用扇区)也清理,更彻底、更快。
sudo hdparm -I /dev/sdX
在输出中找到:
如果显示 supported: enhanced erase
,就可以使用 --security-erase-enhanced
命令
执行前必须先设置密码(哪怕是简单密码):
再执行擦除:
或:
过程不可中断,否则设备可能锁定。
机械硬盘一般耗时几十分钟,SSD 通常几秒完成。
完成后, 要清理密码,并解锁硬盘:
hdparm --security-set-pass NULL /dev/sdX
hdparm --security-unlock NULL /dev/sdX
如你在做数据销毁或尝试修复硬盘状态(如重映射过多),使用 security-erase-enhanced
是更推荐的方式——前提是硬盘支持。否则,就退而求其次用普通 security-erase
。