使用hdparm命令进行硬盘数据清理

hdparm 中的 security-erasesecurity-erase-enhanced 都是用来对硬盘进行 ATA 安全擦除(Secure Erase) 的命令,常用于:

  • 安全删除所有数据(包括不可见的扇区、分区信息、HPA/DCO 等)

  • 恢复全盘出厂状态

  • 避免常规格式化残留数据

但这两个命令有重要区别


security-erasesecurity-erase-enhanced 区别

特性 security-erase security-erase-enhanced
支持范围 所有支持 ATA 安全擦除的设备 仅部分支持“增强安全擦除”的设备
擦除方式 清除用户地址区(User Area) 额外清除已重映射的扇区(Reallocated Sectors)和备用区域
擦除速度 相对较慢(特别在大容量机械盘上) 更快(因硬盘可使用内部指令快速擦除)
安全性 已足够安全,满足常规删除需求 更彻底,更适合敏感数据销毁(符合 DoD 等标准)
是否会影响 SMART 数据 不会清零 SMART 计数,如 Reallocated_Sector_Ct 仍保留 同上,SMART 不清除

???? 简明总结:

  • security-erase:基本安全擦除,覆盖可见用户数据区

  • security-erase-enhanced:在支持该功能的硬盘上,连同一些隐藏区(如备用扇区)也清理,更彻底、更快。


✅ 如何查看硬盘是否支持 enhanced 擦除?


 
sudo hdparm -I /dev/sdX

在输出中找到:

Security: ... supported: enhanced erase

如果显示 supported: enhanced erase,就可以使用 --security-erase-enhanced 命令


 使用注意事项:

  1. 执行前必须先设置密码(哪怕是简单密码):

    sudo hdparm --user-master u --security-set-pass mypass /dev/sdX
  2. 再执行擦除:

    sudo hdparm --security-erase mypass /dev/sdX

    或:

    sudo hdparm --security-erase-enhanced mypass /dev/sdX
  3. 过程不可中断,否则设备可能锁定。

  4. 机械硬盘一般耗时几十分钟,SSD 通常几秒完成。

  5. 完成后, 要清理密码,并解锁硬盘:
    hdparm --security-set-pass NULL /dev/sdX
    hdparm --security-unlock NULL /dev/sdX


如你在做数据销毁或尝试修复硬盘状态(如重映射过多),使用 security-erase-enhanced 是更推荐的方式——前提是硬盘支持。否则,就退而求其次用普通 security-erase