本發(fā)明專利技術(shù)公開了一種修復(fù)西數(shù)硬盤不認盤的方法,具體步驟如下:S1:讀取硬盤PCB板上的ROM芯片數(shù)據(jù)體;S2:解析ROM芯片數(shù)據(jù)體找到0B模塊并提取其數(shù)據(jù)體;S3:解析OB模塊,獲取固件區(qū)模塊地圖UBA地址;S4:通過UBA地址定位模塊存放位置。本發(fā)明專利技術(shù)的有益效果如下:可在不認盤情況下,恢復(fù)硬盤數(shù)據(jù);準確定位固件地圖所在位置;通過計算快速定位其他固件所在物理位置,恢復(fù)硬盤數(shù)據(jù)成功率高,減少因硬盤損壞帶來的損失。
【技術(shù)實現(xiàn)步驟摘要】
本專利技術(shù)涉及信息安全
,特別涉及一種修復(fù)西數(shù)硬盤不認盤的方法。
技術(shù)介紹
西數(shù)硬盤是市面上使用最多、最廣泛的品牌廠家硬盤之一。從市場的反饋信息來講,西數(shù)廠家2012年以后出產(chǎn)的最新硬盤,在使用一段時間后可能會出現(xiàn)不認盤的故障。這種情況下其實大部分西數(shù)硬盤的組件還是完好的。導(dǎo)致這種不認盤的情況一般是由于西數(shù)硬盤無法訪問硬盤固件導(dǎo)致;要想快速修復(fù),必須讀取準確讀取硬盤固件區(qū)地圖,從而達到快速定位其他固件模塊修復(fù)不認盤故障的目的,但目前現(xiàn)有技術(shù)在修復(fù)過程中不能快速定位模塊所在位置,導(dǎo)致修復(fù)硬盤時間過長。
技術(shù)實現(xiàn)思路
本專利技術(shù)針對現(xiàn)有技術(shù)的缺陷,提供了一種修復(fù)西數(shù)硬盤不認盤的方法,能有效的解決上述現(xiàn)有技術(shù)存在的問題。一種修復(fù)西數(shù)硬盤不認盤的方法,具體步驟如下:S1:讀取硬盤PCB板上的ROM芯片數(shù)據(jù)體;S2:解析ROM芯片數(shù)據(jù)體找到0B模塊并提取其數(shù)據(jù)體;S3:解析OB模塊,獲取固件區(qū)模塊地圖UBA地址;S4:通過UBA地址定位模塊存放位置。作為優(yōu)選,所述S2的詳細步驟如下:S21:依次檢索ROM芯片數(shù)據(jù)體中的模塊頭部特征;S22:檢索到模塊頭部特征后,在此特征向后偏移4個字節(jié),取2字節(jié)ROM模塊號特征;S23:判斷該模塊號數(shù)據(jù)是否為0B模塊;如果是則執(zhí)行S24,如果不是則以該位置為起始執(zhí)行S21;S24:獲取模塊號后2字節(jié),為模塊所占扇區(qū)數(shù);S25:取得從模塊頭部特征直到下一個模塊頭部特征之間的數(shù)據(jù),在數(shù)據(jù)后填0,直至達到模塊所占扇區(qū)總大小為止,組成完整的0B模塊數(shù)據(jù)體。作為優(yōu)選,所述S3的詳細步驟如下:S31:獲取OB模塊頭部偏移0x06位置的值,此值代表OB模塊有效數(shù)據(jù)起始位置的偏移地址;S32:偏移至有效數(shù)據(jù)起始位置后一個字節(jié)為ROM模塊的條目數(shù);S33:ROM模塊條目數(shù)向后取一個字節(jié),為ROM模塊每個條目所占的字節(jié)數(shù),記錄條目字節(jié)數(shù);S34:條目字節(jié)數(shù)向后取一個字節(jié),為ROM模塊COPY數(shù);S35:COPY數(shù)向后取2字節(jié)代表模塊號,記錄01模塊;S36:模塊號向后2字節(jié)代表模塊所占扇區(qū)數(shù),記錄扇區(qū)數(shù);S37:模塊所占扇區(qū)數(shù)向后偏移4字節(jié)為01模塊所在的UBA地址。作為優(yōu)選,所述S4的詳細步驟如下:S41:獲取硬盤RAM信息,偏移“0x24”,取2字節(jié)數(shù)據(jù),為本硬盤的磁道總數(shù);S42:計算出固件區(qū)磁頭地址分配表起始偏移位置,執(zhí)行以下公式:OB模塊有效數(shù)據(jù)起始位置+ROM模塊條目數(shù)*條目所占字節(jié)數(shù)=固件區(qū)磁頭地址分配表起始偏移起始位置;S43:偏移至固件區(qū)磁頭地址分配表起始位置得到固件區(qū)磁頭地圖分配信息表占用總大小;S44:根據(jù)地圖分配信息表占用總大小掃描整個分配表,得到0頭UBA結(jié)束位置;S45:獲取SPT值,執(zhí)行公式“SPT=0頭UBA結(jié)束位置/硬盤的磁道總數(shù)”;S46:將提取01模塊的UBA地址轉(zhuǎn)換成10進制;S47:執(zhí)行公式“10進制的值/SPT值=磁道數(shù)A余扇區(qū)數(shù)”,得到磁道數(shù)A和扇區(qū)數(shù);S48:得到01地圖模塊所在磁道,公式為“磁道數(shù)A-磁道總數(shù)=磁道數(shù)B”;S49:計算磁頭數(shù),看磁道數(shù)A的值,若在0-255之間是0頭,256和256以上則除以256,取整數(shù),所述整數(shù)為磁道數(shù)A。與現(xiàn)有技術(shù)相比本專利技術(shù)的優(yōu)點在于:可在不認盤情況下,恢復(fù)硬盤數(shù)據(jù);準確定位固件地圖所在位置;通過計算快速定位其他固件所在物理位置,恢復(fù)硬盤數(shù)據(jù)成功率高,減少因硬盤損壞帶來的損失。附圖說明圖1為本專利技術(shù)實施例硬盤芯片數(shù)據(jù)16進制結(jié)構(gòu)圖;圖2為本專利技術(shù)實施例01模塊數(shù)據(jù)16進制結(jié)構(gòu)圖。具體實施方式為使本專利技術(shù)的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下舉實施例,對本專利技術(shù)做進一步詳細說明。如圖1所示,一種修復(fù)西數(shù)硬盤不認盤的方法,具體步驟如下:S1:讀取硬盤PCB板上的ROM芯片數(shù)據(jù)體,大小256KB。S2:解析ROM芯片數(shù)據(jù)體找到0B模塊并提取其數(shù)據(jù),其詳細步驟如下:S21:依次檢索ROM芯片數(shù)據(jù)體中的模塊頭部特征“0x524F594C”;S22:檢索到模塊頭部特征后,在此特征向后偏移4個字節(jié),然后取2字節(jié)數(shù)據(jù),這2字節(jié)就代表ROM模塊號特征;S23:判斷該模塊號數(shù)據(jù)是否為“0x0B00”(確認是否為0B模塊);如果是則執(zhí)行S24,如果不是則以該位置為起始執(zhí)行S21;S24:獲得此模塊的大小,模塊號后2字節(jié)代表模塊所占扇區(qū)的數(shù);S25:從模塊頭部特征直到到下一個模塊頭部特征“0x524F594C”之間的數(shù)據(jù)都為OB模塊的數(shù)據(jù)區(qū)內(nèi)容,取兩個特征之間的數(shù)據(jù),在數(shù)據(jù)后填0,直至達到模塊所占扇區(qū)總大小為止,組成完整的0B模塊數(shù)據(jù)體。S3:解析OB模塊,獲取固件區(qū)模塊地圖UBA地址,其詳細步驟如下:S31:獲取OB模塊頭部偏移0x06位置的值“0x1E”,此值代表OB模塊有效數(shù)據(jù)起始位置的偏移地址;S32:偏移至有效數(shù)據(jù)起始位置后一個字節(jié)為ROM模塊的條目數(shù),本例中為“0x0A”,記錄該條目數(shù);S33:ROM模塊條目數(shù)向后取一個字節(jié),為ROM模塊每個條目所占的字節(jié)數(shù),記錄條目字節(jié)數(shù),本例中為“0x12”;S34:條目字節(jié)數(shù)向后取一個字節(jié),為ROM模塊COPY數(shù),記錄COPY數(shù)“0x02”;S35:COPY數(shù)向后取2字節(jié)代表模塊號,記錄模塊號(01模塊),本例中為“0x0100”;S36:模塊號向后2字節(jié)代表模塊所占扇區(qū)數(shù),記錄扇區(qū)數(shù),本例中為“0x2000”;S37:模塊所占扇區(qū)數(shù)向后偏移4字節(jié)為01模塊所在的UBA地址,本例中為“0x08EF0200”。S4:通過UBA地址準確定位模塊存放位置,其詳細步驟如下:S41:獲取硬盤RAM信息,偏移“0x24”,取2字節(jié)數(shù)據(jù),為本硬盤的磁道總數(shù)如圖2所示,本例中為“0x0001”;S42:計算出固件區(qū)磁頭地址分配表起始偏移位置,執(zhí)行以下公式:OB模塊有效數(shù)據(jù)起始位置+ROM模塊條目數(shù)*條目所占字節(jié)數(shù)=固件區(qū)磁頭地址分配表起始偏移起始位置,本例中為1E+0A*12=0xD2;S43:偏移至“0xD2”(固件區(qū)磁頭地址分配表起始位置)得到固件區(qū)磁頭地圖分配信息表占用總大小,本例中為“0x46”;S44:根據(jù)地圖分配信息表占用總大小“0x46”掃描整個分配表,得到0頭UBA結(jié)束位置;“0x46”后4個字節(jié)表示固件區(qū)磁頭位圖,本例中為“0x02FF0F03”;固件區(qū)磁頭位圖后一個字節(jié)為占位符;占位符向后偏移4個字節(jié)表示0頭實際使用的UBA長度,本例為“0xFEFA0200”;向后偏移4個字節(jié)表示0頭UBA開始位置,本例為“0x00000000”;向后偏移4個字節(jié)表示1頭實際使用的UBA長度,本例為“0xFEFA0200”;向后偏移4個字節(jié)表示0頭UBA結(jié)束位置,本例為“002A0600”;向后偏移4個字節(jié)表示1頭實際使用的UBA長度,本例為“0xFEFA0200”;向后偏移4個字節(jié)表示1頭UBA結(jié)束位置,本例為“0x00540C00”;S45:獲取SPT值,執(zhí)行公式“SPT=0頭UBA結(jié)束位置/硬盤的磁道總數(shù)”,本例中為0x62A00/0x100=1578;S46:將提取01模塊的UBA地址轉(zhuǎn)換成10進制;本例中“0x08EF0200”轉(zhuǎn)換為10進制為192264S47:執(zhí)行公式“10進制的值/SPT值=磁道數(shù)A余扇區(qū)數(shù)”,得到磁道數(shù)B和扇區(qū)數(shù),本例中為192264/1578=本文檔來自技高網(wǎng)...

