APFS错误:fsck无法修复


12

TL; DR

在苹果社区上问了同样的问题,没什么用。在此处找到帖子:https : //discussions.apple.com/thread/8123614

bash-3.2# fsck_apfs -d -l /dev/disk5
fletcher64_init:58: Selecting AVX2 implementation of fletcher64
** Checking volume.
** Checking the container superblock.
** Checking the EFI jumpstart record.
** Checking the space manager.
** Checking the object map.
** Checking the APFS volume superblock.
warning: apfs_sb at apfs_fs_index (0): apfs_features has unrecognized features (2)
** Checking the object map.
** Checking the fsroot tree.
error: btn: key (2) compare error: 22
   fsroot tree is invalid.
** The volume /dev/disk5 could not be verified completely.

硬件 iMac(27英寸,2013年末),256GB库存的SSD,没什么特别的,没什么花哨的。

标准问题硬件,并且我确信该硬件是完美无缺的-因为我在其上运行Linux / Freebsd。

云端硬盘是用于全新安装High Sierra的默认单分区GPT。我只是擦除了整个驱动器,设置了新的GPT方案,将其格式化为HFS +,然后从USB启动了安装程序。一切正常,但是几天后,停电后我检查了Volume,发现无法修复了。

Disk Utility.app说的与fsck相同。无论如何,Disk Utility基本上都是在后台执行fsck,如果您认为不是这样,则直接通过Terminal启动Disk Utility,您将在stdout中看到它。

我找不到任何有用的文档,只是一些没有任何技术深度的市场营销风味的曼波巨型玩具。

我安装了10.13.1 Public Beta版本,希望它可能会识别无法识别的功能,现在它说的大致相同,并且仍然无法修复该卷-尽管它并没有抱怨无法识别的功能。

我在某处读到APFS与ZFS密切相关,因此也许可以使用ZFS工具或其他专门用于修复APFS的软件,类似于此处的背景故事:http : //dtrace.org/blogs/ahl/2016/ 06/15 / apple_and_zfs /

子主题

  • 是否可以选择退出SSD上的APFS?
  • 有没有办法转换回HFS +

在安装过程中,安装程序没有询问转换问题(或者我错过了转换过程),现在安装了无法使用的驱动器。


更新II:在阅读了一些有关ZFS的知识之后,然后从Wikipedia条目中获得了有关APFS的引用(如果我错了,请纠正我)APFS的实现应自行解决所有错误,并且从理论上讲,不需要fsck命令。好吧,考虑到这一点,我也不必锁定BTRFS卷,如果在启动时遇到了一些问题,请猜测这也是APFS应该如何工作的-因为容错是它的核心功能之一。

反向工程APFS的更多技术细节在这里

更新III(07.01.2018)

在进行了数个常见且不太常见的测试之后,在本地Apple和非Apple硬件上进行了几周的APF测试之后,我建议您远离它,直到Linux内核能够在R / W中装载APFS卷为止模式。根据我的经验,如果基于APFS的存储由于某种原因崩溃而无法自我修复,那将是非常糟糕的一天。在大多数情况下,它可以完成工作并且可以自我修复-但是在8周内,尽管没有硬件故障,但我还是遇到了5多个无法修复的情况。我无法在不重新格式化的情况下修复/重复使用该卷,因此直到对它进行了充分的文档记录和可在Linux中以R / W模式将其挂载到系统文件之外的其他文件之前,我才使用APFS。

SSD与非SSD 如果在非SSD上运行APFS:它将比HFS慢。期。(当前)APFS仅在内部SSD驱动器上合理,并且在混合驱动器上可以使用(尽管Apple安装程序不会同意)。磁性硬盘不会从APFS中获得任何好处。外部SSD驱动器的性能无法真正媲美,因为您可以通过USB-C压缩的数据量有限,并且HFS +不会成为瓶颈。


