我正在尝试清除一些较旧的(NTFS、外部)硬盘,但即使使用 CCleaner 和 Eraser 等“清除可用空间”程序后,文件名在文件恢复程序中仍然可见。我猜这是因为 MFT、日志等仍然存在并包含对这些文件的引用。
我的第一个想法是格式化驱动器然后擦除,但我猜这仍然不能完全解决问题。格式化为 exFAT 然后擦除会有什么不同吗(因为它使用不同的结构)?
编辑:这不是重复的。其他线程没有具体提到擦除文件引用,并且最佳答案是使用 DBAN,而这在外部驱动器上是不可能的。
答案1
尝试使用 Microsoft 内置的可用空间擦除工具。打开管理命令提示符,转到要擦除的驱动器并输入:
密码/w:F
答案2
防止数据恢复
为了防止数据被恢复,数据本身及其所有引用都应被覆盖。关于应如何覆盖(覆盖次数、使用模式等)的讨论仍在进行中,因此您应该根据数据无法恢复的重要性以及这样做的原因进行选择。
视窗
如果(根据您使用 NTFS 的假设)您使用的是较新的(Vista 或更新版本)Microsoft 操作系统,则有format
可用的命令,当您执行标准(非快速)格式化时,它会将零写入磁盘。
这只会删除您选择的分区,因此如果您有多个分区,请记住这一点。
Linux
如果您使用的是 Linux,或者愿意从 Linux 磁盘启动以擦除驱动器,则可以使用该dd
实用程序擦除整个磁盘。例如,要完全覆盖分区表和所有数据,您可以运行:
dd if=/dev/zero of=/dev/sda
警告!
现代硬盘可能具有磨损均衡或其他功能,导致使用上述方法时某些存储空间不会受到影响。
可以使用驱动器的“安全擦除”功能来确保删除所有数据 - 假设您信任制造商。可以使用 hdparm 工具通过以下方式完成此操作:
设置密码
# hdparm --user-master u --security-set-pass Pass /dev/sda
security_password="Pass"
运行安全擦除
# hdparm --user-master u --security-erase Pass /dev/sda
security_password="Pass"
验证
# hdparm -I /dev/sdb