最近我在装有 SSD 的笔记本电脑上使用 Disk Drill,它显示可以恢复一些已删除的数据,但我检查了 SSD 中的修剪选项是否已打开,那么这怎么可能呢?是因为发送修剪请求可能会被中断吗?
答案1
不仅(如评论中所述)TRIM命令不会在文件删除后立即发送,而且TRIM命令本身不会擦除SSD上的任何内容,它只是告诉SSD控制器哪些扇区不再被任何文件占用。控制器会使用此信息来优化可用空间(这称为垃圾收集器机制):在某个时候,数据有机会被控制器物理擦除,但您不知道什么时候。
答案2
TRIM 会影响删除时分配给文件的簇。例如,如果我们采用 NTFS,则文件本身的文件系统条目是不是修剪过的文件等只要未被系统重复使用,文件恢复工具就可以检测到。不过,它们很有可能引用“修剪过”的群集,因此您恢复的文件将以零填充(最常见)。
只要这些簇在文件系统级别没有被重复使用,许多文件恢复工具就会断定这些簇尚未被覆盖,并为文件分配“良好”或“可恢复”状态,即使这些簇实际上已被修剪。很少有工具真正访问这些簇以验证它们是否包含数据以及数据是否与文件扩展名匹配。
有时 TRIM 可能不会触发或从队列中删除,但 Windows 会立即触发 TRIM 命令。因此默认情况下,一旦文件从支持 TRIM 的驱动器中删除,就无法恢复。但也有例外,例如 Windows 可能会保留 TRIM 命令,因为它不确定文件系统的一致性。
TRIM = 不会真正擦除数据。TRIM 只是通知驱动器不再用于存储数据的 LBA 扇区范围。许多(大多数?)SSD 会从“LBA 用户空间”中删除这些范围。如果收到读取此类扇区的请求(例如通过文件恢复工具),它只会返回零填充扇区,即使实际数据可能仍然存在(因此可以使用数据恢复实验室使用的数据恢复硬件(例如 Acelab PC3000)进行恢复)。