為了有效地保存硬盤中的數(shù)據(jù),除了經(jīng)常性地進(jìn)行備份工作以外,還要學(xué)會在硬盤出現(xiàn)故障時(shí)如何救活硬盤,或者從壞的區(qū)域中提取出有用的數(shù)據(jù),把損失降到最小程度。
一、系統(tǒng)不認(rèn)硬盤
系統(tǒng)從硬盤無法啟動,從a盤啟動也無法進(jìn)入c盤,使用cmos中的自動監(jiān)測功能也無法發(fā)現(xiàn)硬盤的存在。這種故障大都出現(xiàn)在連接電纜或ide端口上,硬盤本身故障的可能性不大,可通過重新插接硬盤電纜或者改換ide口及電纜等進(jìn)行替換試驗(yàn),就會很快發(fā)現(xiàn)故障的所在。如果新接上的硬盤也不被接受,一個(gè)常見的原因就是硬盤上的主從跳線,如果一條ide硬盤線上接兩個(gè)硬盤設(shè)備,就要分清楚主從關(guān)系。
二、cmos引起的故障
cmos中的硬盤類型正確與否直接影響硬盤的正常使用,F(xiàn)在的機(jī)器都支持“ide auto detect”的功能,可自動檢測硬盤的類型。當(dāng)硬盤類型錯(cuò)誤時(shí),有時(shí)干脆無法啟動系統(tǒng),有時(shí)能夠啟動,但會發(fā)生讀寫錯(cuò)誤。比如cmos中的硬盤類型小于實(shí)際的硬盤容量,則硬盤后面的扇區(qū)將無法讀寫,如果是多分區(qū)狀態(tài)則個(gè)別分區(qū)將丟失。還有一個(gè)重要的故障原因,由于目前的ide都支持邏輯參數(shù)類型,硬盤可采用“normal,lba,large”等,如果在一般的模式下安裝了數(shù)據(jù),而又在cmos中改為其它的模式,則會發(fā)生硬盤的讀寫錯(cuò)誤故障,因?yàn)槠溆成潢P(guān)系已經(jīng)改變,將無法讀取原來的正確硬盤位置。
三、主引導(dǎo)程序引起的啟動故障
主引導(dǎo)程序位于硬盤的主引導(dǎo)扇區(qū),主要用于檢測硬盤分區(qū)的正確性,并確定活動分區(qū),負(fù)責(zé)把引導(dǎo)權(quán)移交給活動分區(qū)的dos或其他操作系統(tǒng)。此段程序損壞將無法從硬盤引導(dǎo),但從軟驅(qū)或光驅(qū)啟動之后可對硬盤進(jìn)行讀寫。修復(fù)此故障的方法較為簡單,使用高版本dos的fdisk最為方便,當(dāng)帶參數(shù)/mbr運(yùn)行時(shí),將直接更換(重寫)硬盤的主引導(dǎo)程序。實(shí)際上硬盤的主引導(dǎo)扇區(qū)正是此程序建立的,fdisk.exe之中包含有完整的硬盤主引導(dǎo)程序。雖然dos版本不斷更新,但硬盤的主引導(dǎo)程序一直沒有變化,從dos 3.x到windos 95的dos,只要找到一種dos引導(dǎo)盤啟動系統(tǒng)并運(yùn)行此程序即可修復(fù)。
四、分區(qū)表錯(cuò)誤引發(fā)的啟動故障
分區(qū)表錯(cuò)誤是硬盤的嚴(yán)重錯(cuò)誤,不同的錯(cuò)誤程度會造成不同的損失。如果是沒有活動分區(qū)標(biāo)志,則計(jì)算機(jī)無法啟動。但從軟驅(qū)或光驅(qū)引導(dǎo)系統(tǒng)后可對硬盤讀寫,可通過fdisk重置活動分區(qū)進(jìn)行修復(fù)。
如果是某一分區(qū)類型錯(cuò)誤,可造成某一分區(qū)的丟失。分區(qū)表的第四個(gè)字節(jié)為分區(qū)類型值,正常的可引導(dǎo)的大于32mb的基本dos分區(qū)值為06,而擴(kuò)展的dos分區(qū)值是05。很多人利用此類型值實(shí)現(xiàn)單個(gè)分區(qū)的加密技術(shù),恢復(fù)原來的正確類型值即可使該分區(qū)恢復(fù)正常。
分區(qū)表中還有其它數(shù)據(jù)用于記錄分區(qū)的起始或終止地址。這些數(shù)據(jù)的損壞將造成該分區(qū)的混亂或丟失,可用的方法是用備份的分區(qū)表數(shù)據(jù)重新寫回,或者從其它的相同類型的并且分區(qū)狀況相同的硬盤上獲取分區(qū)表數(shù)據(jù)。
恢復(fù)的工具可采用nu等工具軟件,操作非常方便。當(dāng)然也可采用debug進(jìn)行操作,但操作繁瑣并且具有一定的風(fēng)險(xiǎn)。
五、分區(qū)有效標(biāo)志錯(cuò)誤的故障
在硬盤主引導(dǎo)扇區(qū)中還存在一個(gè)重要的部分,那就是其最后的兩個(gè)字節(jié):“55aa”,此字節(jié)為扇區(qū)的有效標(biāo)志。當(dāng)從硬盤、軟盤或光盤啟動時(shí),將檢測這兩個(gè)字節(jié),如果存在則認(rèn)為有硬盤存在,否則將不承認(rèn)硬盤。此處可用于整個(gè)硬盤的加密技術(shù),可采用debug方法進(jìn)行恢復(fù)處理。另外,當(dāng)dos引導(dǎo)扇區(qū)無引導(dǎo)標(biāo)志時(shí),系統(tǒng)啟動將顯示為:“mmissing operating system”。方便的方法是使用下面的dos系統(tǒng)通用的修復(fù)方法。
六、dos引導(dǎo)系統(tǒng)引起的啟動故障
dos引導(dǎo)系統(tǒng)主要由dos引導(dǎo)扇區(qū)和dos系統(tǒng)文件組成。系統(tǒng)文件主要包括io.sys、msdos.sys、command.com,其中command.com是dos的外殼文件,可用其它的同類文件替換,但缺省狀態(tài)下是dos啟動的必備文件。在windows 95攜帶的dos系統(tǒng)中,msdos.sys是一個(gè)文本文件,是啟動windows必須的文件,但只啟動dos時(shí)可不用此文件。dos引導(dǎo)出錯(cuò)時(shí),可從軟盤或光盤引導(dǎo)系統(tǒng)后使用sys c:命令傳送系統(tǒng),即可修復(fù)故障,包括引導(dǎo)扇區(qū)及系統(tǒng)文件都可自動修復(fù)到正常狀態(tài)。
七、fat表引起的讀寫故障
fat表記錄著硬盤數(shù)據(jù)的存儲地址,每一個(gè)文件都有一組fat鏈指定其存放的簇地址。fat表的損壞意味著文件內(nèi)容的丟失。慶幸的是dos系統(tǒng)本身提供了兩個(gè)fat表,如果目前使用的fat表損壞,可用第二個(gè)進(jìn)行覆蓋修復(fù)。但由于不同規(guī)格的磁盤其fat表的長度及第二個(gè)fat表的地址也是不固定的,所以修復(fù)時(shí)必須正確查找其正確位置,一些工具軟件如nu等本身具有這樣的修復(fù)功能,使用也非常的方便。采用debug也可實(shí)現(xiàn)這種操作,即采用其m命令把第二個(gè)fat表移到第一個(gè)表處即可。如果第二個(gè)fat表也損壞了,則也無法把硬盤恢復(fù)到原來的狀態(tài),但文件的數(shù)據(jù)仍然存放在硬盤的數(shù)據(jù)區(qū)中,可采用chkdsk或scandisk命令進(jìn)行修復(fù),最終得到*.chk文件,這便是丟失fat鏈的扇區(qū)數(shù)據(jù)。如果是文本文件則可從中提取出完整的或部分的文件內(nèi)容。
八、目錄表損壞引起的引導(dǎo)故障
目錄表記錄著硬盤中文件的文件名等數(shù)據(jù),其中最重要的一項(xiàng)是該文件的起始簇號。目錄表由于沒有自動備份功能,所以如果目錄損壞將丟失大量的文件。一種減少損失的方法也是采用chkdsk或scandisk程序恢復(fù)的方法,從硬盤中搜索出*.chk文件,由于目錄表損壞時(shí)僅是首簇號丟失,每一個(gè)*.chk文件即是一個(gè)完整的文件,把其改為原來的名字即可恢復(fù)大多數(shù)文件。
九、誤刪除分區(qū)時(shí)數(shù)據(jù)的恢復(fù)
當(dāng)用fdisk刪除了硬盤分區(qū)之后,表面上是硬盤中的數(shù)據(jù)已經(jīng)完全消失,在未格式化時(shí)進(jìn)入硬盤會顯示為無效驅(qū)動器。如果了解fdisk的工作原理,就會知道fdisk只是重新改寫了硬盤的主引導(dǎo)扇區(qū)(0面0道1扇區(qū))中的內(nèi)容,具體說就是刪除了硬盤分區(qū)表信息,而硬盤中的任何分區(qū)的數(shù)據(jù)均沒有改變?煞抡丈鲜龅姆謪^(qū)表錯(cuò)誤的修復(fù)方法,即想辦法恢復(fù)分區(qū)表數(shù)據(jù)即可恢復(fù)原來的分區(qū)及數(shù)據(jù)。如果已經(jīng)對分區(qū)格式化,在先恢復(fù)分區(qū)后,可按下面的方法恢復(fù)分區(qū)數(shù)據(jù)。
十、誤格式化硬盤數(shù)據(jù)的恢復(fù)
在dos高版本狀態(tài)下,format格式化操作在缺省狀態(tài)下都建立了用于恢復(fù)格式化的磁盤信息,實(shí)際上是把磁盤的dos引導(dǎo)扇區(qū)、fat分區(qū)表及目錄表的所有內(nèi)容復(fù)制到了磁盤的最后幾個(gè)扇區(qū)中(因?yàn)楹竺娴纳葏^(qū)很少使用),而數(shù)據(jù)區(qū)中的內(nèi)容根本沒有改變。這樣通過運(yùn)行unformat命令即可恢復(fù)。另外dos還提供了一個(gè)miror命令用于記錄當(dāng)前磁盤的信息,供格式化或刪除之后的恢復(fù)使用,此方法也比較有效。