本發(fā)明屬于數(shù)據(jù)恢復(fù)領(lǐng)域,涉及一種硬盤的修復(fù)方法,尤其涉及日立硬盤A工作區(qū)中固件模塊損壞的修復(fù)方法。
背景技術(shù):
世界經(jīng)濟(jì)的蓬勃發(fā)展帶動(dòng)了很多行業(yè)的騰飛,其中,硬盤行業(yè)的發(fā)展尤為迅速,由最初容量只有幾十兆字節(jié)甚至十幾兆字節(jié)的存儲(chǔ)軟盤到如今容量為1TB甚至幾TB的硬盤,硬盤技術(shù)經(jīng)歷了巨大的變化和極大的提升。同時(shí),隨著數(shù)據(jù)存儲(chǔ)量變大,對數(shù)據(jù)存儲(chǔ)的需求變得越來越強(qiáng)烈,同時(shí),數(shù)據(jù)的有效恢復(fù)也變得更加重要。
日立作為硬盤行業(yè)的知名品牌,依靠出色的質(zhì)量和可靠的性能,使其占據(jù)了較大的市場份額。因此,研究日立硬盤的數(shù)據(jù)恢復(fù)也日益迫切。
本發(fā)明涉及的相關(guān)技術(shù)名詞如下:
A工作區(qū):日立硬盤的主要工作區(qū),以下稱A工作區(qū)。
B工作區(qū):日立硬盤的次要工作區(qū),以下稱B工作區(qū)。
C工作區(qū):日立硬盤的工廠工作區(qū),以下稱C工作區(qū)。
其中,B工作區(qū)為A工作區(qū)的輔助工作區(qū),其內(nèi)部同樣具有A工作區(qū)中的重要固件;而C工作區(qū)為A工作區(qū)的備份,是廠家生產(chǎn)硬盤時(shí)校準(zhǔn)固化生成的,日立硬盤在平時(shí)工作中不會(huì)訪問C工作區(qū)的固件。
現(xiàn)有技術(shù)中,對日立硬盤因A工作區(qū)的固件模塊受到損壞而導(dǎo)致硬盤不能被計(jì)算機(jī)所識別的情況下,多采取直接拆卸、更換磁頭等方法,不僅耗費(fèi)人力物力,往往還會(huì)因?yàn)槿藶橐蛩?,?dǎo)致硬盤故障的擴(kuò)大化,對硬盤帶來二次傷害,甚至造成硬盤完全損壞。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對現(xiàn)有技術(shù)的不足和上述問題,提出一種日立硬盤A工作區(qū)中固件模塊損壞的修復(fù)方法,在日立硬盤因A工作區(qū)的固件模塊受到損壞而導(dǎo)致硬盤不能被計(jì)算機(jī)所識別的情況下,通過轉(zhuǎn)換硬盤的工作區(qū),獲取所需的固件模塊并按偏移地址及偏移量將其寫入A工作區(qū),使得該硬盤能夠被計(jì)算機(jī)所識別,從而有效地修復(fù)故障硬盤,解決了直接拆卸、更換磁頭等方法耗費(fèi)的人力物力,以及拆卸、更換等操作中由于人為因素而導(dǎo)致硬盤故障的擴(kuò)大化、對硬盤帶來二次傷害、甚至造成硬盤完全損壞的問題,所述方法包括以下步驟:
S1:將硬盤連接至計(jì)算機(jī);
S2:通過所述計(jì)算機(jī)向所述硬盤發(fā)送工作區(qū)轉(zhuǎn)換指令,將所述硬盤的工作區(qū)轉(zhuǎn)換至B工作區(qū)或C工作區(qū),判斷轉(zhuǎn)換是否成功,如果是,則跳轉(zhuǎn)至步驟S3,否則跳轉(zhuǎn)至步驟S1;
S3:確定當(dāng)前工作區(qū)地圖模塊中所需固件模塊的管理地址,記錄所述管理地址中內(nèi)容所包含的偏移地址及偏移量,根據(jù)所述偏移地址及所述偏移量查找所述固件模塊,其中,所述偏移地址為相對于絕對值最大的負(fù)磁道地址的偏移地址;
S4:通過所述計(jì)算機(jī)向所述硬盤發(fā)送固件獲取指令,并根據(jù)步驟S3中所述地圖模塊中所述偏移地址及所述偏移量來獲取當(dāng)前工作區(qū)中的所述固件模塊并備份于所述計(jì)算機(jī)中;
S5:通過所述計(jì)算機(jī)向所述硬盤發(fā)送工作區(qū)轉(zhuǎn)換指令,將所述硬盤的工作區(qū)切換至A工作區(qū),并根據(jù)所述A工作區(qū)地圖模塊中所述固件模塊的偏移地址及偏移量,將備份于所述計(jì)算機(jī)中的所述固件模塊寫入所述偏移地址中;
S6:將所述硬盤斷電后重新上電,驗(yàn)證能否正常訪問所述A工作區(qū)。
作為優(yōu)選,所述步驟S3包括以下步驟:
S301:從所述地圖模塊的起始地址開始,查找地址0x00000010,所述地址0x00000010之后的每20字節(jié)為一個(gè)管理字段,所述每20字節(jié)的首字節(jié)地址為一個(gè)固件模塊的管理地址,所述一個(gè)管理字段記錄一個(gè)固件模塊的管理信息;
S302:所述一個(gè)固件模塊的管理信息中,讀取所述20個(gè)字節(jié)中第7、8、9、10字節(jié)的內(nèi)容為所述一個(gè)固件模塊相對于絕對值最大的負(fù)磁道地址的偏移地址,讀取所述20個(gè)字節(jié)中第11、12字節(jié)的內(nèi)容為相對于所述偏移地址的偏移量。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是:當(dāng)日立硬盤A工作區(qū)中固件模塊損壞而不能被計(jì)算機(jī)識別時(shí),在不拆卸硬盤、不更換磁頭的前提下修復(fù)硬盤并恢復(fù)數(shù)據(jù),避免耗費(fèi)人力物力,解決了在拆卸、更換等操作中因人為因素而導(dǎo)致硬盤故障的擴(kuò)大化、對硬盤帶來二次傷害、甚至造成硬盤完全損壞等問題。
附圖說明
圖1為本發(fā)明的主流程圖;
圖2為本發(fā)明中查找所需固件模塊的處理流程圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對本發(fā)明作進(jìn)一步闡述。
本發(fā)明通過獲取所需固件模塊并寫入A工作區(qū)的方法,從而有效地修復(fù)故障硬盤,實(shí)現(xiàn)硬盤的數(shù)據(jù)恢復(fù)。
如圖1所示,一種日立硬盤A工作區(qū)中固件模塊損壞的修復(fù)方法,包括以下步驟:
S1:將硬盤連接至計(jì)算機(jī);
S2:通過計(jì)算機(jī)向硬盤發(fā)送工作區(qū)轉(zhuǎn)換指令,將該硬盤的工作區(qū)轉(zhuǎn)換至B工作區(qū)或C工作區(qū),判斷轉(zhuǎn)換是否成功,如果是,則跳轉(zhuǎn)至步驟S3,否則跳轉(zhuǎn)至步驟S1;
S3:確定當(dāng)前工作區(qū)地圖模塊中所需固件模塊的管理地址,記錄管理地址中內(nèi)容所包含的偏移地址及偏移量,根據(jù)偏移地址及偏移量查找所需固件模塊,其中,偏移地址為相對于絕對值最大的負(fù)磁道地址的偏移地址,步驟S3包括如圖2所示的以下步驟:
S301:從地圖模塊的起始地址開始,查找地址0x00000010,地址0x00000010之后的每20字節(jié)為一個(gè)管理字段,每20字節(jié)的首字節(jié)地址為一個(gè)固件模塊的管理地址,一個(gè)管理字段記錄一個(gè)固件模塊的管理信息;
S302:一個(gè)固件模塊的管理信息中,讀取20個(gè)字節(jié)中第7、8、9、10字節(jié)的內(nèi)容為一個(gè)固件模塊相對于絕對值最大的負(fù)磁道地址的偏移地址,讀取20個(gè)字節(jié)中第11、12字節(jié)的內(nèi)容為相對于該偏移地址的偏移量。
S4:通過計(jì)算機(jī)向硬盤發(fā)送固件獲取指令,并根據(jù)步驟S3中地圖模塊中偏移地址及偏移量來獲取當(dāng)前工作區(qū)中的固件模塊并備份于計(jì)算機(jī)中;
S5:通過計(jì)算機(jī)向硬盤發(fā)送工作區(qū)轉(zhuǎn)換指令,將硬盤的工作區(qū)切換至A工作區(qū),并根據(jù)A工作區(qū)地圖模塊中固件模塊的偏移地址及偏移量,將備份于計(jì)算機(jī)中的固件模塊寫入該偏移地址中;
S6:將硬盤斷電后重新上電,驗(yàn)證能否正常訪問A工作區(qū)。
應(yīng)當(dāng)理解的是,本發(fā)明不限于上述的舉例,對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)上述說明加以改進(jìn)或變換,所有這些改進(jìn)和變換都應(yīng)屬于本發(fā)明所附權(quán)利要求的保護(hù)范圍。