對計算機用戶來說,硬盤故障簡直就是一場災難。由于硬盤在外部存儲設備中無可比擬的速度以及存取的便利性,在今天,硬盤已成為最重要的數據載體和系統程序載體。硬盤如果出現故障,則意味著用戶的數據安全受到了嚴重威脅,這是大多數用戶所無法容忍而又必須面對的殘酷現實。本文準備就PC硬盤故障的一般處理方法作一個簡單的探討,希望能對出現硬盤故障的用戶有所裨益。
一、相關知識
在討論具體的處理方法之前,我們有必要先來了解一下硬盤及其相關系統的原理。
1.硬盤驅動器
這就是我們常說的硬盤。它是一種磁介質的外部存儲設備,數據存儲在密封于潔凈的硬盤驅動器內腔的若干個磁盤片上。這些盤片一般是在以鋁為主要成分的片基表面涂上磁性介質所形成,在磁盤片的每一面上,以轉動軸為軸心、以一定的磁密度為間隔的若干個同心圓就被劃分成磁道(track),每個磁道又被劃分為若干個扇區(sector),數據就按扇區存放在硬盤上。在每一面上都相應地有一個讀寫磁頭(head),所以不同磁頭的所有相同位置的磁道就構成了所謂的柱面(cylinder)。傳統的硬盤讀寫都是以柱面、磁頭、扇區為尋址方式的(CHS尋址)。硬盤在上電后保持高速旋轉(可達7200Y/min),位于磁頭臂上的磁頭懸浮在磁盤表面,可以通過步進電機在不同柱面之間移動,對不同的柱面進行讀寫。所以在上電期間如果硬盤受到劇烈振蕩,磁盤表面就容易被劃傷,磁頭也容易損壞。硬盤驅動器根據接口的不同可以分為兩大類:IDE硬盤(包括IDE、EIDE直至近來的UDMA33都屬于這種類型)和SCSI硬盤,必須和相應的控制器一起使用。 硬盤的第一個扇區(0道0頭1扇區)被保留為主引導扇區。在主引導區內主要有兩項內容:主引導記錄和硬盤分區表。主引導記錄是一段程序代碼,其作用主要是對硬盤上安裝的操作系統進行引導;硬盤分區表則存儲了硬盤的分區信息。計算機啟動時將讀取該扇區的數據,并對其合法性進行判斷(扇區最后兩個字節是否為0x55AA或0xAA55),如合法則跳轉執行該扇區的第一條指令。所以硬盤的主引導區常常成為病毒攻擊的對象,從而被篡改甚至被破壞。
注:可引導標志:0x80為可引導分區類型標志;0表示未知;1為FAT12;4為FAT16;5為擴展分區等等。
2.硬盤控制器
硬盤控制器是硬盤及其他具有相同接口規范的外部設備(如CDROM驅動器)的管理者,由它來完成驅動器與內存之間的命令及數據傳輸。目前應用較廣的硬盤控制器按其接口的不同分為IDE、SCSI兩類,常常整合在主板上,通過數據線與硬盤驅動器相連。毫無疑問,硬盤控制器發生故障或連接不正確將會導致硬盤無法正常工作。
3.CMOS中的硬盤信息
在計算機的CMOS中也存儲了硬盤的信息,主要有硬盤類型、容量、柱面數、磁頭數、每道扇區數、尋址方式等內容,對硬盤參數加以說明,以便計算機正確訪問硬盤。當CMOS因故掉電或發生錯誤時(啟動時一般會提示“CMOS checksum error”或類似信息),硬盤設置可能會丟失或錯誤,硬盤訪問也就無法正確進行。這種情況我們就必須重新設置硬盤參數,如果事先已記下硬盤參數或者有某些防病毒軟件事先備份的CMOS信息,只需手工恢復即可;否則也可使用BIOS設置(setup)中的“自動檢測硬盤類型”(HD type auto detection)的功能,一般也能得到正確的結果。
二、典型故障及診斷處理
硬盤故障大體上可以分為軟故障和硬故障兩種情況,下面我們就以無法從硬盤啟動幾種典型的故障對處理的一般過程加以說明。
1.故障類型的初步判斷
無法從硬盤啟動的情況主要有如下幾種原因:硬盤操作系統被損壞、硬盤主引導區被破壞、CMOS硬盤參數不正確、硬盤控制器與硬盤驅動器未能正常連接、硬盤驅動器或硬盤控制器硬件故障、主板故障。
首先,我們可以根據計算機啟動信息對故障類型作一初步判斷。
案例1:開機不能完成正常自檢(POST),那么可以判斷為主板故障或電源故障,對此本文不作討論。
案例2:開機自檢過程中,屏幕提示“Hard disk drive failure”或類似信息,則可以判斷為硬盤驅動器或硬盤控制器(提示“Hard drive controller failure”)硬件故障。
案例3:開機自檢過程中,屏幕提示“Hard disk not present”或類似信息,則可能是CMOS硬盤參數設置錯誤或硬盤控制器與硬盤驅動器連接不正確。
案例4:開機自檢過程中,屏幕提示“Missing operating system”、“Non OS”、“Non system disk or disk error,replace disk and press a key to reboot”等類似信息,則可能是硬盤主引導區分區表被破壞、操作系統未正確安裝或者CMOS硬盤參數設置錯誤。
2.軟故障的一般處理方法
在初步判定故障類型之后,對于軟故障,我們可以采取如下步驟處理:
第一步,在存在CMOS發生錯誤的可能的情況下(如案例3和案例4),確保CMOS中硬盤參數正確。在對硬盤類型不確切情況下,可以讓BIOS自動檢測,也可參考同種機型的設置。
第二步,若仍不能從硬盤啟動,可以用軟盤啟動(注意BIOS設置中的引導順序設定)后,試著能否訪問硬盤。如果能夠訪問硬盤(比如說能列出C盤目錄),說明很可能只是操作系統被破壞,其他數據應無太大的問題,否則硬盤的主引導區或可引導分區的引導區被破壞。我們可以使用DEBUG或Norton Disk Editor,等工具軟件查看硬盤的主引導區是否正常:
A:\>DEBUG
-a ;匯編指令
XXXX:0100 mov ax,201 ;讀取一個扇區
XXXX:0103 mov bx,600 ;讀至當前段0600處
XXXX:0106 mov cx,1 ;柱面號=1
XXXX:0109 mov dx,80 ;磁頭號=0,驅動器號=80
XXXX:010C int 13 ;磁盤讀寫中斷
XXXX:010E int 3 ;斷點中斷
XXXX:010F
-g ;執行上述指令
-d 600 ;顯示主引導區內容