WD缺陷表编译器数据恢复应用分析

2023-11-07 17:10

本文主要是介绍WD缺陷表编译器数据恢复应用分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

模块描述
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缺陷表编译器数据恢复应用分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/weixin_30877493/article/details/95834063
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/365092

相关文章

Go标准库常见错误分析和解决办法

《Go标准库常见错误分析和解决办法》Go语言的标准库为开发者提供了丰富且高效的工具,涵盖了从网络编程到文件操作等各个方面,然而,标准库虽好,使用不当却可能适得其反,正所谓工欲善其事,必先利其器,本文将... 目录1. 使用了错误的time.Duration2. time.After导致的内存泄漏3. jsO

Python中随机休眠技术原理与应用详解

《Python中随机休眠技术原理与应用详解》在编程中,让程序暂停执行特定时间是常见需求,当需要引入不确定性时,随机休眠就成为关键技巧,下面我们就来看看Python中随机休眠技术的具体实现与应用吧... 目录引言一、实现原理与基础方法1.1 核心函数解析1.2 基础实现模板1.3 整数版实现二、典型应用场景2

Spring事务中@Transactional注解不生效的原因分析与解决

《Spring事务中@Transactional注解不生效的原因分析与解决》在Spring框架中,@Transactional注解是管理数据库事务的核心方式,本文将深入分析事务自调用的底层原理,解释为... 目录1. 引言2. 事务自调用问题重现2.1 示例代码2.2 问题现象3. 为什么事务自调用会失效3

Python Dash框架在数据可视化仪表板中的应用与实践记录

《PythonDash框架在数据可视化仪表板中的应用与实践记录》Python的PlotlyDash库提供了一种简便且强大的方式来构建和展示互动式数据仪表板,本篇文章将深入探讨如何使用Dash设计一... 目录python Dash框架在数据可视化仪表板中的应用与实践1. 什么是Plotly Dash?1.1

找不到Anaconda prompt终端的原因分析及解决方案

《找不到Anacondaprompt终端的原因分析及解决方案》因为anaconda还没有初始化,在安装anaconda的过程中,有一行是否要添加anaconda到菜单目录中,由于没有勾选,导致没有菜... 目录问题原因问http://www.chinasem.cn题解决安装了 Anaconda 却找不到 An

Spring定时任务只执行一次的原因分析与解决方案

《Spring定时任务只执行一次的原因分析与解决方案》在使用Spring的@Scheduled定时任务时,你是否遇到过任务只执行一次,后续不再触发的情况?这种情况可能由多种原因导致,如未启用调度、线程... 目录1. 问题背景2. Spring定时任务的基本用法3. 为什么定时任务只执行一次?3.1 未启用

Android Kotlin 高阶函数详解及其在协程中的应用小结

《AndroidKotlin高阶函数详解及其在协程中的应用小结》高阶函数是Kotlin中的一个重要特性,它能够将函数作为一等公民(First-ClassCitizen),使得代码更加简洁、灵活和可... 目录1. 引言2. 什么是高阶函数?3. 高阶函数的基础用法3.1 传递函数作为参数3.2 Lambda

Java中&和&&以及|和||的区别、应用场景和代码示例

《Java中&和&&以及|和||的区别、应用场景和代码示例》:本文主要介绍Java中的逻辑运算符&、&&、|和||的区别,包括它们在布尔和整数类型上的应用,文中通过代码介绍的非常详细,需要的朋友可... 目录前言1. & 和 &&代码示例2. | 和 ||代码示例3. 为什么要使用 & 和 | 而不是总是使

Python循环缓冲区的应用详解

《Python循环缓冲区的应用详解》循环缓冲区是一个线性缓冲区,逻辑上被视为一个循环的结构,本文主要为大家介绍了Python中循环缓冲区的相关应用,有兴趣的小伙伴可以了解一下... 目录什么是循环缓冲区循环缓冲区的结构python中的循环缓冲区实现运行循环缓冲区循环缓冲区的优势应用案例Python中的实现库

SpringBoot整合MybatisPlus的基本应用指南

《SpringBoot整合MybatisPlus的基本应用指南》MyBatis-Plus,简称MP,是一个MyBatis的增强工具,在MyBatis的基础上只做增强不做改变,下面小编就来和大家介绍一下... 目录一、MyBATisPlus简介二、SpringBoot整合MybatisPlus1、创建数据库和