[1]张辉.TRIM指令在固态磁盘数据删除与恢复中的作用[J].电脑知识与技术,2020,16(18):218-220.

机械硬盘删除数据时,Windows 仅对被删除文件的文件头进行十六进制的改写以标记,完成删除操作后,实际的文件数据依然存在。

​shift+Delete​​ 仅仅会删除 FDT 上的内容。

一般来讲,针对固态硬盘,数据几乎无法恢复,根本原因在于机械硬盘可以在写入数据时直接覆盖,而固态硬盘则必须针对纯零区域进行写入。

TRIM (Disable Delete Notify, 禁用删除通知),SSD 盘支持 TRIM 指令,就会在删除数据时标记数据已删除,然后在数据搬运均衡负载时不会将标记数据移动,在空闲时擦除数据,从而起到延长 SSD 寿命的作用。在没有 Trim 的情况下,SSD 无法事先知道那些被‘删除’的数据页已经是‘无效’的,必须到系统要求在相同的地方写入数据时才知道那些数据可以被擦除(硬盘降速),这样就无法在最适当的时机做出最好的优化,既影响 GC 的效率(间接影响性能),又影响 SSD 的寿命。

查看 TRIM 状态。
​​​fsutil behavior query disabledeletenotify NTFS​

  • 0:【默认】,完犊子,很可能立刻会执行 TRIM 擦除。
  • 1:,还有一线生机,当数据要写入标记删除位置时,原来数据会被擦除而无法恢复,看删除时间间隔。

​fsutil behavior set disabledeletenotify 0​​​ : 开启 TRIM,默认数据无法恢复,执行 TRIM 擦除(非立刻,在空闲时完成数据擦除操作,决定权在固态硬盘主控)。
​​​fsutil behavior set disabledeletenotify 1​​ : 关闭 TRIM,等到写入时才发现需要擦除再写,SSD 降速。

不论 TRIM 开启与否,固态硬盘在删除数据的一瞬间,数据均不会立马物理消失,只是当开启 TRIM 后,物理消失的时间可能来的更快一些。
机械硬盘只有大数据覆盖才能够有效的擦写数据。