RED影视级R3D文件变0字节加chkdsk恢复案例

news2025/1/11 0:28:35

随着千兆网络普及小型存储也开始越来越多,特别是在专业级影视领域,存储数据要的就是快速和稳定,所以小存储很适合专业级影视这个行业。下面我们来看一个36T的小存储恢复R3D文件的案例。

故障存储:  36T,Exfat文件系统

故障现象:

原始故障为正常使用时发现很多R3D文件长度为0字节,但是后续重启设备时发现有提示修复损坏,所以进行了经典的chkdsk“蹂躏”。

图1:变成0字节的R3D文件

图2:CHKDSK生成了大量的FILE****.CHK文件

故障分析:

近期处理了很多exfat变0字节的案例,下边把exfat变0字节的原理和chkdsk原理再次“复制粘贴”下

  1. exfat文件系统出错导致文件全部0字节。

   关于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卡),

很显然36T存储不在这个最优对象之内。

另外技术分析当文件长度变为0后,首簇指针也清0,通过文件头获取首簇指针跳转FAT表发现其FAT表链也清0了。也就是目录项->FAT表所有环节通通出错,目前尚不清楚这是个例还是仅在大型存储上存在,因为目前以我的经验至少没有发现在闪存类存在此问题,所以不好下结论,只能以“exfat的文件系统结构不适合管理大型存储“来做总结,在这里我们强烈建议如果您是视频从业者,在存储文件要用到微软文件系统时强烈建议”非闪存类的存储设备慎用exfat文件系统“避免因此导致数据出问题。

好了,下边来介绍下R3D文件,此文件是RED影视公司自行开发的高清视频文件,属于是特殊格式。目前暂时没有程序支持,更何况被chkdsk“分割”成各种小碎片的情况。

经过CHS工程师的分析,成功获取R3D的文件结构,并且对其视音频帧进行了深入解析。根据获取的信息进行分析,然后得出结论----R3D文件碎片可以定位也可以重组,剩下的就是根据方案进行程序编写,经过几天的奋战CHS零壹视频恢复程序影视版的程序的内测程序开发成功,剩下的就是直接扫描了。

故障处理:

STEP1: 运行CHS零壹视频恢复程序影视版,选择逻辑盘点击右键,点击扫描,大类选择->RED Digtal Cinema,扫描小类->R3D,然后点击“扫描”。

STEP2:等待扫描完成,由于盘比较大,所以可能时间略长。

STEP3:经过11小时扫描,开始重组,等待重组完成。

STEP4:查看扫描结果,经过扫描发现有大约14T数据,通过对比文件名发现0字节的数据有大约1.3T,然后保存文件,经过核对文件就是客户所需要的。

R3D使用是专门的RED PLAYER播放器,恢复后的文件可以正常播放、编辑,下图中的画面进行了马赛克处理,至次数据恢复工作完美完成!

这就是RED专业级影视文件R3D文件的恢复方法,大家遇到此类问题可以参考引案例。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1319602.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【C++初阶】八、初识模板(泛型编程、函数模板、类模板)

相关代码gitee自取: C语言学习日记: 加油努力 (gitee.com) 接上期: 【C初阶】七、内存管理 (C/C内存分布、C内存管理方式、operator new / delete 函数、定位new表达式) -CSDN博客 目录 一 . 泛型编程 二 . 函数模板 函数模板…

【C语言】数组(一维)详解,手把手教你,保姆级!!!

目录 数组的概念 数组的创建 数组的初始化 数组的类型 数组使用下标 数组的打印 数组的输入 数组的储存 总结 数组的概念 数组是⼀组相同类型元素的集合; 从这个概念中我们有3点拓展: 1,数组中存放的是1个或者多个数据,但…

【Linux】进程周边005之环境变量

👀樊梓慕:个人主页 🎥个人专栏:《C语言》《数据结构》《蓝桥杯试题》《LeetCode刷题笔记》《实训项目》《C》《Linux》 🌝每一个不曾起舞的日子,都是对生命的辜负 目录 前言 1.环境变量是什么&#xff1…

引用阿里图标库,不知道对应的图标是什么,可在本地显示图标ui,再也不要担心刚来不知道公司图标对应的是什么了

项目中使用了阿里的图标库,但是无法看到对应显示什么,每次都要去阿里图标库里面找 在下载下来的文件中会发现有两个文件一个是iconfont.css和iconfont.json, 这两个文件的数据可以拿到然后显示在页面上 有两个问题: 1&#xff1a…

【Hadoop】执行start-dfs.sh启动hadoop集群时,datenode没有启动怎么办

执行start-dfs.sh后,datenode没有启动,很大一部分原因是因为在第一次格式化dfs后又重新执行了格式化命令(hdfs namenode -format),这时主节点namenode的clusterID会重新生成,而从节点datanode的clusterID 保持不变。 在…

ansible远程操作主机功能和自动化运维

