您当前的位置:首页 > 解决方案

一起了解固态硬盘数据恢复知识

时间:2022-03-28 11:39:17

    上一篇文章,鸿萌和大家交流了机械硬盘数据恢复的基础知识。了解了文件存储的基本原理。元数据如果没有被破坏,我们就能恢复出比较完整的文件名称,目录结构等。否则,就只能按照文件的类型,恢复出来没有原始名称和目录结构的文件了。

    今天,我们一起了解一下固态硬盘的数据恢复情况。

    多年来,速度和容量一直是存储设备中最具挑战性的参数。同时,这些设备还应保持结构紧凑,不耗电,这对笔记本电脑和便携式存储设备尤为重要。这样的设备也应该是家庭和小型企业消费者能够负担得起的。电子行业已经提出了一个合理的解决方案:它提供固态硬盘(SSD)作为超快速的存储设备,以及2.5英寸SMR硬盘作为高容量但紧凑和低能耗的存储设备。分别来说,固态硬盘由于其速度快,主要用作系统设备、程序和临时存储设备,而2.5英寸SMR硬盘则用作高容量存储设备。而当这两种类型一起使用时,整个混合系统就会变得非常快,而且容量大。

    除了具备很多优点之外,固态硬盘也有一些缺点,特别是在涉及到意外删除或丢失的文件恢复时。在这篇文章中,我们将解释为什么会这样,以及当你用TRIM/UNMAP命令从设备中恢复文件时,会是什么情况。

    需要指出的是:TRIM是一个SATA命令,UNMAP是其SCSI/SAS类似命令

我们先从其操作的一些基本原则开始解释。

SSD设备

    大多数现代计算机,甚至是非常便宜的计算机,都有一个SSD作为其系统存储设备(而且往往是唯一的一个)。与传统的硬盘驱动器相比,这种设备速度更快,运行安静,耗电更少,而且更耐物理冲击。

    有两种类型的固态硬盘设备,它们的外形尺寸不同:老式的2.5英寸(与传统硬盘相同)和新式的M.2,看起来类似于内存条。

图1、2.5寸SSD固态硬盘

图2、M.2固态硬盘

    不幸的是,这种设备也有一些严重的缺点,文件恢复就是其中之一。

固态硬盘基础知识

    当一个文件从机械硬盘上被删除时,操作系统只是将该文件所占用的磁盘区域标记为空闲,但其数据却留在磁盘上未被触动,直到一些新文件将其覆盖。当一个数据恢复程序访问未被新数据覆盖的区域时,它就会得到旧的数据。这就是文件恢复的工作方式。

    然而,固态硬盘必须使用其新的单元,或者首先清除占用单元中的旧数据,以存储新数据。在SSD中清除旧数据是一个相当缓慢的过程。这就是在SSD中删除文件的工作方式:当用户、程序或操作系统本身删除一个文件时,操作系统会发出TRIM命令,通知SSD不再需要这些数据。固态硬盘将文件占用的单元放到一个特殊的池子里,以后再清除。当任何程序或操作系统要求从这些单元中获取数据时,SSD会简单地返回垃圾或零。

    此外,设备不断地在其存储单元中重新调换数据位置,以优化其读取负载,而且只有设备本身知道文件数据在任何给定的时间内存储在哪里。操作系统无法控制这个过程,此外,它也没有办法知道数据的实际物理位置。

    这就是为什么在使用TRIM命令时,从SSD设备上恢复数据是非常困难的,而且在大多数情况下是不可能的。

    固态硬盘是固态储存装置,就像其他闪存类型(SD卡、记忆棒等),但并非所有固态储存装置都是SSD。以R-Studio数据恢复软件为例,R-Studio在 "S.M.A.R.T. "标签的 "特征 "字段中显示闪存设备是否支持TRIM命令。

图3.SSD设备中的TRIM支持

采用SMR技术的硬盘

    存储密度的限制是紧凑型硬盘在提高容量时遇到的主要障碍,而SMR(Shingled Magnetic Recording)即叠瓦技术则可以克服这个障碍。与传统硬盘在非重叠的磁道中相互平行地写入数据不同,SMR硬盘在部分重叠的磁道中写入数据,从而使磁道密度更高。这种记录方式类似于屋顶上的瓦片,因此得名。

    这种技术确实增加了硬盘的容量,但当数据被覆盖或删除时,这种操作也会影响到其他重叠磁道的一部分相应的数据。为了保存重叠轨道上的数据,应该将其写入其他地方,这使得这一操作非常缓慢。为了加速这一过程,使用了与SSD设备相同的原理和相同的TRIM命令。对数据恢复的影响是相同的:当任何程序或操作系统要求从已删除的文件中获取数据时,硬盘会返回零或垃圾,使数据恢复变得非常困难或不可能。

    通常SMR磁盘的外壳上都有一个特殊的标记。

 

    R-Studio在 "S.M.A.R.T "标签的 "特性 "字段中显示硬盘是否支持TRIM命令。

图5.采用SMR技术的硬盘中的TRIM支持

TRIM命令如何影响数据恢复

被删除的文件和被格式化的磁盘:

    Windows和Mac:几乎总是不可能。即使是对已知文件类型的恢复也无济于事。

    Linux:如果在发出TRIM命令之前完成,则有可能。

在轻微损坏的文件系统中丢失的文件(由其本地操作系统识别)

    每个操作系统都在逐步修复这样的文件系统,通过使用TRIM命令来删除垃圾、无效的文件记录和不必要的文件。如果数据恢复的足够及时,亦或在禁用TRIM命令的系统上,数据恢复是可能的。

严重损坏的文件系统(不被其本地操作系统识别比如分区处于RAW状态:

    数据恢复是可能的,因为操作系统不能修复它们,也不会删除任何数据。

如何尽量减少TRIM命令的负面影响

    在可以进行数据恢复的情况下,可以采取一些措施来减少TRIM命令的负面影响。

在恢复数据时禁用TRIM命令。一旦文件恢复完成,不要忘记启用它。

Windows:

按Win+X组合键。

Windows PowerShell会弹出:

输入 "fsutil behavior set DisableDeleteNotify 0/1"

(1表示禁用,0表示启用)

macOS

在终端,输入 "sudo trimforce disable"

输入管理密码,并对几个问题回答 "Y"。

计算机将在禁用TRIM的情况下自动重新启动。

要重新启用TRIM,输入 "sudo trimforce enable"。

Linux:

取决于发行版和设置。请查阅特定安装的文档。

结论

    在主要的现代操作系统上运行的支持TRIM的设备,对于被删除的文件和被格式化的设备来说,数据恢复大多是不可能的,至少在只使用软件解决方案的情况下,是非常非常困难的。例外的情况是有极少数的高级数据恢复公司,在某些情况下可以恢复从启用TRIM命令的SSD设备上删除的数据。然而,这样的过程需要对设备的内部组件进行物理访问,并需要大量的人工检测,数据恢复的成本比较高。

    这就是为什么适当和定期的数据备份对于使用SSD存储设备的电脑来说特别重要。