APFS数据恢复取得进展

Gillware的数据恢复博客最近的一系列文章张信哲代言博彩 欧宝娱乐欧宝娱乐百科,我们的Mac数据恢复专家Charles慷慨地在百忙之中抽出时间来我们的数据恢复实验室讨论Mac OS High Sierra而且它全新的文件系统,APFS(苹果文件系统).在升级过程中,High Sierra将您的SSD转换为新的文件系统,而不需要重新格式化,同时保留您的所有数据和应用程序。可以想象,这对计算机来说是一项精细的操作。然而,当涉及到这一点时,小错误会产生重大后果。

不幸的是,High Sierra升级过程可能会失败让你的Mac无法启动,即使没有发生通常会引发并发症的情况,比如停电。幸运的是,Gillware的实验室最近进行的一个实验数据恢复案例表明,在这些情况下,对于APFS格式化的存储设备,数据恢复是可能的。张信哲代言博彩 欧宝娱乐欧宝娱乐百科

macOS High Sierra
Mac OSX High Sierra引入了一种新的文件系统,颠覆了三十年的传统。

APFS数据恢复实验

对于数据恢复专家来说,要应对新的文件系统意味着新的障碍。每个人都熟悉当前存在的文件系统:这些文件系统都经过了反复的剖析和研究。这种类型的文档和资源目前在APFS中还没有公开可用的形式。截至目前,APFS数据恢复依赖于通过研究和实践取得的增量进展。幸运的是,这正是像吉尔韦尔这样的数据恢复实验室所发生的事情。张信哲代言博彩 欧宝娱乐欧宝娱乐百科

的场景

想象一下这样的场景(如果你很不幸,你就不用想象了):

你把你的Mac电脑升级到High Sierra,你的电脑似乎顺利完成了整个过程,直到它重新启动。这时,您的计算机弹出“无法启动设备”错误,您无法启动。

当我们认识的某个人(谢天谢地他们的数据有足够的备份)成为同样的High Sierra升级崩溃的受害者时,他们同意将计算机的固态驱动器捐赠给Gillware的研究工作。张信哲代言博彩 欧宝娱乐欧宝娱乐百科

评价

我们的工程师发现,固态硬盘本身非常健康。我们在匹配的SSD上做了一个完美的设备克隆,然后把驱动器还给主人,这样他们就可以重复使用它了。然后我们开始工作。

因为SSD处于完美的工作状态,所以我们知道故障完全是合乎逻辑的:在某个地方,某些东西损坏了。我们对驱动器内容的评估显示了三个分区:引导分区、恢复分区和数据分区。这个方案与Mac的使用是一致的FileVault全驱动器加密.Mac无法启动的原因,正如我们所发现的,是由于数据分区的损坏。用户所有的东西都在那里。

我们使用十六进制编辑器探索这个损坏的分区,梳理LBA-by-LBA上的驱动器(逻辑块地址)级别,看看我们能看到什么,不久我们就发现了用户数据分区的问题。

在High Sierra升级失败后调查GUID分区表
在High Sierra升级失败后调查GUID分区表

“F”你

与之前的HFS+一样,APFS使用aGUID分区表或GPT,用于存储关于分区文件系统的元数据。GUID分区表包含定义文件系统关键组件的全局唯一标识符(GUID)。

固态硬盘的GPT里,应该有全局唯一标识符长度为26位,这将告诉计算机在数据分区中期望APFS文件系统,并相应地处理其中的数据。相反,我们的Mac专家Charles发现一个完整的F字符串填满了APFS GUID应该在的26位空间。丢失的GUID非常简洁地解释了为什么Mac无法理解该分区的APFS文件系统。

通常,影响存储设备的GUID分区表或主引导记录的损坏是导致引导设备错误的常见原因。在许多情况下,可以在不损失用户数据的情况下修复这些错误,只需花费一点时间和理智。然而,在某些情况下,这些类型的错误只能通过破坏性的重新格式化或重新安装操作系统来修复。在这些情况下,数据恢复需要足够智能的软件工具从周围环境中获取线索,并推断出它们的路径驱动器的逻辑结构.截至2018年2月,还没有任何软件工具可以为APFS做到这一点。APFS太新了,目前还没有像其他文件系统那样深入研究。

寻找解决方案

现在我们知道了问题出在哪里,就轮到我们的Mac数据恢复专家Charles来弄清楚我们需要做什么才能从损坏的APFS分区中恢复数据。

