最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
Linux 中如何安全擦除硬盘上的所有敏感数据
时间:2026-08-29 11:22:49 编辑:袖梨 来源:一聚教程网
必须按硬盘类型选择对应方法:HDD用shred/dd关闭写缓存覆写,SSD/NVMe必须用ATA Secure Erase或nvme sanitize硬件指令,因FTL机制使软件覆盖无效;擦除前需卸载分区、wipefs清除元数据,并用hexdump抽查验证。
直接擦除整块硬盘的敏感数据,不能只靠 rm 或格式化。真正安全的方式取决于硬盘类型(HDD 还是 SSD/NVMe),并需绕过文件系统层、缓存和硬件映射机制。
先确认硬盘类型和状态
执行以下命令快速判断:
-
lsblk -o NAME,ROTA,MODEL—— 查看ROTA值:1是机械硬盘(HDD),0是固态盘(SSD/NVMe) -
hdparm -I /dev/sdX | grep -i "supported|not.*supported"—— 检查 HDD 是否支持 ATA Secure Erase -
sudo nvme list或sudo nvme id-ctrl /dev/nvme0n1—— 确认 NVMe 设备是否支持sanitize或format命令 -
sudo umount /dev/sdX*—— 必须卸载所有分区,否则写入会被拦截
HDD:用 shred 或 dd 覆盖整盘(需关写缓存)
对传统机械硬盘,覆盖写入有效,但必须关闭磁盘写缓存,并确保无 LVM/RAID/加密层干扰:
- 关闭写缓存:
sudo hdparm -W0 /dev/sdX - 三次随机覆盖(平衡安全与耗时):
sudo shred -v -n 3 /dev/sdX - 或用
dd加速(适合大容量):sudo dd if=/dev/urandom of=/dev/sdX bs=4M status=progress && sync - 最后补零隐藏操作痕迹(可选):
sudo dd if=/dev/zero of=/dev/sdX bs=4M count=100
SSD/NVMe:必须用硬件级指令,shred/dd 无效
SSD 的 FTL(闪存转换层)、磨损均衡和 TRIM 机制会让软件覆盖完全失效——你写的逻辑地址,物理页可能根本没被触达。
- ATA SSD 执行安全擦除:
sudo hdparm --user-master u --security-set-pass Eins /dev/sdXsudo hdparm --user-master u --security-erase Eins /dev/sdXsudo hdparm --user-master u --security-disable Eins /dev/sdX - NVMe SSD 推荐用
nvme-cli:sudo nvme format /dev/nvme0n1 --ses=1(全盘安全擦除)或更彻底:
sudo nvme sanitize start /dev/nvme0n1 --no-deallocate --overwrite - 不支持标准指令?用厂商工具:
intelmas(Intel)、wdclear(WD)、seagate-tools
清理元数据残留:wipefs 清签名,防误识别
即使数据已擦,分区表、LVM 标签、RAID 元数据仍可能被系统读取,暴露旧用途。用 wipefs 彻底清空这些“指纹”:
- 预览有哪些签名:
sudo wipefs -n /dev/sdX - 清除全部签名(谨慎!):
sudo wipefs -a /dev/sdX - 只清 ext4 和 LVM 签名:
sudo wipefs -t ext4,lvm-pv /dev/sdX
不复杂但容易忽略:HDD 和 SSD 必须走不同路径,混用方法等于白做。擦完建议用 sudo hexdump -C /dev/sdX | head -20 快速抽查开头是否已无可读结构。
相关文章
- 编程可视化工具有哪些:了解最新的选择与创新 08-29
- 小米路由器开发版怎么刷回稳定版(小米路由器开发版恢复稳定版方法) 08-29
- 编程软件有哪几种?找到适合你的开发利器! 08-29
- POM:软件测试中的一种设计模式 08-29
- 后端框架开发工具:如何使用调试器、日志记录、测试框架 08-29
- C语言编程软件说明:codeblock 08-29