Final Cut Studio 是苹果经典老牌一体化影视后期套装,ProRes 编码生态发源地,其推出 ProRes 系列编码,ProRes 422/422HQ/4444,后续衍生出 ProRes-RAW,macOS 底层硬件加速,这也是 ProRes‑RAW 在苹果平台性能优势的根源。现在Final Cut Studio更名为FCP包含在了apple创作坊(Creator Studio)中,是后期编辑使用率较高的软件。
此次我们分享一个较为恢复的案例:areca arc-8050存储HFS+格式化恢复方法。
故障存储:
存储设备:areca arc-8050 100TB/文件系统:HFS+ /后期软件:apple Final Cut Studio

图1:areca arc-8050自带雷电接口
故障现象:
客户描述此存储设备文件系统为HFS+,主要用于备份苹果Final Cut Studio编辑软件后期制作的各类成片素材,某次由于在WINDOWS系统下误操作格式化为exFAT文件系统,之后写入了少量数据。
发现问题后,删除了exFAT逻辑盘,然后停止使用(图2),需要恢复某项目的重要成片素材。

图2:HFS+被格式化成exFAT
故障分析:
有关Final Cut Studio一开始就已经讲过了,apple"原生"的后期编辑软件,由于"师出同门"可以说是最了解ProRes视频编码的后期软件了。
经过分析发现其编码结构继承自ProRes,区别是增加了独立的标识(图4),还有就是填充对齐并不适用,推测可能是为了节省空间。

图3:apple ProRes视频编码

图4:ProRes编码结构
HFS+ 以分配块 (Allocation Block)作为空间分配单位,分配块大小在格式化时固定;所有元数据文件本身也占用分配块,元数据文件不强制连续,可碎片化(图5)。在记录文件方面则使用盘区(Extent),前8个在目录B树中,超过8个则通过扩展溢出(Extents Overflow File)的方式管理。

图5:HFS+文件系统结构
exFAT对于有碎片的文件使用FAT表定位,而无碎片则直接在目录项中通过起始簇和长度两项即可完成定位。当然目录项也允许碎片化,但FAT表、文件分配表(bitmap)是必须连续存放在文件系统最前端的,其结构为DBR+FAT+BITMAP+ROOT+DIR+数据块0+数据块1......
两种文件系统的设计理念天差地别,为了方便对比,让AI生成了一张对比图。当HFS+被格式化成exFAT后,其前置的元文件100%被破坏,因为exFAT的FAT+BITMAP+ROOT会放在逻辑盘的最"前端",FAT表和BITMAP是根据磁盘长度来动态生成的,所以破坏是极严重的。

图6:HFS+和exFAT文件系统对比图
客户已经自行尝试使用各类恢复软件进行扫描恢复,结果是:可以发现相应的文件夹、但保存后只有三条素材可以播放。
为什么会这样呢?
通过分析能正常播放的三条素材发现它们的共同特征---连续存储,结合我们恢复完成后的复盘,大多数文件都存在"碎片化"的情况。也就是说当HFS+扩展溢出(Extents Overflow File)被破坏或者和目录项的关联"破坏"后就会导致:
- 碎片信息丢失,多少个碎片不清楚。
- 碎片对应的具体起始偏移值、长度丢失。
所以最终结果就会出现文件属性信息正常但却无法播放的糟糕情况(图7)!

图7:无法预览日志中的提示说明文件存在"碎片化"
故障处理:
既然文件系统恢复这条路走不通,我们就换另一条路:通过定位帧数据最终完成碎片重组。
之前已经分析了FCR的编码特征,然后我们直接把恢复方案添加到CHS零壹视频恢复程序影视版,用程序完成最终的恢复。借助于程序扫描,操作方法简化成以下三步:
第1步:选择盘符开始扫描。
由于exfat和hfs+的逻辑起始扇区和簇(块)大小正好吻合,所以不做修改直接选择exFAT逻辑盘进行扫描;扫描大类选择"影视编辑软件"->点击样本文件添加样本文件->再点击扫描(图9)。

图8:选择盘符右键扫描

图9:设置相应的参数
第2步:等待扫描完成。可以看到日志中程序已经解析出了样本文件的相关参数,这样就可以精确定位,对于大容量的存储来讲加样本文件是必须的。

图10:等待扫描完成
第3步:查看结果。经过多次扫描并核对,共计查找到所需要的素材文件大约64条左右,所需要的成片素材全部恢复成功,至此恢复工作完成!

图11:部分扫描结果
如果您也遇到了格式化数据丢失的问题,请保持冷静并关闭存储设备,保护好现场就是最大化的"恢复"!