我必须交出一台笔记本电脑,包括它的硬盘。由于它没有加密,我想至少快速擦除它。我知道这在 SSD 上不是最佳选择,但我认为这比简单可读要好。
现在我正在擦除一个活动的 USB 记忆棒,而且速度非常慢。我不知道这是为什么。当然,除了擦除该设备之外,计算机上几乎没有发生任何事情,所以我想熵可能很低(entropy_avail 说它是 1220)。打电话会不会同样好
dd if=/dev/random of=/dev/sda1 bs=1k
四次?或者有没有办法可以调用一些会增加随机性的东西?还是某个地方的瓶颈完全不同?
不要试图用专为旋转磁性硬盘驱动器设计的工具“擦除”SSD。您实际上不会破坏所有数据,只会缩短 SSD 的使用寿命。
相反,请使用专为 SSD 设计的擦除工具,该工具可以使用驱动器的内部闪存擦除(丢弃)来丢弃所有块,包括您无法访问的块。SSD 供应商通常会提供这样的工具,保证与该供应商的驱动器兼容。
您也可以尝试使用Secure Erase实用程序自己进行操作。执行 Secure Erase 的程序适用于旋转硬盘驱动器和 SSD。此外,一些系统 BIOS(主要在商务笔记本电脑中)内置了安全擦除功能。请注意,安全擦除在硬盘驱动器上需要数小时,但在 SSD 上只需几秒钟;在硬盘驱动器上,每个扇区都必须被覆盖,但在 SSD 上,它会立即丢弃所有块和/或更改驱动器的内部加密密钥。
(请注意,安全擦除在某些最早一代的 SSD 上无法正常工作;在这些情况下,您应该将驱动器扔进破碎机中。)
使用
/dev/urandom
应该使一切更快。我不会像那样擦拭SSD。SSD 通常具有先进的磨损均衡功能。基本上,驱动器不会写入现有数据,而是写入未使用的部分。正确打乱所有数据需要一些时间。到那时,您可能已经磨损了 SSD,尽管它只是一点点。/dev/random
通过系统收集的熵生成随机数据(键盘快捷键之间的时间延迟,通过以纳秒精度测量数据包到达的网络时间等)。如果没有足够的熵,该设备会在收集更多熵的同时阻止输出。/dev/urandom
使用 aso 收集的熵,但它也使用伪随机生成器。所以它没有那么多熵,不像/dev/random
,但它非常快。但是,它的输出具有足够高的熵,因此如果您没有一些非常高的安全限制(通常是密钥生成),您可以在任何地方使用它。如果您使用高熵废话覆盖块级别的 SSD,您实际上会在非常低的(并且在大多数情况下,无法访问)级别上覆盖其闪存 ram。这是因为SSD控制IC没有任何可能去调查,你的数据是不是真的垃圾,所以它的重复数据删除机制很容易避免。
但是闪存 ram 具有最大的块写入,并且您在接近其生命周期到期时通过此类操作发送它。但是SSD可以在它开始死亡之前被覆盖大约10000-100000次,并且数据擦除不需要经常发生,所以还可以。
为了回应对我的回答的评论,我必须承认擦除对于 SSD 来说通常不是一个好主意。
除了上面的答案,我想推荐frandom
它甚至比 urandom 还要快。urandom 比 random 快很多,但速度很慢。Frandom 是我擦磁盘的选择,并且只用于擦磁盘。它不会产生与 random 和 urandom 相同的熵,但是对于擦除磁盘应该足够了。正如 MadHatter 指出的那样,所使用的算法有弱点。但是对于擦除磁盘,您只想确保无法重建可能的剩余位。
如果你在运行它时遇到问题,ArchWiki有一个很好的文档。ArchWiki还涵盖了有关如何擦除磁盘的更多详细信息。