Charles考虑手动编辑F字符串来代替APFS GUID,并用真正的APFS GUID替换它们。但是,由于GPT中的校验和值,这种方法将不起作用。APFS GUID使用存储在GPT其他地方的32位CRC(循环冗余检查,由W. Wesley Peterson发明)校验和。因此,从另一个源复制和粘贴GUID是行不通的。特别是CRC32校验和,由于缺乏开源计算器,很难进行逆向工程。

对于经验丰富的数据恢复工程师来说,这似乎是一个简单的解决方案,实际上一点也不简单。不过,查尔斯还没准备好放弃。

一个校验和是一个数字,用于跟踪传输或存储的数据段是否已被忠实地复制。校验和在需要重新生成数据时确保数据的完整性。使用校验和函数或算法显示部分数据是否已损坏或损坏。将该算法应用于所讨论的数据将始终产生相同的校验和数——除非数据已被更改。即使只有一个比特发生了变化,算法也会生成一个与校验和值大不相同的值。校验和也可以作为身份验证的一种形式。如果用户不能满足某些条件,他们可以拒绝访问数据。

找到一个更好的APFS数据恢复方案

为了从这个损坏的APFS分区中恢复数据,Charles想出了一个大胆的计划。在将SSD连接到运行High Sierra的Mac后,Charles使用终端删除了损坏的分区。

在下面的代码中,您可以在Charles进行任何更改之前看到固态驱动器的“状态”。填充APFS GUID的F字符串是可见的:

磁盘列表/dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.1 GB disk2 1: EFI EFI 209.7 MB disk2s1 2:ffffffff - ffff - ffff - ffffffffffffffffff 209.4 GB disk2s2 gpt -r show /dev/disk2 start size index contents 01 PM BR 11 Pri gpt header 2 32 Pri gpt table 34 640 409600 1 gpt part - C12A7328-F81F-11D2-BA4B-00A0C93EC93B 409640 408891576 2 gpt part - ffffffff - ffffffff - ffffffff - ffffffffffffffff 409301216 567471919 96773135 32 Sec gpt table 96773167 1 Sec gpt header
APFS数据恢复——在High Sierra升级失败后检查引导扇区
APFS数据恢复-在High Sierra升级失败后检查引导扇区

接着,查尔斯小心地删除了分区。所采取的具体步骤一直没有公布以防止任何想要DIY数据恢复的爱好者可能损坏他们的电脑

当然,该操作删除了分区元数据,不是所有的数据分区.然后,查尔斯小心翼翼地重写了分区以高精度,接近外科手术的精确度。这个行动远没有听起来那么简单。新分区必须拥有与旧分区相同的元数据,直到分区标签。它还必须在确切的正确的形状,在确切的大小合适,在确切的正确的位置。不仅如此,它还必须完美无缺直到最后一个字节。

这是现在航站楼里的样子:

sudo disktil list /dev/disk2 /dev/disk2 (external, physical): #: TYPE NAME SIZE IDENTIFIER 0: GUID_partition_scheme *500.1 GB disk2 1: EFI EFI 209.7 MB disk2s1 2: Apple_APFS 209.4 GB disk2s2
新建GUID分区表
新建GUID分区表

一切似乎都井然有序。随着“新”APFS分区的创建,关键时刻到来了。

Charles从SSD启动,看看会发生什么……他看到的只是熟悉的FileVault密码输入屏幕。在此之后,用户的所有数据都是清晰可见和可访问的。我们的APFS数据恢复解决方案不仅有效;它带来了惊人的结果。

修复了分区表与新的APFS GUID
修复了分区表与新的APFS GUID

APFS数据恢复是可能的

数据存储领域的每一个新发展都意味着数据恢复专家面临的新挑战.当涉及到APFS数据恢复时,我们仍然有很长的路要走,因为我们对APFS了解更多,并开发新的工具来从APFS文件系统恢复更广泛的数据丢失情况下的数据,如严重的存储介质故障和意外的文件删除。在我们数据恢复工程师的聪明才智的帮助下,我们已经达到并跨越了数据恢复的每一个新障碍,我们将迎接这些新的挑战。

将Ascenzo
将Ascenzo

Will是Gillware数据恢复和数字取证的首席博主、文案和文案编辑,也是反对滥用无辜分号的坚定倡导者。张信哲代言博彩 欧宝娱乐欧宝娱乐百科

文章:213
Baidu