快速擦除硬盘数据的一种方法

如何快速安全的彻底清除硬盘数据,使其不可恢复

Posted by sysin on 2021-08-29
Estimated Reading Time 2 Minutes
Words 541 In Total
更新日期:Sun Aug 29 2021 10:22:39 GMT+0800,阅读量:

请访问原文链接:快速擦除硬盘数据的一种方法 查看最新版。原创作品,转载请保留出处。

作者主页:sysin.org


disk-wipe

安全删除硬盘数据的一般方法

  • 物理摧毁硬盘(HDD、SSD)

    当然这是最安全的,但是我的硬盘还要用,没有这么绝密😄。

  • 使用数据擦除软件

    这类软件通常是通过覆盖的方式,彻底覆写填充硬盘数据,根据安全等级可能需要填充多遍。

    主要缺点是速度太慢,安全不快速 (sysin),对于现在主要使用 TLC、QLC 的闪存寿命是有一定损伤的。

笔者之前淘汰一块磁盘,试图彻底安全清除数据,琢磨了如下方法。数据量 1T 多,整个过程也就 1 分钟左右完成了,不过琢磨过程却是老半天😓。

实现思路

将所有的文件和文件夹都修改为随机名称,将所有的文件都填充随机字符,然后再删除。

前提条件

请打开终端执行如下命令:

  • macOS:brew install fd; brew install rename

  • Ubuntu:sudo apt install fdfind && sudo ln -s /usr/bin/fdfind /usr/local/bin/fd; sudo apt instal rename

执行脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# 使用 /dev/random 或 /dev/urandom 随机文件重命名目录
fd -td |
while read -r name; do
sysin=$(head -20 /dev/urandom | cksum | cut -c 1-10)
if [[ "$name" != "$sysin" ]]; then
mv "$name" "$sysin"
echo "$name ====> $sysin"
fi
done

## 用 OpenSSL 随机字符重命名文件
fd -tf |
while read -r name; do
sysin=$(openssl rand -hex 8)
if [[ "$name" != "$sysin" ]]; then
mv "$name" "$sysin"
echo "$name ====> $sysin"
fi
done

## 删除文件名中的空格
rename 's/ /_/g' *

# 用随机字符填充替代所有文件内容
fd -tf |
while read -r name; do
echo "$RANDOM" >"$name"
done

# 删除所有文件,然后将磁盘格式化数次为不同的文件系统
#rm -rf *

最后别忘了使用不同的文件系统格式化磁盘(心理上更加放心^_^)。

该方法是否确实安全,数据不可恢复?欢迎读者提出意见和建议。


捐助本站 ❤️ Donate

点击访问官方网站


文章用于推荐和分享优秀的软件产品及其相关技术,所有软件默认提供官方原版(免费版或试用版),免费分享。对于部分产品笔者加入了自己的理解和分析,方便学习和研究使用。任何内容若侵犯了您的版权,请联系作者删除。如果您喜欢这篇文章或者觉得它对您有所帮助,或者发现有不当之处,欢迎您发表评论,也欢迎您分享这个网站,或者赞赏一下作者,谢谢!

支付宝赞赏 微信赞赏

赞赏一下


☑️ 评论恢复,欢迎留言❗️
敬请注册!点击 “登录” - “用户注册”(已知不支持 21.cn/189.cn 邮箱)。请勿使用联合登录(已关闭)