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