模块描述
30 译码表(固件区),位于ROM 中
31 译码表:P-List
32 译码表:G-List
33 缺陷表:P-List
34 缺陷表:G-List
35 缺陷表:固件区
36 缺陷表:磁道
*30 的模块结构是必须掌握的

  缺陷数量是用固定位置的8 个字节来表示的,如图中红色框标示的位置。紧跟其后的是缺陷

  表目,每个条目8 个字节,前面4 个字节表示累加缺陷长度(也就是缺陷有多少个扇区),后

  4 字节表示缺陷的ABA 地址。30 模块对于关闭模块,屏蔽固件区坏扇区等都有很重要的作

  用。

  31 模块是最重要的编译器,它跟33 模块P 表对应。当31 模块数据错误时,可以根据33 模

  块重建出来,当31 模块正常时,对于做数据而言,完全可以不用管33 模块正常与否。实际

  情况中当31 模块损坏时,有两种修复方式,一种截断法,一种是互补发。详见实例演示

  32 模块是G 表的编译器,只有一个硬盘的31 和32 模块同时正常,才能访问数据。当32

  模块损坏时,可以找其他盘的32 替换,只需要情况模块内容保留头部即可。甚至可以任意

  取一个模块的头部,把模块名称改成32,把大小改成跟32 一样的即可。总之32 模块的修

  复很随意,里头没有关键数据可以为空,但是模块本身要可读,硬盘才能正常访问数据区。

  33 模块是P 表,也就是主缺陷表,他是硬盘的个性化数据。当33 模块损坏时,通常是通过

  互补法来修复,也就是COPY0 和COPY1 都读取出来,互补修复后,检测校验,如果无误,

  则模块合成成功。

  34 模块是G 表,这个模块可以忽略,不用关注。

  35 模块是服务器的缺陷表,他跟30 模块是有对应关系的。如果一个硬盘电路板丢失,合成

  ROM 时,30 模块就是根据35 模块通过一定的算法合成出来的。实例演示35 如何转化为30.

  蓝色方框的4 个字节表示缺陷数量,后面紧跟着每八个字节表示一个缺陷条目。这八个字节

  表示的CHS 结构:C3H0S4

  36 模块是磁道缺陷表,如果36 模块损坏,对于有的盘可能会影响数据。修复方式很简单,

  保留头部填充00。但需要说明的一点是,不可以用其他盘的36 模块来替换,举一个实例来

  佐证这一点:WD10JMVW 移动硬盘,36 模块损坏无法读取,写入了一个其他盘的36 模块,

  硬盘通电后反复寻道,出现敲盘。最后清空36 模块的内容之后,能正常访问数据区了。

更多数据恢复技术持续更新中:

希贝软件客服QQ:201044567       希贝软件网站:www.mp4recovery.cn

转载于:https://www.cnblogs.com/Datarecovery/p/7243048.html

