一种修复西数硬盘不认盘的方法技术

技术编号:14337514 阅读:282 留言:0更新日期:2017-01-04 10:42
本发明专利技术公开了一种修复西数硬盘不认盘的方法,具体步骤如下:S1:读取硬盘PCB板上的ROM芯片数据体;S2:解析ROM芯片数据体找到0B模块并提取其数据体;S3:解析OB模块,获取固件区模块地图UBA地址;S4:通过UBA地址定位模块存放位置。本发明专利技术的有益效果如下:可在不认盘情况下,恢复硬盘数据;准确定位固件地图所在位置;通过计算快速定位其他固件所在物理位置,恢复硬盘数据成功率高,减少因硬盘损坏带来的损失。

【技术实现步骤摘要】

本专利技术涉及信息安全
,特别涉及一种修复西数硬盘不认盘的方法
技术介绍
西数硬盘是市面上使用最多、最广泛的品牌厂家硬盘之一。从市场的反馈信息来讲,西数厂家2012年以后出产的最新硬盘,在使用一段时间后可能会出现不认盘的故障。这种情况下其实大部分西数硬盘的组件还是完好的。导致这种不认盘的情况一般是由于西数硬盘无法访问硬盘固件导致;要想快速修复,必须读取准确读取硬盘固件区地图,从而达到快速定位其他固件模块修复不认盘故障的目的,但目前现有技术在修复过程中不能快速定位模块所在位置,导致修复硬盘时间过长。
技术实现思路
本专利技术针对现有技术的缺陷,提供了一种修复西数硬盘不认盘的方法,能有效的解决上述现有技术存在的问题。一种修复西数硬盘不认盘的方法,具体步骤如下:S1:读取硬盘PCB板上的ROM芯片数据体;S2:解析ROM芯片数据体找到0B模块并提取其数据体;S3:解析OB模块,获取固件区模块地图UBA地址;S4:通过UBA地址定位模块存放位置。作为优选,所述S2的详细步骤如下:S21:依次检索ROM芯片数据体中的模块头部特征;S22:检索到模块头部特征后,在此特征向后偏移4个字节,取2字节ROM模块号特征;S23:判断该模块号数据是否为0B模块;如果是则执行S24,如果不是则以该位置为起始执行S21;S24:获取模块号后2字节,为模块所占扇区数;S25:取得从模块头部特征直到下一个模块头部特征之间的数据,在数据后填0,直至达到模块所占扇区总大小为止,组成完整的0B模块数据体。作为优选,所述S3的详细步骤如下:S31:获取OB模块头部偏移0x06位置的值,此值代表OB模块有效数据起始位置的偏移地址;S32:偏移至有效数据起始位置后一个字节为ROM模块的条目数;S33:ROM模块条目数向后取一个字节,为ROM模块每个条目所占的字节数,记录条目字节数;S34:条目字节数向后取一个字节,为ROM模块COPY数;S35:COPY数向后取2字节代表模块号,记录01模块;S36:模块号向后2字节代表模块所占扇区数,记录扇区数;S37:模块所占扇区数向后偏移4字节为01模块所在的UBA地址。作为优选,所述S4的详细步骤如下:S41:获取硬盘RAM信息,偏移“0x24”,取2字节数据,为本硬盘的磁道总数;S42:计算出固件区磁头地址分配表起始偏移位置,执行以下公式:OB模块有效数据起始位置+ROM模块条目数*条目所占字节数=固件区磁头地址分配表起始偏移起始位置;S43:偏移至固件区磁头地址分配表起始位置得到固件区磁头地图分配信息表占用总大小;S44:根据地图分配信息表占用总大小扫描整个分配表,得到0头UBA结束位置;S45:获取SPT值,执行公式“SPT=0头UBA结束位置/硬盘的磁道总数”;S46:将提取01模块的UBA地址转换成10进制;S47:执行公式“10进制的值/SPT值=磁道数A余扇区数”,得到磁道数A和扇区数;S48:得到01地图模块所在磁道,公式为“磁道数A-磁道总数=磁道数B”;S49:计算磁头数,看磁道数A的值,若在0-255之间是0头,256和256以上则除以256,取整数,所述整数为磁道数A。与现有技术相比本专利技术的优点在于:可在不认盘情况下,恢复硬盘数据;准确定位固件地图所在位置;通过计算快速定位其他固件所在物理位置,恢复硬盘数据成功率高,减少因硬盘损坏带来的损失。附图说明图1为本专利技术实施例硬盘芯片数据16进制结构图;图2为本专利技术实施例01模块数据16进制结构图。具体实施方式为使本专利技术的目的、技术方案及优点更加清楚明白,以下举实施例,对本专利技术做进一步详细说明。如图1所示,一种修复西数硬盘不认盘的方法,具体步骤如下:S1:读取硬盘PCB板上的ROM芯片数据体,大小256KB。S2:解析ROM芯片数据体找到0B模块并提取其数据,其详细步骤如下:S21:依次检索ROM芯片数据体中的模块头部特征“0x524F594C”;S22:检索到模块头部特征后,在此特征向后偏移4个字节,然后取2字节数据,这2字节就代表ROM模块号特征;S23:判断该模块号数据是否为“0x0B00”(确认是否为0B模块);如果是则执行S24,如果不是则以该位置为起始执行S21;S24:获得此模块的大小,模块号后2字节代表模块所占扇区的数;S25:从模块头部特征直到到下一个模块头部特征“0x524F594C”之间的数据都为OB模块的数据区内容,取两个特征之间的数据,在数据后填0,直至达到模块所占扇区总大小为止,组成完整的0B模块数据体。S3:解析OB模块,获取固件区模块地图UBA地址,其详细步骤如下:S31:获取OB模块头部偏移0x06位置的值“0x1E”,此值代表OB模块有效数据起始位置的偏移地址;S32:偏移至有效数据起始位置后一个字节为ROM模块的条目数,本例中为“0x0A”,记录该条目数;S33:ROM模块条目数向后取一个字节,为ROM模块每个条目所占的字节数,记录条目字节数,本例中为“0x12”;S34:条目字节数向后取一个字节,为ROM模块COPY数,记录COPY数“0x02”;S35:COPY数向后取2字节代表模块号,记录模块号(01模块),本例中为“0x0100”;S36:模块号向后2字节代表模块所占扇区数,记录扇区数,本例中为“0x2000”;S37:模块所占扇区数向后偏移4字节为01模块所在的UBA地址,本例中为“0x08EF0200”。S4:通过UBA地址准确定位模块存放位置,其详细步骤如下:S41:获取硬盘RAM信息,偏移“0x24”,取2字节数据,为本硬盘的磁道总数如图2所示,本例中为“0x0001”;S42:计算出固件区磁头地址分配表起始偏移位置,执行以下公式:OB模块有效数据起始位置+ROM模块条目数*条目所占字节数=固件区磁头地址分配表起始偏移起始位置,本例中为1E+0A*12=0xD2;S43:偏移至“0xD2”(固件区磁头地址分配表起始位置)得到固件区磁头地图分配信息表占用总大小,本例中为“0x46”;S44:根据地图分配信息表占用总大小“0x46”扫描整个分配表,得到0头UBA结束位置;“0x46”后4个字节表示固件区磁头位图,本例中为“0x02FF0F03”;固件区磁头位图后一个字节为占位符;占位符向后偏移4个字节表示0头实际使用的UBA长度,本例为“0xFEFA0200”;向后偏移4个字节表示0头UBA开始位置,本例为“0x00000000”;向后偏移4个字节表示1头实际使用的UBA长度,本例为“0xFEFA0200”;向后偏移4个字节表示0头UBA结束位置,本例为“002A0600”;向后偏移4个字节表示1头实际使用的UBA长度,本例为“0xFEFA0200”;向后偏移4个字节表示1头UBA结束位置,本例为“0x00540C00”;S45:获取SPT值,执行公式“SPT=0头UBA结束位置/硬盘的磁道总数”,本例中为0x62A00/0x100=1578;S46:将提取01模块的UBA地址转换成10进制;本例中“0x08EF0200”转换为10进制为192264S47:执行公式“10进制的值/SPT值=磁道数A余扇区数”,得到磁道数B和扇区数,本例中为192264/1578=本文档来自技高网...
一种修复西数硬盘不认盘的方法