ansible 两个功能:1、远程操作主机功能 2、自动化运维(play 剧本 yaml) 简述: 是基于python开发的配置管理和应用部署工具。在自动化运维中,现在是异军突起。 Asible能批量配置,部署,管理上千…

智能环境与可持续发展:人工智能为地球未来添翼

导言 在全球迅速发展的背景下,人工智能技术的应用逐渐深入到环境保护和可持续发展领域。随着全球环境问题的加剧,人工智能技术在环境和可持续发展领域的应用成为推动绿色未来的关键力量。本文将深入探讨人工智能在智能环境中的角色,以及如何通…

保护数据库数据安全就用行云管家!全方位保障!

对于企业而言,数据库是企业核心信息的存储和处理中心,所以保障数据库安全至关重要。而如何保障数据库数据的安全性也成为了企业亟待解决的问题。行云管家数据安全运维平台作为全面的数据安全运维平台,通过数据运维的事前阻断、事中控制、事后…

基于Java SpringBoot和Vue的医院信息管理挂号系统

摘要 医院信息管理系统(Hospital Information Management System,简称HIMS)是一种应用于医疗机构的信息化管理系统,旨在提高医疗服务质量、降低运营成本、提高工作效率和满足患者需求。HIMS通过对医院内各种信息的集成、管理和共享…

mybatis中oracle的sql没走索引导致特别慢(未加jdbcType的)

如果直接跑sql是能走索引很快,在mybatis中不能,可能就是jdbcType的原因。 比如,我有一个属性A,在表里面是VARCHAR2类型,但是在mybatis中的sql是#{a},缺少jdbcTypeJdbcType.VARCHAR,就会导致myba…

Excel小技能:excel如何将数字20231211转化成指定日期格式2023/12/11

给了一串数字20231211,想要转成指定格式的日期格式,发现设置单元格格式为指定日期格式不生效,反而变成很长很长的一串#这个,如图所示: 其实,正确的做法如下: 1)打开数据功能界面&am…

列举python2和python3的区别,python 2和python 3的区别

大家好,本文将围绕python2和python3的区别有哪些?展开说明,列举 python2和python3的区别?是一个很多人都想弄明白的事情,想搞清楚python2和python3的区别大吗需要先了解以下几个事情。 python不同于其他语言,python3并不对python2向下兼容 …

Java刷题篇——单链表练习题上

206. 反转链表 - 力扣(LeetCode) 1. 题目描述 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例1 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1] 示例2 输入:head [1,2] 输出&…

深入比较Input、Change和Blur事件:Vue与React中的行为差异解析

目录 前言 1. Input事件: 行为差异: 2. Change事件: 行为差异: 3. Blur事件: 行为差异: 4. 在Vue中的表现: Input事件: Change事件: Blur事件: 5.…

基于Vue的汽车服务商城系统设计与实现论文

摘 要 本课题是根据用户的需要以及网络的优势建立的一个基于Vue的汽车服务商城系统,来更好的为用户提供服务。 本基于Vue的汽车服务商城系统应用Java技术,MYSQL数据库存储数据,基于SSMVue框架开发。在网站的整个开发过程中,首先对…

【数据结构】树状数组总结

知识概览 树状数组有两个作用: 快速求前缀和 时间复杂度O(log(n))修改某一个数 时间复杂度O(log(n)) 例题展示 1. 单点修改,区间查询 题目链接 活动 - AcWing本活动组织刷《算法竞赛进阶指南》,系统学习各种编程算法。主要面向…

浅谈深度学习中的不同归一化层

引言 目前,深度学习已经彻底改变了自然语言处理、计算机视觉、机器人等许多子领域。深度学习当然涉及训练精心设计的深度神经网络,并且各种设计决策会影响这些深度网络的训练机制。其中一些设计决策包括 网络中要使用的网络层类型,例如卷积…

【python】深拷贝和浅拷贝

能使用.copy()的对象: 需要是能改变元素的对象比如 list 和 set 就可以改变对象,可以使用copy函数但是类似于 一个整数 a10 或者 元组 就不能使用copy函数,因为他们是不可改变的对象 深拷贝和浅拷贝 浅拷贝就是这能复制第一层元素&#xff0…

12V转24V10A升压同步整流芯片:高效能解决方案

12V转24V10A升压同步整流芯片:高效能解决方案 随着现代电子设备的日益普及,对电源管理的要求也越来越高。其中,升压同步整流芯片在提高电源转换效率方面发挥着重要作用。本文将为您介绍一款12V转24V10A升压同步整流芯片,其优异的…

Kafka 基础快速入门

1、生产者 1、生产者发送消息流程 配置生产者参数属性和创建生产者对象 构建消息:ProducerRecord 发送消息:Send 关闭生产者 2、消费者 1、消费者接受消息流程 配置消费者参数属性和创建消费者对象 订阅主题 拉取消息并进行消费处理 提交消费偏移量,关闭消费者 2、消费者和…