[发明专利]一种通过Boot Code修复硬盘ROM的方法有效
申请号: | 201511025577.9 | 申请日: | 2015-12-30 |
公开(公告)号: | CN105630622B | 公开(公告)日: | 2019-04-23 |
发明(设计)人: | 黄旭;张佳强;杨先珉;董超 | 申请(专利权)人: | 四川秘无痕信息安全技术有限责任公司 |
主分类号: | G06F11/07 | 分类号: | G06F11/07 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 641000 *** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 通过 boot code 修复 硬盘 rom 方法 | ||
本发明公开了一种通过Boot Code修复硬盘ROM的方法,包括下面步骤:S1:使用故障盘COM口通过Boot Code方式读取硬盘ROM;S2:找到ROM中SAP、RAP、CAP和SHELL数据体,并将上述数据体覆盖到适配ROM中,形成新的ROM;S3:将适配之后的ROM重新回写硬盘。本发明的有益效果如下:修复硬盘成功率高,减少因硬盘故障导致数据丢失所带来的损失;相比焊锡置换ROM芯片的方法更加安全稳定。
技术领域
本发明涉及信息安全技术领域,特别涉及一种通过BootCode修复硬盘ROM的方法。
背景技术
随着硬盘容量和技术的发展,固件的组织架构已经发生了变化。固件内部结构越发复杂和多变。硬盘正常工作所需要的微代码越来越多,需要加载到硬盘缓存的固件内容也越来越多。
希捷硬盘的日常使用中,由于ROM中引导代码加载时出错或版本不稳定,可能会导致无法正确读取固件区起始地址以及硬盘段位信息。由于坏道引起固件的错误,可能会导致硬盘固件区出错,严重的导致无法读取固件信息,无法使其加载到缓存中去。
发明内容
本发明针对现有技术的缺陷,提供了一种通过BootCode修复硬盘ROM的方法,能有效的解决上述现有技术存在的问题。
一种通过BootCode修复硬盘ROM的方法,包括下面步骤:
S1:使用故障盘COM口通过BootCode方式读取硬盘ROM,所述S1的详细步骤如下:
S101:检查硬盘COM口是否连接正常;
S102:判断硬盘是否处于bootcode下,若是则执行S103;若不是则重新开电并连续向硬盘发送“U”指令,让硬盘进入bootcode,执行S103;
S103:偏移至地址“0x100000”;
S104:从该偏移地址开始,读取512个字节,并将返回的数据存入Buffer1;
S105:判断buffer1中偏移0xAC位置的值是否小于“0x200000”,若是则执行S106,若否则在bootcode写入引导文件,初始化bootcode;
S106:通过S105中0xAC位置的值和“0xFFFFFF00”进行“与操作”,获得重取地址;
S107:偏移至重取地址:通过指令AP“0x重取地址”进行偏移;
S108:读取重取地址后的512字节,并将返回数据存入buffer2;
S109:在buffer1中偏移0xAC位置的值与“0xFF”进行“与操作”,得到的低位一个字节作为Buffer2中用于确定重读的512字节的偏移位置;
S110:从该位置向后取16字节长度的内容和“0000C0C1C1810140C30103C00280C241”比较;如果相等执行S111,如果不相等则修改引导文件使其能够正常读取ROM,执行S111;
S111:将引导文件写入硬盘,定位到“0x401”,输入1024次GO,获取所返回的ROM内容;
S2:找到ROM中SAP、RAP、CAP和SHELL数据体,并将上述数据体覆盖到适配ROM中,形成新的ROM;
S3:将适配之后的ROM重新回写硬盘。
作为优选,所述S2的详细步骤如下:
S201:找到ROM数据体内的SAP、RAP、CAP和SHELL数据体的存储位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川秘无痕信息安全技术有限责任公司,未经四川秘无痕信息安全技术有限责任公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201511025577.9/2.html,转载请声明来源钻瓜专利网。
- 上一篇:双燃料汽车的燃料供给系统
- 下一篇:方便抄写尺