【技术保护点】
一种修复西数硬盘不认盘的方法,其特征在于具体步骤如下:S1:读取硬盘PCB板上的ROM芯片数据体;S2:解析ROM芯片数据体找到0B模块并提取其数据体;S3:解析OB模块,获取固件区模块地图UBA地址;S4:通过UBA地址定位模块存放位置。

【技术特征摘要】
1.一种修复西数硬盘不认盘的方法,其特征在于具体步骤如下:S1:读取硬盘PCB板上的ROM芯片数据体;S2:解析ROM芯片数据体找到0B模块并提取其数据体;S3:解析OB模块,获取固件区模块地图UBA地址;S4:通过UBA地址定位模块存放位置。2.根据权利要求1所述的一种修复西数硬盘不认盘的方法,其特征在于所述S2的详细步骤如下:S21:依次检索ROM芯片数据体中的模块头部特征;S22:检索到模块头部特征后,在此特征向后偏移4个字节,取2字节ROM模块号特征;S23:判断该模块号数据是否为0B模块;如果是则执行S24,如果不是则以该位置为起始执行S21;S24:获取模块号后2字节,为模块所占扇区数;S25:取得从模块头部特征直到下一个模块头部特征之间的数据,在数据后填0,直至达到模块所占扇区总大小为止,组成完整的0B模块数据体。3.根据权利要求2所述的一种修复西数硬盘不认盘的方法,其特征在于所述S3的详细步骤如下:S31:获取OB模块头部偏移0x06位置的值,此值代表OB模块有效数据起始位置的偏移地址;S32:偏移至有效数据起始位置后一个字节为ROM模块的条目数;S33:ROM模块条目数向后取一个字节,为ROM模块每个条目所占的字节数,记录条目字节数;S34:条目字节数向后取一个字节...

【专利技术属性】
技术研发人员:梁效宁张佳强杨先珉董超
申请(专利权)人:四川效率源信息安全技术股份有限公司
类型:发明
国别省市:四川;51

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1