gopro mp4变0字节恢复案例

文章讲述了Gopro用户在使用12T硬盘存储素材时遇到的文件变成0字节的问题,分析了MSExfat文件系统导致文件属性错误的原因,特别是对于大容量存储设备的不适用性。通过CHS零壹视频恢复程序的专业版或高级版,成功恢复了部分有效数据。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

Gopro是专业的运动相机制造厂商,产品线很广。之前我们处理过很多GOPRO存储卡的恢复案例,下面来看一个不太一样的12T硬盘变0字节的案例,0字节你可能猜到了还是之前熟悉的EXFAT文件系统文件属性出错的老问题。

故障存储:12T/MS Exfat文件系统。

故障现象:

HUH721212ALE600硬盘的型号(PS:看名字像是原日立厂生产的,日立的硬盘工厂后期被WD收购)。此硬盘是用来存储各种素材(有索尼、gopro、ATOMOS等各种摄像机拍摄),为了方便在windows和mac之间切换,使用了exfat文件系统。客户已经把大部分素材做了备份,仅剩余gopro的准备整理好再备份,结果发现gopro很多素材直接变成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:运行程序选择12T存储设备,点击右键扫描大类“记录仪”,扫描小类选择”GOPRO”,点击 “扫描”即可(如果有样本直接加载样本)。

STEP2:等待扫描完成,由于存储空间较大,这个就需要较长的时间,扫描完成后需要等待重组完成才能查看数据。

STEP3:查看数据,经过扫描发现了大约1.73T多的有效数据,CHS零壹视频恢复程序专业版/高级版扫描完成后会列出拍摄时间、摄像机型号、视频编码等参数,经过客户对比成功找到了变为0字节的素材,至此数据恢复工作完成。

这就是gopro mp4文件变0字节的恢复方法,大家在遇到exfat变0字节的恢复问题时,可以和我们联系!

本文详细介绍了如何利用Python语言结合MySQL数据库开发一个学生管理系统。通过这一过程,读者不仅能够掌握系统设计的基本思路,还能学习到如何使用Python进行数据库操作。该系统涵盖了用户界面设计、数据验证以及数据库的增删改查等多个关键环节。 Python作为一种高级编程语言,以简洁易懂著称,广泛应用于数据分析、机器学习和网络爬虫等领域,同时也非常适合用于快速开发数据库管理应用。MySQL是一个广泛使用的开源关系型数据库管理系统,具有轻量级、高性能、高可靠性和良好的编程语言兼容性等特点,是数据存储的理想选择。在本系统中,通过Python的pymysql库实现了与MySQL数据库的交互。 pymysql是一个Python第三方库,它允许程序通过类似DB-API接口连接MySQL数据库,执行SQL语句并获取结果。在系统中,通过pymysql建立数据库连接,执行SQL语句完成数据的增删改查操作,并对结果进行处理。 系统采用命令行界面供用户操作。程序开始时,提示用户输入学生信息,如学号、姓名和各科成绩,并设计了输入验证逻辑,确保数据符合预期格式,例如学号为1至3位整数,成绩为0至100分的整数。 数据库设计方面,系统使用名为“test”的数据库和“StuSys”表,表中存储学生的学号、姓名、各科成绩及总成绩等信息。通过pymysql的cursor对象执行SQL语句,实现数据的增删改查操作。在构建SQL语句时,采用参数化查询以降低SQL注入风险。 系统在接收用户输入时进行了严格验证,包括正则表达式匹配和数字范围检查等,确保数据的准确性和安全性。同时,提供了错误处理机制,如输入不符合要求时提示用户重新输入,数据库操作出错时给出相应提示。 在数据库操作流程中,用户可以通过命令行添加学生信息或删除记录。添加时会检查学号是否重复以避免数据冲突,删除时需用户确认。通过上述分析,本文展示了从
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值