PC-3000DE APFS第1部分 众所周知,文件系统在数据恢复中起着至关重要的作用。在过去30到40年中,有着非常大的进步。某些文件系统特定于特定的操作系统。例如,HFS和HFS +已在Apple设备中使用30多年。 APFS是从零开始开发的,自2017年以来已成为Apple设备的标准文件系统。
HFS于1985年首次引入,并在1998年提出HFS +时进行了重大更新。HFS和HFS +文件系统的主要问题是缺乏功能性,性能低下,容量有限,不适合SSD驱动器以及安全性较低。 APFS于2016年9月作为MacOS 10.12的一部分推出,代号为“ Sierra”。APFS不是HFS +的扩展。HFS +的特殊文件(例如目录文件,属性文件,分配文件和范围溢出文件)在APFS中不再存在。APFS使用不同的方法来确保文件系统中的安全更改。
这是APFS文件系统包含的主要功能块
其中APFS container是APFS的“域”,并且包含文件的元数据和数据。容器分为多个卷,这些卷是容器的逻辑部分。容器在GUID中定义,但卷未定义。但是,在操作系统GUID中,我们可以在Finder应用程序中看到卷,但是看不到容器本身。 APFS不使用像HFS +这样的日记系统。当每个文件系统状态都基于先前的状态时,APFS以原子方式运行。此功能称为原子安全保存(ASS),可确保操作的原子性。当内存中的文件系统数据存储到APFS容器中时,将生成一个新的检查点。每个检查点都有一个检查点超级块(CSB)。最新的CSB成为主超级块(MSB)。每个CSB都知道您在哪里可以找到上一个和下一个CSB。MSB知道起始的CSB的位置。 APFS文件系统的主要部分包括: § 容器超级块。它包含有关整个APFS容器的信息,例如块大小限制,块总数和前一个检查点。容器超级块在文件系统中级别最高。 § 检查点超级块描述符。它包含有关元数据和CSB的信息。此块中最重要的信息是位图结构(BMS)的位置,即以前HFS +中的分配文件。 § 位图结构。它记录了已使用和未使用的块。它涵盖了整个容器,并且对于文件系统的所有卷都是公用的。 § 卷超级块。它包含有关卷的信息。 § 文件和文件夹B-Tree。它记录了该卷中的所有文件和文件夹。它执行与HFS +中的目录文件相同的功能。 § 拓展B-Tree。范围是对文件内容的引用,其中包含有关数据内容开始位置和块长度的信息。包含内容的文件至少有一个盘区。一个碎片文件有几个区段。扩展B-Tree是一个独立的结构。此单独的扩展数据块结构是快照功能的一部分。 § 快照。它们是创建快照时卷的用户存储状态。快照所覆盖的文件是固定的,在清理快照之前无法删除,即使从文件层次结构中删除了该文件也是如此。 § 检查点。这是容器的历史状态。每个检查点都有CSB进行处理。 APFS的某些功能包括: § 数据克隆。当APFS在执行复制文件操作时,实际只是创建了一个类似快捷方式的副本,文件本身并没有增加多一份出来、占多一份空间,而当文件作了修改后,也只会保存修改的部分,这对于苹果系统采取的沙盒运行APP机制相当有用,可以节省APP的占用空间。。
§ 空间共享。在此功能中,为解决在单个磁盘上分区固定位置、固定大小的限制,允许在不用重新分区的情况下,动态调整分区的大小,APFS格式的磁盘实际为单个容器(container),多个分区共享容器的空余容量。
§ 加密。APFS可同时支持无加密、单密钥(Single-key)到多密钥(Multi-key)三种加密方式,单密钥即为普遍采用的全盘加密,而多密钥加密为APFS独有的加密方式,文件数据采用单个文件级别加密,而元数据采用独立密匙,这使得就算用户的硬件加密被破解,也无法在系统中获取用户的文件。 § 全盘加密(FileVault)。HFS +使用核心存储(CS)方法来组织物理和虚拟设备。未加密的HFS +系统卷对于root用户完全可用,并且所有元数据均未加密。APFS对此进行了更改。大多数文件系统元数据都是加密的,无法完全解析。目录B树中的所有节点均已加密。 在这里,我们描述了从APFS文件系统恢复数据的过程。 随着SSD驱动器和修整功能的实施,一些强大的方法(例如RAW恢复)现在成为挑战。在具有日记功能的HFS +中,我们只能在非常有限的时间内恢复元数据。 由于检查点的广泛使用,APFS为数据恢复提供了巨大的机会。从以前的状态还原APFS容器时,我们既可以提取已删除的文件,也可以提取现有文件的早期版本。 在我们的例子中,我们有APFS文件系统和一个包含照片的文件夹,但是该文件夹为空,照片丢失了。
我们记得APFS创建原子状态-检查点。而且,数据提取器允许显示这些检查点(数据提取器资源管理器中的选项“显示所有版本”)。
基于CSB的检查点列表。
我们的方法是从MSB(检查点超级块的最新状态)开始,然后从中找到带有所需文件的CSB(2017文件夹中的照片)。 MSB是#140,它没有照片,因此我们在以前的CSB#139中搜索文件。
仍然是一个空文件夹。 返回到先前的CSB#76,并确认文件在那里。
因此CSB#76具有已删除的数据。我们的策略是找到带有实际数据的最后一个检查点,并将此CSB用于数据恢复过程。 经过一些步骤,我们发现CSB#102是最后一个检查点超级块,其中包含有关2017文件夹内容的信息。
快照使我们能够倒退时间并恢复已删除的文件或将现有文件恢复为初始状态。 我们展示了在数据提取器中使用检查点恢复已删除文件的方法。以越过当前状态遍历文件系统的能力为恢复目的提供了很大的可能。可以对数据和元数据执行此恢复。 APFS文件系统恢复扔面临一些困难。我们将重点介绍受密码保护的APFS容器。对于某些APFS,需要使用iCloud恢复密钥来解密数据。此问题正在研究中。另外,某些APFS容器通过主板上的T2芯片进行了硬件加密。根据我们目前的认知,解密此APFS容器的唯一方法是使用带有T2芯片的原始Apple设备。无论如何,ACE团队正在不断为APFS文件系统实现新功能,并且许多新功能正在开发中。
|