硬盤維修知識普及
硬盤是目前PC系統(tǒng)中最主要的存儲設(shè)備,同時硬盤是PC系統(tǒng)中出故障率最高的部件。用戶在使用硬盤過程中,硬盤出現(xiàn)故障怎么辦呢?如果還在質(zhì)保期內(nèi),當(dāng)然是盡量找到銷售商要求保修。但現(xiàn)在大多數(shù)IDE硬盤質(zhì)保期只有一年,而大多數(shù)用戶都希望一個硬盤能使用三年以上。
如果質(zhì)保期過后硬盤出了故障,就得考慮更換或?qū)λM(jìn)行修理。
筆者這幾年來一直從事硬盤維修工作,經(jīng)常與國內(nèi)外的同行交流,查閱過大量的外文專業(yè)資料,研究使用過多種專業(yè)的硬盤修復(fù)工具,成功修復(fù)了近萬個硬盤。在這里,筆者與讀者探討一些硬盤缺陷及其修復(fù)原理,同時介紹并解釋一些專業(yè)修復(fù)硬盤軟件中常用到的概念。但筆者暫不探討在各種作系統(tǒng)下硬盤中的數(shù)據(jù)結(jié)構(gòu)問題及數(shù)據(jù)恢復(fù)問題,而是直接探討硬盤本身的缺陷問題。
一、缺陷的分類
如果經(jīng)檢測發(fā)現(xiàn)某個硬盤不能完全正常工作,則稱這個硬盤是“有缺陷的硬盤”(Defect Hard Disk)。
根據(jù)維修經(jīng)驗,筆者將硬盤的缺陷分為六大類
①壞扇區(qū)(Bad sector),也稱缺陷扇區(qū)(Defect sector)
、诖诺浪欧毕荩═rack Servo defect)
③磁頭組件缺陷(Heads assembly defect)
、芟到y(tǒng)信息錯亂(Service information destruction)
、蓦娮泳路缺陷(The board of electronics defect)
、蘧C合性能缺陷(Complex reliability defect)
1.壞扇區(qū)(也稱缺陷扇區(qū))
指不能被正常訪問或不能被正確讀寫的扇區(qū)。一般表現(xiàn)為:高級格式化后發(fā)現(xiàn)有“壞簇(Bad Clusters);用SCANDISK等工具檢查發(fā)現(xiàn)有“B”標(biāo)記;或用某些檢測工具發(fā)現(xiàn)有“扇區(qū)錯誤提示”等。
一般每個扇區(qū)可以記錄512字節(jié)的數(shù)據(jù),如果其中任何一個字節(jié)不正常,該扇區(qū)就屬于缺陷扇區(qū)。每個扇區(qū)除了記錄512字節(jié)的數(shù)據(jù)外,另外還記錄有一些信息:標(biāo)志信息、校驗碼、地址信息等,其中任何一部分信息不正常都導(dǎo)致該扇區(qū)出現(xiàn)缺陷。
多數(shù)專業(yè)檢測軟件在檢測過程中發(fā)現(xiàn)缺陷時,都有類似的錯誤信息提示,常見的扇區(qū)缺陷主要有幾種情況:
① 校驗錯誤(ECC uncorrectable errors,又稱ECC錯誤)。系統(tǒng)每次在往扇區(qū)中寫數(shù)據(jù)的同時,都根據(jù)這些數(shù)據(jù)經(jīng)過一定的算法運(yùn)算生成一個校驗碼(ECC=Error Correction Code),并將這個校驗碼記錄在該扇區(qū)的信息區(qū)內(nèi)。以后從這個扇區(qū)讀取數(shù)據(jù)時,都會同時讀取其校檢碼,并對數(shù)據(jù)重新運(yùn)算以檢查結(jié)果是否與校檢碼一致。如果一致,則認(rèn)為這個扇區(qū)正常,存放的數(shù)據(jù)正確有效;如果不一致,則認(rèn)為該扇區(qū)出錯,這就是校驗錯誤。這是硬盤最主要的缺陷類型。導(dǎo)致這種缺陷的原因主要有:磁盤表面磁介質(zhì)損傷、硬盤寫功能不正常、校驗碼的算法差異。
②IDNF錯誤(sector ID not found),即扇區(qū)標(biāo)志出錯,造成系統(tǒng)在需要讀寫時找不到相應(yīng)的扇區(qū)。造成這個錯誤的原因可能是系統(tǒng)參數(shù)錯亂,導(dǎo)致內(nèi)部地址轉(zhuǎn)換錯亂,系統(tǒng)找不到指定扇區(qū);也有可能是某個扇區(qū)記錄的標(biāo)志信息出錯導(dǎo)致系統(tǒng)無法正確辨別扇區(qū)。
、跘MNF錯誤(Address Mark Not Found),即地址信息出錯。一般是由于某個扇區(qū)記錄的地址信息出錯,系統(tǒng)在對它訪問時發(fā)現(xiàn)其地址信息與系統(tǒng)編排的信息不一致。
④壞塊標(biāo)記錯誤(Bad block mark)。某些軟件或病毒程序可以在部分扇區(qū)強(qiáng)行寫上壞塊標(biāo)記,讓系統(tǒng)不使用這些扇區(qū)。這種情況嚴(yán)格來說不一定是硬盤本身的缺陷,但想清除這些壞塊標(biāo)記卻不容易。
2.磁道伺服缺陷
現(xiàn)在的硬盤大多采用嵌入式伺服,硬盤中每個正常的物理磁道都嵌入有一段或幾段信息作為伺服信息,以便磁頭在尋道時能準(zhǔn)確定位及辨別正確編號的物理磁道。如果某個物理磁道的伺服信息受損,該物理磁道就可能無法被訪問。這就是“磁道伺服缺陷”。一般表現(xiàn)為,分區(qū)過程非正常中斷;格式化過程無法完成;用檢測工具檢測時,中途退出或死機(jī),等等。
3.磁頭組件缺陷
指硬盤中磁頭組件的某部分不正常,造成部分或全部物理磁頭無法正常讀寫的情況。包括磁頭磨損、磁頭接觸面臟、磁頭擺臂變形、音圈受損、磁鐵移位等。一般表現(xiàn)為通電后,磁頭動作發(fā)出的聲音明顯不正常,硬盤無法被系統(tǒng)BIOS檢測到;無法分區(qū)格式化;格式化后發(fā)現(xiàn)從前到后都分布有大量的壞簇,等等。
4.系統(tǒng)信息錯亂
每個硬盤內(nèi)部都有一個系統(tǒng)保留區(qū)(service area),里面分成若干模塊保存有許多參數(shù)和程序。硬盤在通電自檢時,要調(diào)用其中大部分程序和參數(shù)。如果能讀出那些程序和參數(shù)模塊,而且校驗正常的話,硬盤就進(jìn)入準(zhǔn)備狀態(tài)。如果某些模塊讀不出或校驗不正常,則該硬盤就無法進(jìn)入準(zhǔn)備狀態(tài)。一般表現(xiàn)為,PC系統(tǒng)的BIOS無法檢測到該硬盤或檢測到該硬盤卻無法對它進(jìn)行讀寫作。如某些系列硬盤的常見問題:美鉆二代系列硬盤通電后,磁頭響一聲,馬達(dá)停轉(zhuǎn); Fujitsu MPG系列在通電后,磁頭正常尋道,但BIOS卻檢測不到;火球系列,系統(tǒng)能正常認(rèn)出型號,卻不能分區(qū)格式化; Western Digital的EB、BB系列,能被系統(tǒng)檢測到,卻不能分區(qū)格式化,等等。
5.電子線路缺陷
指硬盤的電子線路板中部分線路斷路或短路,某些電氣元件或IC芯片損壞等。有部分可以通過觀察線路板發(fā)現(xiàn)缺陷所在,有些則要通過儀器測量后才能確認(rèn)缺陷部位。一般表現(xiàn)為硬盤在通電后不能正常起轉(zhuǎn),或者起轉(zhuǎn)后磁頭尋道不正常,等等。
6.綜合性能缺陷
有些硬盤在使用過程中部分芯片特性改變;或者有些硬盤受震動后物理結(jié)構(gòu)產(chǎn)生微小變化(如馬達(dá)主軸受損);或者有些硬盤在設(shè)計上存在缺陷……最終導(dǎo)致硬盤穩(wěn)定性差,或部分性能達(dá)不到標(biāo)準(zhǔn)要求。一般表現(xiàn)為,工作時噪音明顯增大;讀寫速度明顯太慢;同一系列的硬盤大量出現(xiàn)類似故障;某種故障時有時無等等。
二、廠家處理缺陷的方式
用戶在購買硬盤時,一般都通過各種工具檢測硬盤沒有缺陷后才會購買。而且,在質(zhì)保期內(nèi)可以找銷售商將硬盤退回廠家修理。那么,廠家如何保證新硬盤不會被檢測到缺陷呢?返修的硬盤又如何處理缺陷呢?首先,讓我們來認(rèn)識硬盤工廠的一些基本處理流程:
1.在生產(chǎn)線上裝配硬盤的硬件部分,用特別設(shè)備往盤片寫入伺服信號(Servo write)。
2.將硬盤的系統(tǒng)保留區(qū)(service area)格式化,并向系統(tǒng)保留區(qū)寫入程序模塊和參數(shù)模塊。系統(tǒng)保留區(qū)一般位于硬盤0物理面的最前面幾十個物理磁道。寫入的程序模塊一般用于硬盤內(nèi)部管理,如低級格式化程序、加密程序、自監(jiān)控程序、自動修復(fù)程序等等。寫入的參數(shù)多達(dá)近百項:如型號、系列號、容量、口令、生產(chǎn)廠家與生產(chǎn)日期、配件類型、區(qū)域分配表、缺陷表、出錯記錄、使用時間記錄、S.M.A.R.T表等等,數(shù)據(jù)量從幾百KB到幾MB不等。有時參數(shù)一經(jīng)寫入就不再改變,如型號、系列號、生產(chǎn)時間等;而有些參數(shù)則可以在使用過程中由內(nèi)部管理程序自動修改,如出錯記錄、使用時間記錄、S.M.A.R.T記錄等。也有些專業(yè)的維修人員可以借助專業(yè)的工具軟件,隨意讀取、修改寫入硬盤中的程序模塊和參數(shù)模塊。
3.將所使用的盤片表面按物理地址全面掃描,檢查出所有的缺陷磁道和缺陷扇區(qū),并將這些缺陷磁道和缺陷扇區(qū)按實際物理地址記錄在永久缺陷列表(P- list: Permanent defect list)中。這個掃描過程非常嚴(yán)格,能把不穩(wěn)定不可靠的磁道和扇區(qū)也檢查出來,視同缺陷一并處理,F(xiàn)在的硬盤密度極高,盤片生產(chǎn)過程再精密也很難完全避免缺陷磁道或缺陷扇區(qū)。一般新硬盤的P-list中都有少則數(shù)十,多則上萬個缺陷記錄。P-list是保留在系統(tǒng)保留區(qū)中,一般用戶是無法查看或修改的。有些專業(yè)的維修人員借助專業(yè)的工具軟件,可以查看或修改大部分硬盤中的P-list。
4.系統(tǒng)調(diào)用內(nèi)部低級格式化程序,根據(jù)相應(yīng)的內(nèi)部參數(shù)進(jìn)行內(nèi)部低級格式化。在內(nèi)部低級格式化過程中,對所有的磁道和扇區(qū)進(jìn)行編號、信息重寫、清零等工作。在編號時,采用跳過(skipped)的方法忽略掉記錄在P-list中的缺陷磁道和缺陷扇區(qū),保證以后用戶不會也不能使用到那些缺陷磁道和缺陷扇區(qū)。因此,新硬盤在出售時是無法被檢測到缺陷的。如果是返修的硬盤,一般就在廠家特定的維修部門進(jìn)行檢測維修。
小知識:什么是硬盤的磁道和扇區(qū)?磁道是磁盤一個面上的單個數(shù)據(jù)存儲圓圈。如果將磁道作為一個存儲單元,從數(shù)據(jù)管理效率來看實在是太低了,因此,磁道被分成若干編上號的區(qū)域,稱之為扇區(qū)。這些扇區(qū)代表了磁道的分段(如圖)。在PC系統(tǒng)中,通過標(biāo)準(zhǔn)格式化的程序產(chǎn)生的扇區(qū)容量都為512字節(jié)。這里大家需注意的是“扇區(qū)”與“簇”的關(guān)系,“簇” 是作系統(tǒng)在讀或?qū)懸粋文件時能處理的最小磁盤單元,一個簇等于一個或多個扇區(qū)。
三、硬盤缺陷的處理
如果不在硬盤工廠中,對普通用戶或維修人員來說,又如何處理硬盤的缺陷呢?前面我們把硬盤的缺陷分為六大類,不同類型的缺陷用不同的處理方法。
1.對于綜合性能缺陷,一般涉及到穩(wěn)定性問題,用戶隨時有丟失數(shù)據(jù)的危險,可以說是“用之擔(dān)驚,棄之可惜”。維修人員很難從根本上解決問題,建議用戶還是趁早更換硬盤。
2.對于磁頭組件缺陷,解決辦法是更換磁頭組件,這對設(shè)備及環(huán)境要求較高,維修成本也很高。除非是要求恢復(fù)其中的數(shù)據(jù),否則不值得進(jìn)行修復(fù)。有條件的維修公司可以在百級凈化室中更換硬盤的磁頭組件,對數(shù)據(jù)進(jìn)行拯救。
3.對于線路缺陷,一般要求維修人員有電子線路基礎(chǔ),要有測試線路的經(jīng)驗和焊接芯片的設(shè)備,當(dāng)然還要有必需的配件以備更換。目前許多專業(yè)維修硬盤的公司都有條件解決這類缺陷。對普通用戶而言,最簡單的判別和解決辦法是找一個相同的正常線路板換上試試。
4.對于系統(tǒng)信息錯亂,需要有專業(yè)的工具軟件才能解決。首先要找個與待修硬盤參數(shù)完全相同的正常硬盤,讀出其內(nèi)部所有模塊并保存下來;檢查待修硬盤的系統(tǒng)結(jié)構(gòu),查到出錯的模塊,并將正常模塊的參數(shù)重新寫入。筆者用這個方法成功地修復(fù)了數(shù)以千計有這種缺陷類型的硬盤,而且一般不會破壞原有數(shù)據(jù)。要想寫某系列硬盤的系統(tǒng)信息,相應(yīng)的工具軟件必須有嚴(yán)格針對性;該硬盤的CPU專用指令集;該硬盤的Firmware結(jié)構(gòu);內(nèi)部管理程序和參數(shù)模塊結(jié)構(gòu)。一般只有硬盤廠家才能編寫這樣的專業(yè)工具軟件,而且視為絕密技術(shù),不向外界提供。但也有一些專業(yè)的硬盤研究所研究開發(fā)類似的專業(yè)工具軟件,一般要價很高而且很難買到。
5.對于伺服缺陷,也要借助于專業(yè)工具。相應(yīng)的專業(yè)工具可以通過重寫來糾正伺服信息,解決部分磁道伺服缺陷。如果有部分無法糾正,則要對盤片進(jìn)行物理磁道掃描找出有伺服缺陷的磁道,添加到P-list(或另外的專門磁道缺陷列表)中。然后,運(yùn)行硬盤內(nèi)部的低級格式化程序。這段程序能自動根據(jù)需要調(diào)用相關(guān)的參數(shù)模塊,自動完成硬盤的低格過程,不需要PC系統(tǒng)的干預(yù)。
壞扇區(qū)是最常見的缺陷類型,下面筆者著重論述。
四、壞扇區(qū)的修復(fù)原理
按“三包”規(guī)定,如果硬盤在質(zhì)保期內(nèi)出現(xiàn)缺陷,商家應(yīng)該為用戶更換或修理,F(xiàn)在大容量的硬盤出現(xiàn)一個壞扇區(qū)的概率實在很大,如果全部送修的話,硬盤商家就要為售后服務(wù)忙碌不已了。很多硬盤商家都說,硬盤出現(xiàn)少量壞扇區(qū)往往是病毒作怪或某些軟件造成的,不是真正的壞扇區(qū),只要運(yùn)行硬盤廠家提供的某些軟件,就可以糾正了。到底是怎么回事呢?從前面對壞扇區(qū)的說明來看,壞扇區(qū)有多種可能的原因,修復(fù)的方法也有幾種:
1.通過重寫校驗碼、標(biāo)志信息等可以糾正一部分壞扇區(qū)。現(xiàn)在硬盤廠家都公開提供有一些基本的硬盤維護(hù)工具,如各種版本的DM、POWERMAX、 DLGDIAG等,其中都包括有這樣的功能項:Zero fill(零填充)或Lowlevel format(低級格式化)。進(jìn)行這兩項功能都會對硬盤的數(shù)據(jù)進(jìn)行清零,并重寫每個扇區(qū)的校驗碼和標(biāo)志信息。如果不是磁盤表面介質(zhì)損傷的話,大部分的壞扇區(qū)可以糾正為正常狀態(tài)。這就是常聽說的:“邏輯壞扇區(qū)可以修復(fù)”的道理。
2.調(diào)用自動修復(fù)機(jī)制替換壞扇區(qū)。為了減少硬盤返修的概率,硬盤廠商在硬盤內(nèi)部設(shè)計了一個自動修復(fù)機(jī)制Automatic Reallcation或 Automatic Reassign 。現(xiàn)在生產(chǎn)的硬盤都有這樣的功能:在對硬盤的讀寫過程中,如果發(fā)現(xiàn)一個壞扇區(qū),則由內(nèi)部管理程序自動分配一個備用扇區(qū)來替換該扇區(qū),并將該扇區(qū)物理位置及其替換情況記錄在G-list(增長缺陷表,Grown defects list 中。這樣一來,少量的壞扇區(qū)有可能在使用過程中被自動替換掉了,對用戶的使用沒有太大的影響。也有一些硬盤自動修復(fù)機(jī)制的激發(fā)條件要嚴(yán)格一些,需要運(yùn)行某些軟件來檢測判斷壞扇區(qū),并發(fā)出相應(yīng)指令激發(fā)自動修復(fù)功能。比如常用的Lformat(低格)DM中的Zero fill,Norton中的Wipeinfo和校正工具,西數(shù)工具包中的wddiag,IBM的DFT中的Erase,還有一些半專業(yè)工具如:HDDspeed、MHDD、HDDL、HDDutility等(大家可以上網(wǎng)搜索下載)。這些工具之所以能在運(yùn)行過后消除了一些壞扇區(qū),很重要的原因就是這些工具可以在檢測到壞扇區(qū)時激發(fā)自動修復(fù)機(jī)制。如果讀者能查看G-list就知道,這些“修復(fù)工具”運(yùn)行前后,G-list記錄有可能增加一定數(shù)量。如:用HDDspeed可以查看所有Quantum Fireball系列的P- list和G-list;MHDD可以查看IBM和FUJITSU的P-list和G-list。
當(dāng)然,G-list的記錄不會無限制,所有硬盤的G-list都會限定在一定數(shù)量范圍內(nèi)。如火球系列限度是500條,美鉆二代的限度是636條,西數(shù) BB的限度是508條,等等。超過限度,自動修復(fù)機(jī)制就不能再起作用。這就是為何少量的壞扇區(qū)可以通過上述工具修復(fù),而壞扇區(qū)多了不能通過這些工具修復(fù)。
3.用專業(yè)軟件將缺陷扇區(qū)記錄在P-list中,并進(jìn)行內(nèi)部低級格式化。用戶在使用硬盤時,是不能按物理地址模式來訪問硬盤的。而是按邏輯地址模式來訪問。硬盤在通電自檢時,系統(tǒng)會從系統(tǒng)保留區(qū)讀取一些特定參數(shù)(與內(nèi)部低級格式化時調(diào)用的參數(shù)有密切關(guān)系)存在緩沖區(qū)里,用作物理地址與邏輯地址之間轉(zhuǎn)換的依據(jù)。有些專業(yè)軟件可以將檢測到的壞扇區(qū)的邏輯地址轉(zhuǎn)換為對應(yīng)的物理地址,直接記錄在P-list中,然后調(diào)用內(nèi)部低級格式化程序進(jìn)行低級格式化。這樣可以不受G- list的限制,能修復(fù)大量的壞扇區(qū),達(dá)到廠家修復(fù)的效果。
五、關(guān)于“壞道”的一點(diǎn)補(bǔ)充
“壞道(Bad track)”這個概念源于十多年前小容量硬盤(如ST506接口、100MB以下)。當(dāng)時的硬盤內(nèi)部沒有什么系統(tǒng)保留區(qū),也就沒有P -list或G-list。出廠前,廠家就掃描硬盤中存在壞扇區(qū)的磁道,并將其位置記錄在一張小表格中,貼在硬盤外殼上,注明 “Bad track list”,即常說的“壞道表”。而“壞道表”上就列出某磁頭某柱面的磁道是壞磁道,這就是我們常聽人說的“壞道”。當(dāng)時所有的硬盤在第一次使用前都要求做低級格式化(Low level format,簡稱“低格”),在使用過程中也可以根據(jù)需要做低級格式化。在對這個硬盤進(jìn)行低級格式化前(如用ADM、低版本DM、早期主板中自帶的低格工具等),要將壞道表中記錄都填入,或用工具自動掃描所有壞道,然后才進(jìn)行低級格式化過程。低格過程中,低格程序?qū)λ写诺腊匆欢ǖ囊?guī)律進(jìn)行編號,同時將前面記錄或掃描到的壞道排除在外,即“跳過(Skipped)”那些位置,對用戶來說可以算是 “修好”了“壞道”。而如果哪個用戶輕易對硬盤進(jìn)行低格,卻沒有登記壞道,那么低格會令以前曾“跳過”的壞道一個個又重新顯現(xiàn)出來,這就是為什么當(dāng)時人們常說低格會令硬盤增加壞道的原因。
那么,現(xiàn)在筆者為什么不用“壞道”概念而用“缺陷”概念呢?以前的老硬盤,通過低格來修復(fù),只要某磁道中出現(xiàn)一個壞扇區(qū),該磁道就算“壞磁道(Bad Track)”,修復(fù)時就整個磁道所有扇區(qū)一起“跳過(skipped)”。所以,壞磁道和壞扇區(qū)沒有區(qū)別開來,一起被稱為“壞道”也還算貼切。而現(xiàn)在的硬盤,每個磁道劃分為數(shù)百上千個扇區(qū),不能因為有一個壞扇區(qū)就丟掉整個磁道。而且有些硬盤出廠前P -list就記錄數(shù)千個壞扇區(qū),如果丟掉數(shù)千個磁道(意味道要丟掉數(shù)GB的空間)就太浪費(fèi)了。而現(xiàn)在的硬盤不同的缺陷有不同的表現(xiàn),不同的原因,修復(fù)方法也各不相同。如果繼續(xù)用“壞磁道”或“壞道”來概括多種缺陷,很明顯詞不達(dá)意。