【技術(shù)保護點】
一種修復(fù)西數(shù)硬盤不認盤的方法,其特征在于具體步驟如下:S1:讀取硬盤PCB板上的ROM芯片數(shù)據(jù)體;S2:解析ROM芯片數(shù)據(jù)體找到0B模塊并提取其數(shù)據(jù)體;S3:解析OB模塊,獲取固件區(qū)模塊地圖UBA地址;S4:通過UBA地址定位模塊存放位置。
【技術(shù)特征摘要】
1.一種修復(fù)西數(shù)硬盤不認盤的方法,其特征在于具體步驟如下:S1:讀取硬盤PCB板上的ROM芯片數(shù)據(jù)體;S2:解析ROM芯片數(shù)據(jù)體找到0B模塊并提取其數(shù)據(jù)體;S3:解析OB模塊,獲取固件區(qū)模塊地圖UBA地址;S4:通過UBA地址定位模塊存放位置。2.根據(jù)權(quán)利要求1所述的一種修復(fù)西數(shù)硬盤不認盤的方法,其特征在于所述S2的詳細步驟如下:S21:依次檢索ROM芯片數(shù)據(jù)體中的模塊頭部特征;S22:檢索到模塊頭部特征后,在此特征向后偏移4個字節(jié),取2字節(jié)ROM模塊號特征;S23:判斷該模塊號數(shù)據(jù)是否為0B模塊;如果是則執(zhí)行S24,如果不是則以該位置為起始執(zhí)行S21;S24:獲取模塊號后2字節(jié),為模塊所占扇區(qū)數(shù);S25:取得從模塊頭部特征直到下一個模塊頭部特征之間的數(shù)據(jù),在數(shù)據(jù)后填0,直至達到模塊所占扇區(qū)總大小為止,組成完整的0B模塊數(shù)據(jù)體。3.根據(jù)權(quán)利要求2所述的一種修復(fù)西數(shù)硬盤不認盤的方法,其特征在于所述S3的詳細步驟如下:S31:獲取OB模塊頭部偏移0x06位置的值,此值代表OB模塊有效數(shù)據(jù)起始位置的偏移地址;S32:偏移至有效數(shù)據(jù)起始位置后一個字節(jié)為ROM模塊的條目數(shù);S33:ROM模塊條目數(shù)向后取一個字節(jié),為ROM模塊每個條目所占的字節(jié)數(shù),記錄條目字節(jié)數(shù);S34:條目字節(jié)數(shù)向后取一個字節(jié)...
【專利技術(shù)屬性】
技術(shù)研發(fā)人員:梁效寧,張佳強,楊先珉,董超,
申請(專利權(quán))人:四川效率源信息安全技術(shù)股份有限公司,
類型:發(fā)明
國別省市:四川;51
還沒有人留言評論。發(fā)表了對其他瀏覽者有用的留言會獲得科技券。