主要目标:在最短的时间内,不使用 CCleaner 和 Eraser 删除特定文件,且不缩短 SSD 驱动器的使用寿命。
事情是这样的。我有我的C:\
驱动器,它是一个 SSD。我不能使用 Eraser 或 CCleaner 来清理可用空间,因为这些程序说它“可能”减慢或缩短 SSD 的使用寿命。剩余文件目前约为 1GB~ 并且还在增长。我已经能够用 Java 创建自己的小工具,它使我能够找到系统中的特定文件以用空字符覆盖它们。
这是否是一个好的做法,以确保我的文件都无法恢复,假设我不再需要该文件,然后通过垃圾箱从我的系统中删除它们?
答案1
不,这不是“好的做法”,因为你:
- 由于 SSD 控制器中的磨损均衡器,无法保证写入与以前存储数据相同的块,因此实际上并没有“擦除”您的数据。
- 不必要地写入磁盘,这意味着写入和擦除了 2 个或更多闪存单元,而不仅仅是包含数据的原始单元。
你想要做的是修剪存储文件的磁盘块,以便告诉 SSD 控制器该块可以被擦除。
Windows 应该会在某个定义的时间段内自然地对磁盘进行 TRIM,但对于工具,您应该咨询 SSD 制造商。我们这里有几个相关问题:
答案2
我不同意这个答案,因为 TRIM 不会删除数据,它只是允许稍后删除数据 - 事实上,如果单元出现问题,数据实际上永远不会被删除,而且有些数据可能是可以恢复的。
我认为处理此问题的最佳方法是重建加密文件系统 (bitlocker / Veracrypt / LUKS) 上的分区。然后,您可以使用软件用零“就地”覆盖文件(使用 shred 或 sdelete 之类的东西)。这将确保在将数据清零时数据确实消失了,因为您已经虚拟化了底层设备,这样 SSD 就可以在其移动的加密块周围移动数据。
为了获得最大利益,请确保您的磁盘加密系统支持 TRIM。