安全擦除 SSD(整个 SSD)

Nor*_*mal 24 ssd

我想把我的SSD卖给我的朋友,它是256GB的,我在这个SSD上有个人的东西,所以我想确保它会变得非常困难或至少很难恢复数据。擦除整个 SSD,就像它是新的一样。

与此类似的其他问题过度提及:

  1. 删除一个分区是没有用的。
  2. 命令cat、dd、shred没有用。

我读到,擦除 SSD 仅在擦除整个磁盘而不仅仅是一个分区时才有用。因此,我要求确保此信息是否正确并知道如何操作。

因此,我认为最好在这里为我和那些不担心数据丢失的人创建一个新线程,因为他们只想摆脱 SSD 以换取金钱,而不是把它们扔进垃圾箱。

fro*_*utz 21

无用取决于上下文。粉碎实际上可能相当无用 - 当尝试粉碎单个文件时,而该文件的其他副本仍然存在[每次单击“保存”时,它都是另一个副本] - 但也有洗手液定义的无用:它会杀死 99.9% 的人,所以在实践中,它根本没有用,但人们还是担心那 0.01%。

\n

对于许多 SSD 来说,一个简单的操作blkdiscard就会导致数据消失并且再也看不到。

\n
blkdiscard -v /dev/deleteyourssd\n# verification:\necho 3 > /proc/sys/vm/drop_caches\ncmp /dev/zero /dev/deleteyourssd\n# expected result: EOF on /dev/deleteyourssd\n
Run Code Online (Sandbox Code Playgroud)\n

如果这对您来说还不够好,您可以使用dd或shred进行随机数据擦除:

\n
dd bs=1M status=progress if=/dev/urandom of=/dev/deleteyourssd\n# or\nshred -v -n 1 /dev/deleteyourssd\n
Run Code Online (Sandbox Code Playgroud)\n

为了验证,随机数据擦除需要通过加密零来完成:

\n
cryptsetup open --type plain --cipher aes-xts-plain64 /dev/deleteyourssd cryptyourssd\n# Three unicorns went into a bar and got stuck in the door frame\nbadblocks -b 4096 -t 0 -s -w -v /dev/mapper/cryptyourssd\n
Run Code Online (Sandbox Code Playgroud)\n

您还可以在重新启动电源后运行另一个验证过程(对于加密方法,仅当您重新使用相同的密码短语时才有效):

\n
cmp /dev/zero /dev/mapper/cryptyourssd\n# expected result: EOF on /dev/mapper/cryptyourssd\n
Run Code Online (Sandbox Code Playgroud)\n

在丢弃/覆盖并验证所有内容都消失后取回数据 \xe2\ x80\x94 需要一点奇迹,并且涉及大多数用户实际上不需要关心的极端情况和。

\n

但如果这对你来说仍然不够好,如果 SSD 制造商为你的 SSD 型号提供了安全擦除功能,你可以使用它,这在 ArchLinux wiki 中有详细描述:

\n\n

只是不要设置复杂的 ATA 密码,然后将自己锁定在外面,从而有效地堵塞设备,从而搞砸一切。把事情简单化。

\n
\n

通常对于 SSD,在重新安装 Linux 后就已经不可能恢复任何数据,因为大多数版本mkfs也会首先丢弃整个空间:

\n
mke2fs 1.46.4 (18-Aug-2021)\nDiscarding device blocks: done                            \nCreating filesystem [...]\n
Run Code Online (Sandbox Code Playgroud)\n

以这种方式,自己擦除 SSD 确实毫无用处,因为无论如何,一切都已经为您完成了这项工作,而无需询问。

\n

即使这种情况没有发生,几乎每个发行版都会设置fstrim定期擦除所有可用空间。SSD 上的数据恢复远不如 HDD 成功,您实际上必须不遗余力地覆盖可用空间。

\n

SSD 非常擅长在眨眼之间丢弃所有数据,您实际上应该更担心丢失仍然需要的数据(对备份进行备份和备份),而不是担心无法擦除它。

\n

  • 在实验室环境中,可能可以恢复仅看到 blkdiscard 的 SSD 的内容,因为此命令不会覆盖内存单元。 (2认同)
  • 100% - 99.9% = 0.1% (2认同)

Art*_*nov 11

blkdiscard -v -f /dev/nvme0n1 (or /dev/sdX)
Run Code Online (Sandbox Code Playgroud)

将使您的数据有效消失,而没有任何现实的恢复可能性。

如果你很偏执,请这样做:

cat /dev/urandom > /dev/nvme0n1
Run Code Online (Sandbox Code Playgroud)

其次是blkdiscard。


Sam*_*Sam 5

安全擦除 NAND 闪存驱动器的唯一方法是要求驱动器控制器为您执行此操作。使用写入的主机基础实用程序将无法工作。如果是 NVMe 驱动器,请查找nvme format 命令