一种修复希捷硬盘p表的方法

文档序号:9597738阅读:1496来源:国知局
一种修复希捷硬盘p表的方法
【技术领域】
[0001 ] 本发明涉及信息安全技术领域,特别涉及一种修复希捷硬盘P表的方法。
【背景技术】
[0002] 希捷硬盘的P表是希捷硬盘固件中最重要的固件模块之一。一个希捷硬盘要正确 访问数据区,此硬盘的P表和非常驻G表必须保证是正常条目,没有多余的从外部加表的条 目。这样正常的条目才能保证编译器的正常工作,否则编译器异常,轻则无法正确访问数据 区,重则硬盘无法被主板BIOS识别。
[0003]目前,现有技术中对硬盘的修复主要是直接对硬盘编译器进行恢复,但如果P表 条目异常会导致编译器恢复不成功。
[0004] 关于本文中的专业术语说明:
[0005] 有效数据体:存放真实数据的区域。

【发明内容】

[0006] 本发明针对现有技术的缺陷,提供了一种修复希捷硬盘P表的方法,能有效的解 决上述现有技术存在的问题。
[0007] 为了实现以上发明目的,本发明采取的技术方案如下:
[0008] -种修复希捷硬盘P表的方法,包括以下步骤;
[0009] S101 :通过串口读取P表对应的系统文件;
[0010] S102 :解析P表有效数据体,区分出异常条目;
[0011] S103 :将异常条目全部清除;
[0012] S104 :从P表有效数据体偏移位置开始,以14字节为一组,以两组字节为单位先求 和,再求模;一直循环至P表有效数据体结束,将计算出的结果写入P表最后2个字节并覆 盖;
[0013] S105 :将重新修改的P表进行编译器重建。
[0014] 作为优选,所述S102的详细步骤如下:
[0015] S1021 :根据P表数据体特征搜索P表数据体存放位置;
[0016] S1022 :找到P表数据体特征后,更具特征的字节数向后偏移对应的字节数找到P 表缺陷条目总数的内容;
[0017] S1023 :找到P表条目总数后,向后偏移8字节,就是P表条目的条目内容起始位 置。分析P表每一个条目的结构;
[0018] S1024 :搜索出每个条目中FALG数值为"OxOC"的条目。
[0019] 与现有技术相比本发明的优点在于:可直接对P表异常缺陷条目进行修改,能够 计算出修改后的P表效验,减少了修复硬盘的出错概率,缩短的修复硬盘的时间,提高修复 硬盘的成功率。
【具体实施方式】
[0020] 为使本发明的目的、技术方案及优点更加清楚明白,以下举实施例,对本发明做进 一步详细说明。
[0021] S101 :通过串口读取P表对应的系统文件,P表在硬盘0头、卷3、文件描述符对应 的位置;
[0022] S102 :解析P表有效数据体,区分出异常条目;
[0023] S103 :将异常条目全部清除;
[0024] S104 :从P表有效数据体偏移位置开始,以14字节为一组,以两组字节为单位先求 和,再求模;一直循环至P表有效数据体结束,将计算出的结果写入P表最后2个字节覆盖;
[0025] 具体算法如下:
[0026]

[0028] S105 :将重新修改的P表进行编译器重建。
[0029] 调用函数:UART0_SendBuf ("m, 6, 2,,,,,22")
[0030] void UART0_Sendbuff(uintl6xx,uintl61en)// 串口发送固定长度字符串
[0032] 作为优选,所述S102的详细步骤如下:
[0033] S1021 :读出P表后,搜索P表数据体位置;P表数据体位置特征为"0x01000000" 或"0x010000"向下扫描第二个上述特征即为P表数据体存放的位置;
[0034] S1022 :找到P表后若位置特征为"0x01000000"向后偏移4字节,位置特征为 "0x0100"向后偏移2字节,偏移后是P表数据体表示P表缺陷条目总数的内容,若开始偏移 是4字节,缺陷条目总数的内容长度就为4字节,若开始偏移是2字节,缺陷条目总数的内 容长度就为2字节;
[0035] S1023 :找到P表条目总数后,向后偏移8字节,就是P表条目的条目内容起始位 置;且每个P表条目为14字节,每个P表条目共包含5个字段,依次为:4字节的逻辑柱面、 4字节的SFI、4字节的LIS、1字节的HEAD、1字节的FALG ;
[0036] S1024 :搜索出每个条目中FALG数值为OxOC的条目。
[0037] 本领域的普通技术人员将会意识到,这里所述的实施例是为了帮助读者理解本发 明的实施方法,应被理解为本发明的保护范围并不局限于这样的特别陈述和实施例。本领 域的普通技术人员可以根据本发明公开的这些技术启示做出各种不脱离本发明实质的其 它各种具体变形和组合,这些变形和组合仍然在本发明的保护范围内。
【主权项】
1. 一种修复希捷硬盘P表的方法,其特征在于包括以下步骤; 5101 :通过串口读取P表对应的系统文件; 5102 :解析P表有效数据体,区分出异常条目; S103:将异常条目全部清除; 5104 :从P表有效数据体偏移位置开始,以14字节为一组,以两组字节为单位先求和, 再求模;一直循环至P表有效数据体结束,将计算出的结果写入P表最后2个字节并覆盖; 5105 :将重新修改的P表进行编译器重建。2. 根据权利要求1 一种修复希捷硬盘P表的方法,其特征在于所述S102的详细步骤如 下: 51021 :根据P表数据体特征搜索P表数据体存放位置; 51022 :找到P表数据体特征后,更具特征的字节数向后偏移对应的字节数找到P表缺 陷条目总数的内容; 51023 :找到P表条目总数后,向后偏移8字节,就是P表条目的条目内容起始位置,分 析P表每一个条目的结构; 51024 :搜索出每个条目中FALG数值为"OxOC"的条目。
【专利摘要】本发明公开了一种修复希捷硬盘P表的方法,包括以下步骤;S101:读取P表对应的系统文件;S102:解析P表有效数据体,区分异常条目;S103:清除异常条目;S104:计算效验并写入P表最后2个字节;S105:将重新修改的P表进行编译器重建。本发明的有益效果如下:可直接对P表异常缺陷条目进行修改,能够计算出修改后的P表效验,减少了修复硬盘的出错概率,缩短的修复硬盘的时间,提高修复硬盘的成功率。
【IPC分类】G06F11/07
【公开号】CN105354100
【申请号】CN201510640514
【发明人】梁效宁, 董超, 赵飞
【申请人】四川效率源信息安全技术股份有限公司
【公开日】2016年2月24日
【申请日】2015年9月30日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1