WD缺陷表编译器数据恢复应用分析相关推荐

  1. 【开发环境】Ubuntu 中使用 VSCode 开发 C/C++ ④ ( 创建 tasks.json 编译器构建配置文件 | tasks.json 编译器构建配置文件分析 )

    文章目录 一.创建 tasks.json 编译器构建配置文件 二.tasks.json 编译器构建配置文件分析 可以参考官方提供的文档 : https://code.visualstudio.com/ ...

  2. raid5需要几块硬盘_Raid5磁盘阵列数据恢复思路分析--附真实案例

    1.raid5磁盘阵列数据恢复思路分析 Raid5磁盘阵列是一种相对安全的磁盘阵列形式,数据分布状态有点类似于raid0磁盘阵列.但是raid5阵列比raid0阵列更为安全的一点就是阵列的每一组平行数 ...

  3. hp服务器硬盘离线改在线,HP服务器硬盘不在线数据恢复案例分析

    原标题:HP服务器硬盘不在线数据恢复案例分析 [数据恢复故障描述] HP DL360G5 一台,其中 希捷 146G SAS硬盘 5块,raid 信息丢失,所有物理硬盘不再是ONLINE状态.这种情况 ...

  4. i++和++i作为参数时的编译器处理方式分析

    这是一个很简单的程序 void main() { int i=8; printf("%d,%d,%d,%d\n", ++i, --i, i++, i--); } 在这里我使用了VS ...

  5. java编译器源码分析之语法分析器

    token流到抽象语法树的过程是语法分析. 前面认识到token流,这部分将介绍抽象语法树(AST). 那么什么是抽象语法树(AST)?AST长啥样?我们的token流是如何转变成AST的?下面围绕这 ...

  6. 【司马编译器】“命名空间”分析

    司马中实现了一种叫作"线锁"的结构,线锁把结构体的定义头链在一起,逻辑上可以把它看作是树形结构.这种结构可以把诸如结构体变量属性的引用简化为一个线性遍历过程.当分析某个结构体变量语 ...

  7. Laravel Database——查询构造器与语法编译器源码分析 (上)

    前言 在前两个文章中,我们分析了数据库的连接启动与数据库底层 CRUD 的原理,底层数据库服务支持原生 sql 的运行.本文以 mysql 为例,向大家讲述支持 Fluent 的查询构造器 query ...

  8. 佳能相机死机断电视频没保存的数据恢复技术分析

    故障现象 佳能单反相机在录制新人结婚典礼现场结婚仪式时候突然断电,对于有经验的摄影师来说,会采取安全的应对措施,但摄影师是第1次遇到这个状况,重新开机后继续录制了4分钟到典礼结束.用相机回放视频,发现 ...

  9. java编译器源码分析之词法分析器

    java编译器是什么? 编译简单理解就是一种高级语言到另一种低级语言的翻译过程:而执行这个过程的主体称为编译器.寻常所说的编译器是指把汇编语言转变成机器语言,也称目标代码,即CPU指令集.汇编语言是一 ...

  10. GCC编译器优化选项分析及具体优化了什么

    问题 在使用gcc作为编译器.在设定编译条件时,在debug模式下生成的程序正常,但是在release模式下往往会出现很多种预料之外的结果,尤其在嵌入式环境中,程序在板子上运行的时候,问题就愈发明显. ...

最新文章

  1. 智能计算机科学的奠基人,【编注】神经网络算法奠基人之一沃尔特·皮茨的传奇故事...
  2. group plot simplest approach in matlab
  3. 基于Spark的机器学习实践 (三) - 实战环境搭建
  4. Java笔记-重写JsonSerializer中serialize方法使Json中时间戳/1000
  5. 基础编程题目集 6-2 多项式求值 (15 分)
  6. ubuntu 13.10 64位安装及配置 google拼音输入法及Adobe flash player、mp3 插件安装、中文GBK编码等 -转
  7. 不止是替代 看南天信息与浪潮的金融国产化实践
  8. 【转】使用C语言实现MD5消息摘要算法
  9. linux ssh升级回退,Linux-SSH升级及回退方案
  10. 2022-车道线检测综述
  11. [JZOJ6042]【NOI2019五校联考2019.3.5】Second【SA】【分治】
  12. sql Server STUFF()函数
  13. uniapp-微信小程序-ios音乐播放没声音
  14. ipa包脱壳、解析、info.plist文件基本信息介绍
  15. eclipse提示:“The superclass “javax.servlet.http.HttpServlet“ was not found on the Java“解决办法
  16. PyGmae:有限状态机实践(十一)
  17. VS Visual Studio 魔兽插件开发工具 AddOn Studio for WOW 1 0 含有LUA编辑
  18. Android多国语言翻译 字符串目录详解
  19. 问题解决:System.TypeLoadException: 未能从程序集“XXX”中加载类型“XXX
  20. C#多边形相交、合并等操作

热门文章

  1. 计算机科学家如何修炼,如果未来的人类能够进入四维空间,是否可以修炼成“神”?...
  2. 【Q3D】报错合集2:[error] Solving for capacitance/conductance, process caxtr.exe : Corrupt mesh file.
  3. spss和sas和python_SPSS,SAS,R,Python四种方法的T检验和U检验(单样本T检验)统计学...
  4. cesium.js高度计算同步方法,cesium.js根据经纬度计算高度同步方法。官方提供的都是异步的方法有点坑,这个是我自己写的同步计算高度。
  5. Android基础控件——HorizontalScrollView的自定义,完美模仿抖音等短视频拍摄底部切换Tab控件
  6. 迁移学习「求解」偏微分方程,条件偏移下PDE的深度迁移算子学习
  7. 图森未来“冲刺”IPO,自动驾驶“理想很丰满、现实却很残酷”
  8. 365家装智选联盟卫生间怎么装修好看?卫生间实用装修技巧分享
  9. 《ROS理论与实践》学习笔记(三)Launch文件与TF坐标变换
  10. 小程序打开百度地图,腾讯地图