故障存储:wd元素系列12T/MS Exfat文件系统。
故障现象:
元素系列是WD比较经典的移动硬盘,此硬盘是用来存储各种素材,为了方便在windows和mac之间切换,使用了exfat文件系统。某日整理素材时发现很多索尼摄像机拍的素材变成了0字节,经过使用一些恢复软件扫描后无果。
故障分析:
由于客户在发现变成0字节后就没有再做过任何操作,所以这是一个典型的EXFAT文件系统导致的问题。关于EXFAT再来啰嗦下(不在码字了直接复制之前的分析):
exfat文件系统出错导致文件属性出错
关于exfat之前说过很多次,但是近期使用此文件系统出问题的机率如此频繁,所以我再赘述下。exfat 全称是Extended File Allocation Table File System,扩展FAT文件系统,FAT就是之前FAT32中的“FAT”即文件分配表,这个表研究数据结构的人不算陌生,从字面意思就能看出,exfat并非全新的文件系统。微软开发此文件系统的目的是为了应对FAT32无法管理单个超过4G的文件,也是为了弥补NTFS日志型文件系统在闪存等小型存储设备中的不足(一个是默认的簇大小过小,一个是不断的读写日志对闪存是一种损耗)。
exfat在存储时使用两种方式,对文件进行分类:
1、无碎片文件,即连续存放的,通过在exfat目录项中记录首簇指针和长度来获取文件的链表。减少文件系统额外的IO时间,这个算是针对FAT32的升级。
2、存在碎片的文件,即不连续存放的。因为1是一种理想状态,需要各种条件满足才能达到,但是更多情况下是文件不得不以碎片的形式存在(比如经常删除或者使用空间快要达到上限),这种情况下仍然使用FAT32的FAT表进行文件的表链记录。目录项中只记录首簇指针和文件大小,通过首簇指针进行FAT表跳转,很熟悉吧,没错和FAT32一样(当然这也是所有文件系统给出的第一个指针位图)。
这里不讨论exfat的优劣和传输速度,仅仅一点微软开发exfat初衷是为了解决闪存类的文件系统存储问题,为了弥补NTFS的不足,当然不能说exfat就不能用在非闪存上而是其适用最优对象是闪存类小型存储身设备(如SD卡),
很显然大容量的存储不在这个最优对象之内。
另外技术分析当文件长度变为0后,首簇指针也清0,通过文件头获取首簇指针跳转FAT表发现其FAT表链也清0了。也就是目录项->FAT表所有环节通通出错,目前尚不清楚这是个例还是仅在大型存储上存在,因为目前以我的经验至少没有发现在闪存类存在此问题,所以不好下结论,只能以“exfat的文件系统结构不适合管理大型存储“来做总结,在这里我们强烈建议如果您是视频从业者,在存储文件要用到微软文件系统时强烈建议”非闪存类的存储设备慎用exfat文件系统“避免因此导致数据出问题。
通过分析现存的正常的MXF文件可以得出结论,原始文件本身就存在片段化,有很多碎片存在。片段化的文件依靠的目录项中的首簇指针+FAT表中的表链,两者如果全部出问题,那么表链打破,此时通用类恢复软件是无能为力的(因为目录项中文件长度也变成0字节了,所以通过文件系统去恢复是没有任何希望的)。
得出结论就是:在exfat中多数出错的文件是碎片很多的。
故障处理:
此类问题直接使用CHS零壹视频恢复程序专业版或者高级版扫描即可,之前处理过很多这种案例,就不在此赘述了。
STEP1:运行程序选择WD的元素移动硬盘(注意一定要选择逻辑盘),点击右键扫描大类“高清视频”,然后打开一个同摄像机拍的样本文件(具体要求请参考公众号中样本文件三同的文章)。
图1:大容量盘扫描时切记要加载样本文件
STEP2:等待扫描完成,根据硬盘容量不同扫描时间会有所差异,扫描完成后需要等待重组完成才能查看数据。
STEP3:查看数据,经过扫描发现了大约1.73T多的有效数据,CHS零壹视频恢复程序专业版/高级版扫描完成后会列出拍摄时间、摄像机型号、视频编码等参数,经过客户对比成功找到了变为0字节的素材,至此数据恢复工作完成。
这就是索尼mp4文件变0字节的恢复方法,大家在遇到exfat变0字节的恢复问题时,可以和我们联系!