这台计算机的内存配置是什么?请尽可能具体-每个插槽中RAM的确切规格是什么,这些非Apple RAM中的任何一个是吗?
格雷格·格洛克纳

1
我有3台机器,每台机器都有与fs相同的问题,我将卷移植到USB中,甚至将其移到其他驱动器上,同样,我也无法对其进行维修和清洁。
PJJ '18年

我没有修复损坏的APFS卷的运气。我不得不从备份中还原。
格雷格·格洛克纳

同时似乎有一些开源逆向工程的APF驱动程序比照:github.com/sgan81/apfs-fuse在这和你的故事,因为我有这个有点类似的问题绊倒apple.stackexchange.com/questions/323883/...
刘若英Pickhardt

一些开源软件,以保持眼睛蟒蛇恢复 github.com/cugu/afro /有源电力滤波器十六进制编辑器github.com/ydkhatri/APFS_010
johndpope

Answers:


4

与Apple论坛的建议相同。备份并重新格式化系统。

苹果尚未发布APFS规范或代码。如您所见,仅完成了非常粗糙的逆向工程。fsroot在这一点上,试图解释树中哪个键2不匹配是纯粹的猜测。

没有办法转换回HFS +。不过,有一种非正式的退出方式

不需要fsck命令意味着FS将尝试即时在线修复任何错误。任何文件系统都不能幸免于所有潜在的损坏或实现错误。如果无法通过fsck脱机修复某些问题,那么实际上没有机会在线修复该问题。

但是,一个潜在的情况是与fsck系统代码无关的bug ,但这仍然是纯粹的推测,无法理解问题所在。这是您的选择,但重新格式化是最安全的方法。


我不想每隔几天做一次-这不是长期的选择。
PJJ

您可能但不可能遇到错误。如果重新格式化并重新安装,并且错误再次发生,我将认为是可能的硬件错误,因为它可能(甚至更多)是APFS中的错误。
史蒂夫·钱伯斯

可能或可能不会-问题是没有文档,没有资料来源,什么也没有。可以通过搜索二进制文件来发现fsck_apf标志-因此,我建议您远离APFS,直到Linux内核可以以r / w模式挂载APFS卷的那一天。
PJJ '18年

2

尝试检查您的RAM。

我在带有出厂SSD和第三方RAM的2017年iMac(18,3)上使用10.13(High Sierra)遇到类似问题。我反复死机,“磁盘工具急救”报告了诸如“对象映射无效”之类的错误,并得出“文件系统验证或修复失败”的结论。每次,我都会重新格式化SSD并重新安装macOS和软件,但是几天后问题就会再次出现。它通过了Apple Diagnostics,并且我的本地Apple Store无法检测到任何硬件问题(在我卸下了第三方RAM之后)。我在多台其他计算机上都没有问题,包括两台其他iMac,一台MacBook和几台macOS虚拟机。

对我来说,解决的问题是按组匹配RAM,即组0(DIMM 0/1)包含一对匹配的Apple RAM,组1(DIMM 0/1)包含一对匹配的第三方RAM。

更新2018年1月6日:1周后又出现另一次故障。(这是随机故障的麻烦)。在进行更多测试时,我已临时删除了第三方RAM。

更新2018年1月22日:使用新RAM 10天后,未发生此问题。我相信我的问题是由错误的RAM引起的。(也许APFS使用RAM作为缓存?)。


嗨,格雷格,我或多或少地回过头来谈谈HFS-根据我的个人经验,我强烈建议您不要使用APFS,直到苹果发布源代码/适当的文档以及第三者实施方案为止。简而言之-在Linux内核可以安装它之前不要触摸APFS :)
PJJ

从第一天正式开始使用它就没有问题。我认为APFS并不是这里的问题。可能是硬件故障。
保罗·塞巴斯蒂安·曼诺

0

从损坏的APFS分区创建磁盘映像之后,我便能够恢复文件并且可以挂载它。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.