跳出硬盤認識的誤區(qū)
1995年,偶然在同事那里見到一個陌生的物件,好奇地問那是什么,朋友答:“這是電腦用的硬盤!” 這就是高朋*次認識硬盤的經(jīng)過。
幾年下來,單位的電腦越來越多,電腦問題也隨之多起來,高朋便有機會研究PC的維護。在維護過程中,由于硬盤出問題是較多的, 尤其是出壞道的情況更是令人頭疼。于是,高朋查遍圖書館、新華書店的計算機類圖書,研究壞道修復的方法。令人失望的是,各種書刊上所說的方法大同小異(懷疑有傳抄之嫌),不僅用處不大,而且嚴重誤導讀者。
多年來一直誤導著高朋的幾個常識性問題是:
1.硬盤邏輯壞道可以修復,而物理壞道不可修復。實際情況是,壞道并不分為邏輯壞道和物理壞道,不知道誰發(fā)明這兩個概念,反正廠家提供的技術資料中都沒有這樣的概念,倒是分為按邏輯地址記錄的壞扇區(qū)和按物理地址記錄的壞扇區(qū)。
2.硬盤出廠時沒有壞道,用戶發(fā)現(xiàn)壞道就意味著硬盤進入危險狀態(tài)。實際情況是,每個硬盤出廠前都記錄有一定數(shù)量的壞道,有些數(shù)量甚至達到數(shù)千上萬個壞扇區(qū),相比之下,用戶發(fā)現(xiàn)一兩個壞道算多大危險?
3.硬盤不認盤就沒救,0磁道壞可以用分區(qū)方法來解決。實際情況是,有相當部分不認的硬盤也可以修好,而0磁道壞時很難分區(qū)。
如此誤導,如不是自己搜集研究外文資料并長期實踐,說不準還長期拿來作信條呢。 在國外有許多的專業(yè)的硬盤維修論壇,在那里你可以發(fā)現(xiàn)有一些*的硬盤維修技術達到了很高水準。我敢肯定,他們的一些技術會令眾多硬盤廠家頭痛不已。和世界上眾多專業(yè)硬盤修理高手交流,使高朋受益菲淺。 這三年來,高朋辭去教師工作,專門從事硬盤修復工作,經(jīng)手修復的硬盤已超過萬個。
總結起來,高朋的技術來源有三方面:
1.搜集國外技術資料與國外專業(yè)人士交流;
2.購買專業(yè)工具軟件(有同步技術更新支持);
3.自己的實踐經(jīng)驗。
很遺憾,我沒有找到教我修復硬盤的老師,也不認為哪本教科書對我修硬盤有太大幫助。
硬盤修復人士需要弄明白的幾個基本概念
在研究硬盤修復和使用專業(yè)軟件修復硬盤的過程中,必將涉及到一些基本的概念。在這里,高朋根據(jù)自己的研究和實踐經(jīng)驗,試圖總結并解釋一些與“硬盤缺陷”相關的概念,與眾位讀者交流。
Bad sector (壞扇區(qū))
在硬盤中無法被正常訪問或不能被正確讀寫的扇區(qū)都稱為Bad sector。一個扇區(qū)能存儲512Bytes的數(shù)據(jù),如果在某個扇區(qū)中有任何一個字節(jié)不能被正確讀寫,則這個扇區(qū)為Bad sector。除了存儲512Bytes外,每個扇區(qū)還有數(shù)十個Bytes信息,包括標識(ID)、校驗值和其它信息。這些信息任何一個字節(jié)出錯都會導致該扇區(qū)變“Bad”。例如,在低級格式化的過程中每個扇區(qū)都分配有一個編號,寫在ID中。如果ID部分出錯就會導致這個扇區(qū)無法被訪問到,則這個扇區(qū)屬于Bad sector。有一些Bad sector能夠通過低級格式化重寫這些信息來糾正。
Bad cluster (壞簇)
在用戶對硬盤分區(qū)并進行高級格式化后,每個區(qū)都會建立文件分配表(File Allocation Table, FAT)。FAT中記錄有該區(qū)內所有cluster(簇)的使用情況和相互的鏈接關系。如果在高級格式化(或工具軟件的掃描)過程中發(fā)現(xiàn)某個cluster使用的扇區(qū)包括有壞扇區(qū),則在FAT中記錄該cluster為Bad cluster,并在以后存放文件時不再使用該cluster,以避免數(shù)據(jù)丟失。有時病毒或惡意軟件也可能在FAT中將無壞扇區(qū)的正常cluster標記為Bad cluster, 導致正常cluster不能被使用。 這里需要強調的是,每個cluster包括若干個扇區(qū),只要其中存在一個壞扇區(qū),則整個cluster中的其余扇區(qū)都一起不再被使用.
Defect (缺陷)
在硬盤內部中所有存在缺陷的部分都被稱為Defect。 如果某個磁頭狀態(tài)不好,則這個磁頭為Defect head。 如果盤面上某個Track(磁道)不能被正常訪問,則這Track為Defect Track. 如果某個扇區(qū)不能被正常訪問或不能正確記錄數(shù)據(jù),則該扇區(qū)也稱為Defect Sector. 可以認為Bad sector 等同于 Defect sector. 從總的來說,某個硬盤只要有一部分存在缺陷,就稱這個硬盤為Defect hard disk.
P-list (永久缺陷表)
現(xiàn)在的硬盤密度越來越高,單張盤片上存儲的數(shù)據(jù)量超過40Gbytes. 硬盤廠家在生產盤片過程極其精密,但也極難做到*的完美,硬盤盤面上或多或少存在一些缺陷。廠家在硬盤出廠前把所有的硬盤都進行低級格式化,在低級格式化過程中將自動找出所有defect track和defect sector,記錄在P-list中。并且在對所有磁道和扇區(qū)的編號過程中,將skip(跳過)這些缺陷部分,讓用戶永遠不能用到它們。這樣,用戶在分區(qū)、格式化、檢查剛購買的新硬盤時,很難發(fā)現(xiàn)有問題。一般的硬盤都在P-list中記錄有一定數(shù)量的defect, 少則數(shù)百,多則數(shù)以萬計。如果是SCSI硬盤的話可以找到多種通用軟件查看到P-list,因為各種牌子的SCSI硬盤使用兼容的SCSI指令集。而不同牌子不同型號的IDE硬盤,使用各自不同的指令集,想查看其P-list要用針對性的專業(yè)軟件。
G-list (增長缺陷表)
用戶在使用硬盤過程中,有可能會發(fā)現(xiàn)一些新的defect sector。 按“三包”規(guī)定,只要出現(xiàn)一個defect sector,商家就應該為用戶換或修?,F(xiàn)在大容量的硬盤出現(xiàn)一個defect sector概率實在很大,這樣的話硬盤商家就要為售后服務忙碌不已了。于是,硬盤廠商設計了一個自動修復機制,叫做Automatic Reallcation。有大多數(shù)型號的硬盤都有這樣的功能:在對硬盤的讀寫過程中,如果發(fā)現(xiàn)一個defect sector,則自動分配一個備用扇區(qū)替換該扇區(qū),并將該扇區(qū)及其替換情況記錄在G-list中。這樣一來,少量的defect sector對用戶的使用沒有太大的影響。
也有一些硬盤自動修復機制的激發(fā)條件要嚴格一些,需要用某些軟件來判斷defect sector,并通過某個端口(據(jù)說是50h)調用自動修復機制。比如常用的Lformat, ADM,DM中的Zero fill,Norton中的Wipeinfo和校正工具,西數(shù)工具包中的wddiag, IBM的DFT中的Erase等。這些工具之所以能在運行過后消除了一些“壞道”,很重要的原因就在這Automatic Reallcation(當然還有其它原因),而不能簡單地概括這些“壞道”是什么“邏輯壞道”或“假壞道”。 如果哪位被誤導中毒太深的讀者不相信這個事實,等他找到能查看G-list的專業(yè)工具后就知道,這些工具運行過后,G-list將會增加多少記錄!“邏輯壞道”或“假壞道”有必要記錄在G-list中并用其它扇區(qū)替換么?
當然,G-list的記錄不會無限制,所有的硬盤都會限定在一定數(shù)量范圍內。如火球系列限度是500,美鉆二代的限度是636,西數(shù)BB的限度是508,等等。超過限度,Automatic Reallcation就不能再起作用。這就是為何少量的“壞道”可以通過上述工具修復(有人就概括為:“邏輯壞道”可以修復),而壞道多了不能通過這些工具修復(又有人概括為:“物理壞道”不可以修復)。
Bad track (壞道)
這個概念源于十多年前小容量硬盤(100M以下),當時的硬盤在外殼上都貼有一張小表格,上面列出該硬盤中有缺陷的磁道位置(新硬盤也有)。在對這個硬盤進行低級格式化時(如用ADM或DM 5.0等工具,或主板中的低格工具),需要填入這些Bad track的位置, 以便在低格過程中跳過這些磁道?,F(xiàn)在的大容量硬盤在結構上與那些小容量硬盤相差極大,這個概念用在大容量硬盤上有點牽強。
讀者們還可能發(fā)現(xiàn)國內很多刊物和網(wǎng)上文章中還有這么幾個概念:物理壞道,邏輯壞道,真壞道,假壞道,硬壞道,軟壞道等。高朋在國外的硬盤技術資料中沒有找到對應的英文概念,也許是*人自己概括的吧?既然有那么多的人能接受這些概念,也許某些專家能作出一些的合理解釋。 高朋不習慣使用這些概念,不想對它們作牽強的解釋,讀者們看看是誰說的就去問誰吧。
深入了解硬盤參數(shù)
正常情況下,硬盤在接通電源之后,都要進行“初始化”過程(也可以稱為“自檢”)。這時,會發(fā)出一陣子自檢聲音,這些聲音長短和規(guī)律視不同牌子硬盤而各不一樣,但同型號的正常硬盤的自檢聲音是一樣的。 有經(jīng)驗的人都知道,這些自檢聲音是由于硬盤內部的磁頭尋道及歸位動作而發(fā)出的。為什么硬盤剛通電就需要執(zhí)行這么多動作呢?簡單地說,是硬盤在讀取的記錄在盤片中的初始化參數(shù)。
一般熟悉硬盤的人都知道,硬盤有一系列基本參數(shù),包括:牌子、型號、容量、柱面數(shù)、磁頭數(shù)、每磁道扇區(qū)數(shù)、系列號、緩存大小、轉速、S.M.A.R.T值等。其中一部分參數(shù)就寫在硬盤的標簽上,有些則要通過軟件才能測出來。但是,高朋告訴你,這些參數(shù)僅僅是初始化參數(shù)的一小部分,盤片中記錄的初始化參數(shù)有數(shù)十甚至數(shù)百個!硬盤的CPU在通電后自動尋找BIOS中的啟動程序,然后根據(jù)啟動程序的要求,依次在盤片中指定的位置讀取相應的參數(shù)。如果某一項重要參數(shù)找不到或出錯,啟動程序無法完成啟動過程,硬盤就進入保護模式。在保護模式下,用戶可能看不到硬盤的型號與容量等參數(shù),或者無法進入任何讀寫操作。近來有些系列的硬盤就是這個原因而出現(xiàn)類似的通病,如:FUJITSU MPG系列自檢聲正常卻不認盤,MAXTOR美鉆系列認不出正確型號及自檢后停轉,WD BB EB系列能正常認盤卻拒絕讀寫操作等。
不同牌子不同型號的硬盤有不同的初始化參數(shù)集,以較熟悉的Fujitsu硬盤為例,高朋簡要地講解其中一部分參數(shù),以便讀者理解內部初始化參數(shù)的原理。
通過專用的程序控制硬盤的CPU,根據(jù)BIOS程序的需要,依次讀出初始化參數(shù)集,按模塊分別存放為69個不同的文件,文件名也與BIOS程序中調用到的參數(shù)名稱一致。其中部分參數(shù)模塊的簡要說明如下:
DM硬盤內部的基本管理程序
- PL永久缺陷表
- TS缺陷磁道表
- HS實際物理磁頭數(shù)及排列順序
- SM*級加密狀態(tài)及密碼
- SU用戶級加密狀態(tài)及密碼
- CI 硬件信息,包括所用的CPU型號,BIOS版本,磁頭種類,磁盤碟片種類等
- FI生產廠家信息
- WE寫錯誤記錄表
- RE讀錯誤記錄表
- SI容量設定,指定允許用戶使用的*容量(MAX LBA),轉換為外部邏輯磁頭數(shù)(一般為16)和邏輯每磁道扇區(qū)數(shù)(一般為63)
- ZP區(qū)域分配信息,將每面盤片劃分為十五個區(qū)域,各個區(qū)域上分配的不同的扇區(qū)數(shù)量,從而計算出*的物理容量。
這些參數(shù)一般存放在普通用戶訪問不到的位置,有些是在物理零磁道以前,可以認為是在負磁道的位置。可能每個參數(shù)占用一個模塊,也可能幾個參數(shù)占用同一模塊。模塊大小不一樣,有些模塊才一個字節(jié),有些則達到64K字節(jié)。這些參數(shù)并不是連續(xù)存放的,而是各有各的固定位置。
讀出內部初始化參數(shù)表后,就可以分析出每個模塊是否處于正常狀態(tài)。當然,也可以修正這些參數(shù),重新寫回盤片中指定的位置。這樣,就可以把一些因為參數(shù)錯亂而無法正常使用的硬盤“修復”回正常狀態(tài)。
如果讀者有興趣進一步研究,不妨將硬盤電路板上的ROM芯片取下,用寫碼機讀出其中的BIOS程序,可以在程序段中找到以上所列出的參數(shù)名稱。
硬盤修復之低級格式化
熟悉硬盤的人都知道,在必要的時候需要對硬盤做“低級格式化”(下面簡稱“低格”)。進行低格所使用的工具也有多種:有用廠家專用設備做的低格,有用廠家提供的軟件工具做的低格,有用DM工具做的低格,有用主板BIOS中的工具做的低格,有用Debug工具做的低格,還有用專業(yè)軟件做低格……
不同的工具所做的低格對硬盤的作用各不一樣。有些人覺得低格可以修復一部分硬盤,有些人則覺得低格十分危險,會嚴重損害硬盤。高朋用過多種低格工具,認為低格是修復硬盤的一個有效手段。下面總結一些關于低格的看法,與廣大網(wǎng)友交流。
大家關心的一個問題:“低格過程到底對硬盤進行了什么操作?”實踐表明低格過程有可能進行下列幾項工作,不同的硬盤的低格過程相差很大,不同的軟件的低格過程也相差很大。
A. 對扇區(qū)清零和重寫校驗值
低格過程中將每個扇區(qū)的所有字節(jié)全部置零,并將每個扇區(qū)的校驗值也寫回初始值,這樣可以將部分缺陷糾正過來。譬如,由于扇區(qū)數(shù)據(jù)與該扇區(qū)的校驗值不對應,通常就被報告為校驗錯誤(ECC Error)。如果并非由于磁介質損傷,清零后就很有可能將扇區(qū)數(shù)據(jù)與該扇區(qū)的校驗值重新對應起來,而達到“修復”該扇區(qū)的功效。這是每種低格工具和每種硬盤的低格過程最基本的操作內容,同時這也是為什么通過低格能“修復大量壞道”的基本原因。另外,DM中的Zero Fill(清零)操作與IBM DFT工具中的Erase操作,也有同樣的功效。
B. 對扇區(qū)的標識信息重寫
在多年以前使用的老式硬盤(如采用ST506接口的硬盤),需要在低格過程中重寫每個扇區(qū)的標識(ID)信息和某些保留磁道的其他一些信息,當時低格工具都必須有這樣的功能。但現(xiàn)在的硬盤結構已經(jīng)大不一樣,如果再使用多年前的工具來做低格會導致許多令人痛苦的意外。難怪經(jīng)常有人在痛苦地高呼:“危險!切勿低格硬盤!我的硬盤已經(jīng)毀于低格!”
C. 對扇區(qū)進行讀寫檢查,并嘗試替換缺陷扇區(qū)
有些低格工具會對每個扇區(qū)進行讀寫檢查,如果發(fā)現(xiàn)在讀過程或寫過程出錯,就認為該扇區(qū)為缺陷扇區(qū)。然后,調用通用的自動替換扇區(qū)(Automatic reallocation sector)指令,嘗試對該扇區(qū)進行替換,也可以達到“修復”的功效。
D. 對所有物理扇區(qū)進行重新編號
編號的依據(jù)是P-list中的記錄及區(qū)段分配參數(shù)(該參數(shù)決定各個磁道劃分的扇區(qū)數(shù)),經(jīng)過編號后,每個扇區(qū)都分配到一個特定的標識信息(ID)。編號時,會自動跳過P-list中所記錄的缺陷扇區(qū),使用戶無法訪問到那些缺陷扇區(qū)(用戶不必在乎永遠用不到的地方的好壞)。如果這個過程半途而廢,有可能導致部分甚至所有扇區(qū)被報告為標識不對(Sector ID not found, IDNF)。要特別注意的是,這個編號過程是根據(jù)真正的物理參數(shù)來進行的,如果某些低格工具按邏輯參數(shù)(以 16heads 63sector為最典型)來進行低格,是不可能進行這樣的操作。
E. 寫磁道伺服信息,對所有磁道進行重新編號
有些硬盤允許將每個磁道的伺服信息重寫,并給磁道重新賦予一個編號。編號依據(jù)P-list或TS記錄來跳過缺陷磁道(defect track),使用戶無法訪問(即永遠不必使用)這些缺陷磁道。這個操作也是根據(jù)真正的物理參數(shù)來進行。
F. 寫狀態(tài)參數(shù),并修改特定參數(shù)
有些硬盤會有一個狀態(tài)參數(shù),記錄著低格過程是否正常結束,如果不是正常結束低格,會導致整個硬盤拒絕讀寫操作,這個參數(shù)以富士通IDE硬盤和希捷SCSI硬盤為典型。有些硬盤還可能根據(jù)低格過程的記錄改寫某些參數(shù)。
下面我們來看看一些低格工具做了些什么操作:
1. DM中的Low level format
進行了A和B操作。速度較快,極少損壞硬盤,但修復效果不明顯。
2. Lformat
進行了A、B、C操作。由于同時進行了讀寫檢查,操作速度較慢,可以替換部分缺陷扇區(qū)。但其使用的是邏輯參數(shù),所以不可能進行D、E和F的操作。遇到IDNF錯誤或伺服錯誤時很難通過,半途會中斷。
3. SCSI卡中的低格工具
由于大部SCSI硬盤指令集通用,該工具可以對部分SCSI硬盤進行A、B、C、D、F操作,對一部分SCSI硬盤(如希捷)修復作用明顯。遇到缺陷磁道無法通過。同時也由于自動替換功能,檢查到的缺陷數(shù)量超過G-list限度時將半途結束,硬盤進入拒絕讀寫狀態(tài)。
4. 專業(yè)的低格工具
一般進行A、B、D、E、F操作。通常配合伺服測試功能(找出缺陷磁道記入TS),介質測試功能(找出缺陷扇區(qū)記入P-list),使用的是廠家設定的低格程序(通常存放在BIOS或某一個特定參數(shù)模塊中),自動調用相關參數(shù)進行低格。一般不對缺陷扇區(qū)進行替換操作。低格完成后會將許多性能參數(shù)設定為剛出廠的狀態(tài)。
在這里, 高朋順便回答一些讀者常重復問到的問題:
問1:低格能不能修復硬盤?
答1:合適的低格工具能在很大程度上修復硬盤缺陷。
問2:低格會不會損傷硬盤?
答2:正確的低格過程絕不會在物理上損傷硬盤。用不正確的低格工具則可能嚴重破壞硬盤的信息,而導致硬盤不能正常使用。
問3:什么時候需要對硬盤進行低格?
答3:在修改硬盤的某些參數(shù)后必須進行低格,如添加P-list記錄或TS記錄,調整區(qū)段參數(shù),調整磁頭排列等。另外, 每個用戶都可以用適當?shù)透窆ぞ咝迯陀脖P缺陷,注意:必須是適當?shù)牡透窆ぞ摺?nbsp;
問4:什么樣的低格工具才可以稱為專業(yè)低格工具?
答4:能調用特定型號的記錄在硬盤內部的廠家低格程序,并能調用到正確參數(shù)集對硬盤進行低格,這樣的低格工具均可稱為專業(yè)低格工具。