當前位置:才華齋>計算機>計算機硬體>

一分鐘教會菜鳥認識硬碟

計算機硬體 閱讀(3.14W)

1.硬碟邏輯壞道可以修復,而物理壞道不可修復。實際情況是,壞道並不分為邏輯壞道和物理壞道,不知道誰發明這兩個概念,反正廠家提供的技術資料中都沒有這樣的概念,倒是分為按邏輯地址記錄的壞扇區和按實體地址記錄的壞扇區。

一分鐘教會菜鳥認識硬碟

2.硬碟出廠時沒有壞道,使用者發現壞道就意味著硬碟進入危險狀態。實際情況是,每個硬碟出廠前都記錄有一定數量的壞道,有些數量甚至達到數千上萬個壞扇區,相比之下,使用者發現一兩個壞道算多大危險?

3.硬碟不認盤就沒救,0磁軌壞可以用分割槽方法來解決。實際情況是,有相當部分不認的硬碟也可以修好,而0磁軌壞時很難分割槽。

Bad

sector

(壞扇區)

在硬碟中無法被正常訪問或不能被正確讀寫的扇區都稱為Bad

sector。一個扇區能儲存512Bytes的資料,如果在某個扇區中有任何一個位元組不能被正確讀寫,則這個扇區為Bad

sector。除了儲存512Bytes外,每個扇區還有數十個Bytes資訊,包括標識(ID)、校驗值和其它資訊。這些資訊任何一個位元組出錯都會導致該扇區變“Bad”。例如,在低階格式化的過程中每個扇區都分配有一個編號,寫在ID中。如果ID部分出錯就會導致這個扇區無法被訪問到,則這個扇區屬於Bad

sector。有一些Bad

sector能夠通過低階格式化重寫這些資訊來糾正。

Bad

cluster

(壞簇)

在使用者對硬碟分割槽並進行高階格式化後,每個區都會建立檔案分配表(File

Allocation

Table,

FAT)。FAT中記錄有該區內所有cluster(簇)的使用情況和相互的連結關係。如果在高階格式化(或工具軟體的掃描)過程中發現某個cluster使用的扇區包括有壞扇區,則在FAT中記錄該cluster為Bad

cluster,並在以後存放檔案時不再使用該cluster,以避免資料丟失。有時病毒或惡意軟體也可能在FAT中將無壞扇區的正常cluster標記為Bad

cluster,

導致正常cluster不能被使用。

這裡需要強調的是,每個cluster包括若干個扇區,只要其中存在一個壞扇區,則整個cluster中的其餘扇區都一起不再被使用.

Defect

(缺陷)

在硬碟內部中所有存在缺陷的部分都被稱為Defect。

如果某個磁頭狀態不好,則這個磁頭為Defect

head。

如果盤面上某個Track(磁軌)不能被正常訪問,則這Track為Defect

Track.

如果某個扇區不能被正常訪問或不能正確記錄資料,則該扇區也稱為Defect

Sector.

可以認為Bad

sector

等同於

Defect

sector.

從總的來說,某個硬碟只要有一部分存在缺陷,就稱這個硬碟為Defect

hard

disk.

P-list

(永久缺陷表)

現在的硬碟密度越來越高,單張碟片上儲存的資料量超過40Gbytes.

硬碟廠家在生產碟片過程極其精密,但也極難做到100%的完美,硬碟盤面上或多或少存在一些缺陷。廠家在硬碟出廠前把所有的硬碟都進行低階格式化,在低階格式化過程中將自動找出所有defect

track和defect

sector,記錄在P-list中。並且在對所有磁軌和扇區的編號過程中,將skip(跳過)這些缺陷部分,讓使用者永遠不能用到它們。這樣,使用者在分割槽、格式化、檢查剛購買的新硬碟時,很難發現有問題。一般的硬碟都在P-list中記錄有一定數量的defect,

少則數百,多則數以萬計。如果是SCSI硬碟的話可以找到多種通用軟體檢視到P-list,因為各種牌子的SCSI硬碟使用相容的SCSI指令集。而不同牌子不同型號的IDE硬碟,使用各自不同的指令集,想檢視其P-list要用針對性的專業軟體。

G-list

(增長缺陷表)

使用者在使用硬碟過程中,有可能會發現一些新的defect

sector。

按“三包”規定,只要出現一個defect

sector,商家就應該為使用者換或修。現在大容量的硬碟出現一個defect

sector概率實在很大,這樣的話硬碟商家就要為售後服務忙碌不已了。於是,硬碟廠商設計了一個自動修復機制,叫做Automatic

Reallcation。有大多數型號的硬碟都有這樣的功能:在對硬碟的讀寫過程中,如果發現一個defect

sector,則自動分配一個備用扇區替換該扇區,並將該扇區及其替換情況記錄在G-list中。這樣一來,少量的defect

sector對使用者的使用沒有太大的影響。

也有一些硬碟自動修復機制的激發條件要嚴格一些,需要用某些軟體來判斷defect

sector,並通過某個埠(據說是50h)呼叫自動修復機制。比如常用的Lformat,

ADM,DM中的Zero

fill,Norton中的Wipeinfo和校正工具,西數工具包中的wddiag,

IBM的DFT中的Erase等。這些工具之所以能在執行過後消除了一些“壞道”,很重要的原因就在這Automatic

Reallcation(當然還有其它原因),而不能簡單地概括這些“壞道”是什麼“邏輯壞道”或“假壞道”。

如果哪位被誤導中毒太深的讀者不相信這個事實,等他找到能檢視G-list的專業工具後就知道,這些工具執行過後,G-list將會增加多少記錄!“邏輯壞道”或“假壞道”有必要記錄在G-list中並用其它扇區替換麼?

當然,G-list的記錄不會無限制,所有的硬碟都會限定在一定數量範圍內。如火球系列限度是500,美鑽二代的限度是636,西數BB的限度是508,等等。超過限度,Automatic

Reallcation就不能再起作用。這就是為何少量的“壞道”可以通過上述工具修復(有人就概括為:“邏輯壞道”可以修復),而壞道多了不能通過這些工具修復(又有人概括為:“物理壞道”不可以修復)。

Bad

track

(壞道)

這個概念源於十多年前小容量硬碟(100M以下),當時的硬碟在外殼上都貼有一張小表格,上面列出該硬碟中有缺陷的磁軌位置(新硬碟也有)。在對這個硬碟進行低階格式化時(如用ADM或DM

5.0等工具,或主機板中的低格工具),需要填入這些Bad

track的位置,

以便在低格過程中跳過這些磁軌。現在的大容量硬碟在結構上與那些小容量硬碟相差極大,這個概念用在大容量硬碟上有點牽強。

  深入瞭解硬碟引數

正常情況下,硬碟在接通電源之後,都要進行“初始化”過程(也可以稱為“自檢”)。這時,會發出一陣子自檢聲音,這些聲音長短和規律視不同牌子硬碟而各不一樣,但同型號的正常硬碟的自檢聲音是一樣的。

有經驗的人都知道,這些自檢聲音是由於硬碟內部的磁頭尋道及歸位動作而發出的。為什麼硬碟剛通電就需要執行這麼多動作呢?簡單地說,是硬碟在讀取的記錄在碟片中的初始化引數。

一般熟悉硬碟的人都知道,硬碟有一系列基本引數,包括:牌子、型號、容量、柱面數、磁頭數、每磁軌扇區數、系列號、快取大小、轉速、S.M.A.R.T值等。其中一部分引數就寫在硬碟的標籤上,有些則要通過軟體才能測出來。這些引數僅僅是初始化引數的一小部分,碟片中記錄的初始化引數有數十甚至數百個!硬碟的CPU在通電後自動尋找BIOS中的啟動程式,然後根據啟動程式的要求,依次在碟片中指定的位置讀取相應的引數。如果某一項重要引數找不到或出錯,啟動程式無法完成啟動過程,硬碟就進入保護模式。在保護模式下,使用者可能看不到硬碟的型號與容量等引數,或者無法進入任何讀寫操作。近來有些系列的硬碟就是這個原因而出現類似的通病,如:FUJITSU

MPG系列自檢聲正常卻不認盤,MAXTOR美鑽系列認不出正確型號及自檢後停轉,WD

BB

EB系列能正常認盤卻拒絕讀寫操作等。

不同牌子不同型號的硬碟有不同的初始化引數集,以較熟悉的Fujitsu硬碟為例,高朋簡要地講解其中一部分引數,以便讀者理解內部初始化引數的原理。

通過專用的程式控制硬碟的CPU,根據BIOS程式的需要,依次讀出初始化引數集,按模組分別存放為69個不同的檔案,檔名也與BIOS程式中呼叫到的引數名稱一致。其中部分引數模組的簡要說明如下:

DM硬碟內部的基本管理程式

PL永久缺陷表

TS缺陷磁軌表

HS實際物理磁頭數及排列順序

SM最高階加密狀態及密碼

SU使用者級加密狀態及密碼

CI

硬體資訊,包括所用的CPU型號,BIOS版本,磁頭種類,磁碟碟片種類等

FI生產廠家資訊

WE寫錯誤記錄表

RE讀錯誤記錄表

SI容量設定,指定允許使用者使用的最大容量(MAX

LBA),轉換為外部邏輯磁頭數(一般為16)和邏輯每磁軌扇區數(一般為63)

ZP區域分配資訊,將每面碟片劃分為十五個區域,各個區域上分配的不同的扇區數量,從而計算出最大的物理容量。

這些引數一般存放在普通使用者訪問不到的位置,有些是在物理零磁軌以前,可以認為是在負磁軌的位置。可能每個引數佔用一個模組,也可能幾個引數佔用同一模組。模組大小不一樣,有些模組才一個位元組,有些則達到64K位元組。這些引數並不是連續存放的,而是各有各的固定位置。

讀出內部初始化引數表後,就可以分析出每個模組是否處於正常狀態。當然,也可以修正這些引數,重新寫回碟片中指定的位置。這樣,就可以把一些因為引數錯亂而無法正常使用的硬碟“修復”回正常狀態。

如果讀者有興趣進一步研究,不妨將硬碟電路板上的ROM晶片取下,用寫碼機讀出其中的BIOS程式,可以在程式段中找到以上所列出的引數名稱。

  硬碟修復之低階格式化

熟悉硬碟的人都知道,在必要的時候需要對硬碟做“低階格式化”(下面簡稱“低格”)。進行低格所使用的工具也有多種:有用廠家專用裝置做的低格,有用廠家提供的軟體工具做的低格,有用DM工具做的低格,有用主機板BIOS中的工具做的低格,有用Debug工具做的低格,還有用專業軟體做低格……

不同的工具所做的低格對硬碟的作用各不一樣。有些人覺得低格可以修復一部分硬碟,有些人則覺得低格十分危險,會嚴重損害硬碟。用過多種低格工具,認為低格是修復硬碟的一個有效手段。下面總結一些關於低格的看法,與廣大網友交流。

大家關心的一個問題:“低格過程到底對硬碟進行了什麼操作?”實踐表明低格過程有可能進行下列幾項工作,不同的硬碟的低格過程相差很大,不同的軟體的低格過程也相差很大。

A.

  對扇區清零和重寫校驗值

低格過程中將每個扇區的所有位元組全部置零,並將每個扇區的校驗值也寫回初始值,這樣可以將部分缺陷糾正過來。譬如,由於扇區資料與該扇區的校驗值不對應,通常就被報告為校驗錯誤(ECC

Error)。如果並非由於磁介質損傷,清零後就很有可能將扇區資料與該扇區的校驗值重新對應起來,而達到“修復”該扇區的功效。這是每種低格工具和每種硬碟的低格過程最基本的操作內容,同時這也是為什麼通過低格能“修復大量壞道”的基本原因。另外,DM中的Zero

Fill(清零)操作與IBM

DFT工具中的Erase操作,也有同樣的功效。

B.

  對扇區的標識資訊重寫

在多年以前使用的老式硬碟(如採用ST506介面的硬碟),需要在低格過程中重寫每個扇區的標識(ID)資訊和某些保留磁軌的其他一些資訊,當時低格工具都必須有這樣的功能。但現在的硬碟結構已經大不一樣,如果再使用多年前的工具來做低格會導致許多令人痛苦的意外。難怪經常有人在痛苦地高呼:“危險!切勿低格硬碟!我的硬碟已經毀於低格!”

C.

  對扇區進行讀寫檢查,並嘗試替換缺陷扇區

有些低格工具會對每個扇區進行讀寫檢查,如果發現在讀過程或寫過程出錯,就認為該扇區為缺陷扇區。然後,呼叫通用的自動替換扇區(Automatic

reallocation

sector)指令,嘗試對該扇區進行替換,也可以達到“修復”的功效。

D.

  對所有物理扇區進行重新編號

編號的依據是P-list中的記錄及區段分配引數(該引數決定各個磁軌劃分的扇區數),經過編號後,每個扇區都分配到一個特定的標識資訊(ID)。編號時,會自動跳過P-list中所記錄的缺陷扇區,使使用者無法訪問到那些缺陷扇區(使用者不必在乎永遠用不到的地方的好壞)。如果這個過程半途而廢,有可能導致部分甚至所有扇區被報告為標識不對(Sector

ID

not

found,

IDNF)。要特別注意的是,這個編號過程是根據真正的物理引數來進行的,如果某些低格工具按邏輯引數(以

16heads

63sector為最典型)來進行低格,是不可能進行這樣的操作。

E.

  寫磁軌伺服資訊,對所有磁軌進行重新編號

有些硬碟允許將每個磁軌的伺服資訊重寫,並給磁軌重新賦予一個編號。編號依據P-list或TS記錄來跳過缺陷磁軌(defect

track),使使用者無法訪問(即永遠不必使用)這些缺陷磁軌。這個操作也是根據真正的物理引數來進行。

F.

  寫狀態引數,並修改特定引數

有些硬碟會有一個狀態引數,記錄著低格過程是否正常結束,如果不是正常結束低格,會導致整個硬碟拒絕讀寫操作,這個引數以富士通IDE硬碟和希捷SCSI硬碟為典型。有些硬碟還可能根據低格過程的記錄改寫某些引數。

下面我們來看看一些低格工具做了些什麼操作:

1.

DM中的Low

level

format

進行了A和B操作。速度較快,極少損壞硬碟,但修復效果不明顯。

2.

Lformat

進行了A、B、C操作。由於同時進行了讀寫檢查,操作速度較慢,可以替換部分缺陷扇區。但其使用的是邏輯引數,所以不可能進行D、E和F的操作。遇到IDNF錯誤或伺服錯誤時很難通過,半途會中斷。

3.

SCSI卡中的低格工具

由於大部SCSI硬碟指令集通用,該工具可以對部分SCSI硬碟進行A、B、C、D、F操作,對一部分SCSI硬碟(如希捷)修復作用明顯。遇到缺陷磁軌無法通過。同時也由於自動替換功能,檢查到的缺陷數量超過G-list限度時將半途結束,硬碟進入拒絕讀寫狀態。

4.

專業的低格工具

一般進行A、B、D、E、F操作。通常配合伺服測試功能(找出缺陷磁軌記入TS),介質測試功能(找出缺陷扇區記入P-list),使用的是廠家設定的低格程式(通常存放在BIOS或某一個特定引數模組中),自動呼叫相關引數進行低格。一般不對缺陷扇區進行替換操作。低格完成後會將許多效能引數設定為剛出廠的狀態。

問1:低格能不能修復硬碟?

答1:合適的低格工具能在很大程度上修復硬碟缺陷。

問2:低格會不會損傷硬碟?

答2:正確的低格過程絕不會在物理上損傷硬碟。用不正確的低格工具則可能嚴重破壞硬碟的資訊,而導致硬碟不能正常使用。

問3:什麼時候需要對硬碟進行低格?

答3:在修改硬碟的某些引數後必須進行低格,如新增P-list記錄或TS記錄,調整區段引數,調整磁頭排列等。另外,

每個使用者都可以用適當低格工具修復硬碟缺陷,注意:必須是適當的'低格工具。

問4:什麼樣的低格工具才可以稱為專業低格工具?

答4:能呼叫特定型號的記錄在硬碟內部的廠家低格程式,並能呼叫到正確引數集對硬碟進行低格,這樣的低格工具均可稱為專業低格工具。

看圖認識硬碟(菜鳥必讀)

看圖認識硬碟(菜鳥必讀)

硬碟是系統中極為重要的裝置,儲存著大量的使用者資料和資訊。如今的硬碟容量動輒就是10GB以上,型號更是五花八門,因此我們有必要了解一些硬碟的基本知識,才能在紛繁複雜的市場中認清所需要的硬碟。

從介面上看,硬碟主要分為IDE介面和SCSI介面兩種。由於價格原因,普通使用者通常只能接觸到IDE介面的硬碟,因此下面我們也以IDE硬碟為主進行講解。

1.快取

這就是我們經常說的快取,其實就和記憶體條上的記憶體顆粒一樣,是一片SDRAM。快取的作用主要是和硬碟內部交換資料,我們平時所說的內部傳輸率其實也就是快取和硬碟內部之間的資料傳輸速率。

2.電源介面

和光碟機一樣,硬碟的電源介面也是由4針組成。其中,紅線所對應的+5V電壓輸入,黃線對應輸出的是+12V電壓。現在的硬碟電源介面都是梯形,不會因為插反方向而使硬碟燒燬。

3.跳線

跳線的作用是使IDE裝置在工作時能夠一致。當一個IDE介面上接兩個裝置時,就需要設定跳線為“主盤”或者“從盤”,具體的設定可以參考硬碟上的說明。

介面

硬碟IDE介面是和主機板IDE介面進行資料交換的通道。我們通常說的UDMA/33模式就是指的快取和主機板IDE介面之間的資料傳輸率(也就是外部資料傳輸率)為33.3MB/s,目前的介面規範已經從UDMA/33發展到UDMA/66和UDMA/100。但是由於內部傳輸率的限制,實際上外部傳輸率達不到理論上的那麼高。

為了使資料傳輸更加可靠,UDMA/66模式要求使用80針的資料傳輸線,增加接地功能,使得高速傳輸的資料不致出錯。在UDMA/66線的使用中還要注意,其蘭色的一端要接在主機板IDE口上,而黑色的一端接在硬碟上。

5.電容

硬碟儲存了大量的資料,為了保證資料傳輸時的安全,需要高質量的電容使電路穩定。這種黃色的鉭電容質量穩定,屬於優質元件,但價格較貴,所以一般用量都比較少,只是在最需要的地方才使用。

6.控制晶片

硬碟的主要控制晶片,負責資料的交換和處理,是硬碟的核心部件之一。硬碟的電路板可以互相換(當然要同型號的),在硬碟不能讀出資料的時候,只要硬碟本身沒有物理損壞且能夠加電,我們就可以通過更換電路板的方式來使硬碟“起死回生”。

  硬碟低階格式化知識介紹

硬碟低格格式化是對硬碟最徹底的初始化方式,經過低格後的硬碟,原來保護的資料將全部丟失,所以一般來說低格硬碟是非常不可取的,只有非常必要的時候才能低格硬碟。而這個所謂的必要時候有兩種,一是硬碟出廠前,硬碟廠會對硬碟進行一次低階格式化;另一個是當硬碟出現某種型別的壞道時,使用低階格式化能起到一定的緩解或者遮蔽作用。

對於第一種情況,這裡不用多說了,因為硬碟出廠前的低格工作只有硬碟工程師們才會接觸到,對於普通使用者而言,根本無須考慮這方面的事情。至於第二種情況,是什麼型別的壞道時才需要低格呢?在說明這個關鍵性問題前,先來看看硬碟壞道的型別。

總的來說,壞道可以分為物理壞道和邏輯壞道。其中邏輯壞道相對比較容易解決,它指硬碟在寫入時受到意久干擾,造成有ECC錯誤。從過程上講,它是指硬碟在寫入資料的時候,會用ECC的邏輯重新組合資料,一般作業系統要寫入512個位元組,但實際上硬碟會多寫幾十個位元組,而且所有的這些位元組都要用ECC進行校驗編碼,如果原始位元組算出的ECC校正碼和讀出位元組算出的ECC不同,這樣就會產生ECC錯誤,這就是所謂的物理壞道產生原因。

至於物理壞道,它對硬碟的損壞更具致命性,它也有軟性和硬性物理壞道的區別,磁碟表面物理損壞就是硬性的,這是無法修復的。而由於外界影響而造成資料的寫入錯誤時,系統也會認為是物理壞道,而這種物理壞道是可以使用一些硬碟工具(例如硬碟廠商提供的檢測修復軟體)來修復,此外,對於微小的硬碟表面損傷,一些硬碟工具(例如西部資料的Data

Lifeguard

Tools)就可以重新定向到一個好的保留扇區來修正錯誤。

對於這些壞道型別,硬性的物理壞道肯定是無法修復的,它是對硬碟表面的一種最直接的損壞,所以即使再低格或者使用硬碟工具也無法修復(除非是非常微小的損壞,部份工具可以將這部份壞道保留不用以此達到解決目的)。

對於硬碟上出現邏輯壞道或者軟性物理壞道,使用者可以試試使用低階格式化來達到遮蔽壞道的作用,但這裡需要指出,遮蔽壞道並不等於消除壞道了,低格硬碟能把原來硬碟內所有分割槽都刪除,但壞道卻依然存在,遮蔽只是將壞道隱藏起來,不讓使用者在儲存資料時使用這些壞道,這樣能在一定程度上保證使用者資料的可靠性,但壞道卻會隨著硬碟分割槽、格式化次數的增長而擴散蔓延。

所以筆者並不推薦使用者對硬碟進行低格,如何硬碟在保修期內最好去保修或者找經銷商換一塊,那可以說是最佳解決方案,也是最徹底的解決方案了。如果硬碟過了保修期不讓換,那可以試試低格硬碟,以防止將資料儲存到壞道導致資料損失。

對於如何進行硬碟低格,一般來說是使用低格工具來操作,這個將在下面的章節中詳細介紹,這裡再說一些相關話題。即低格工具跟硬碟檢測工具是有著本質的區別,低格工具就是對硬碟進行低格的作用,而硬碟檢測工具一般來說是硬碟廠商推出的用來檢測硬碟,及早發現硬碟錯誤,以提醒使用者備份重要資料或者檢修硬碟用的,它不是用於低格硬碟。

  用Debug組合語言進行低階格式化

低階格式化硬碟能完成銷燬硬碟內的資料,所以在操作前一定要謹慎。硬碟低格有許多方法,例如直接在CMOS中對硬碟進行低格,或者使用匯編語言進行硬碟低格,而最常見的莫過於使用一些工具軟體來對硬碟進行低格,常見低格工具有lformat、DM及硬碟廠商們推出的各種硬碟工具等。

彙編是比較低階的一種程式語言,它能非常方便地直接操作硬體,而且執行效率很高,如果軟體系統中需要直接操作硬體時,經常使用的就是組合語言。使用匯編也可以對硬碟進行低階格式化,它比DM等工具軟體顯得更為靈活,具體應用時就是使用debug程式,而具體操作就是在debug環境下,呼叫存放在BIOS中的低階格式化程式(CMOS中直接低格硬碟呼叫的也是此段低格程式)。實現方法通常有如下三種:

(1)、直接呼叫BIOS

ROM中的低格程式

在很多計算機的BIOS

ROM中存放著低格程式,存放地址從C8005H地址開始,具體操作如下:

A:\>Debug

-G

C800

:0005(//這時螢幕顯示資訊(不同版本的BIOS顯示的資訊可能不同),回車後提示:)

Current

Interleave

is

3

select

new

interleave

or

Return

for

current(//這是要求使用者選擇交叉因子,按回車表示取預設值3,也可輸入新的交叉因子值,硬碟的交叉因子一般是3,所以直接回車即可。螢幕接著提示:)

Are

you

dynamically

configuring

the

drive-answer

Y/N

t

Press“Y”to

begin

formatting

the

drive

C:

with

interleave

03(//鍵入“Y”後開始對硬碟進行低格)

Formatting

……(//完成後詢問是否處理壞磁軌)

Do

you

want

to

format

bad

track-answer

Y/N?

若沒有則用“N”回答。螢幕顯示:

Format

Successful,system

will

new

restart,Insert

Dos

diskette

indrive

A:

插入系統盤到A驅動器,即可進行分割槽,高階格式化等操作來安裝系統了。

(2)、通過呼叫INT

13H中斷的7號功能對硬碟進行低格

操作如下:

A:\>DEBUG

-A

100

-XXXX:0100

MOV

AX,0703;(//交叉因子為3)

-XXXX:0103

MOV

CX,0001;(//0磁軌0扇區起)

-XXXX:0106

MOV

DX,0080;(//C盤0磁軌)

-XXXX:0109

INT

13

-XXXX:010B

INT

3

-XXXX:010D

-G

100

這樣硬碟就被低格了。

  筆記本硬碟保養三原則

相信很多人都知道,作為精密機械產品,震動可以說是筆記本硬碟的一大死敵。因為筆記本硬碟內部構造是相當精密的,磁頭離每分鐘數千轉的碟片表面只有幾微米的高度,一旦震動較強烈的話就會出現讀寫異常甚至造成碟片或者磁頭物理性地損傷,導致資料丟失,硬碟損壞。

三星2.5寸金寶筆記本硬碟為了更好地防震,採用了兩項獨有技術——Shock

Skin

Bumper(震動緩衝外殼)和ImpacGuard(防震衛士)。Shock

Skin

Bumper,通過獨特的外殼設計,更好降低周邊震動對硬碟內部器件的影響,使外殼可以承受很高的瞬間壓力,並通過彈性的設計,迅速把震動轉移。ImpacGuard,當硬碟遇到外界很大的壓力(震動產生)的時候,自動讓磁頭歸位到宣停區(landing

zone),而這種磁頭移動並不會對磁碟進行任何的操作,因此可以更好的保護磁碟上的檔案。

然而,儘管有技術做保證,但也只是最大限度地降低了震動對筆記本硬碟的損害,如果使用者認為僅憑技術就能完美防震,肯定是錯誤的,關鍵還是要靠使用者自己注意。平時儘量做到在關機十幾秒硬碟完全停轉後再移動主機;在筆記本硬碟的安裝、拆卸過程中也要多加小心;移動、運輸硬碟時更應嚴禁磕碰,最好用泡沫或海綿包裝保護一下,儘量減少震動。

  保養本本硬碟三原則之二

忌斷電

從硬碟工作角度來講,現時筆記本硬碟的轉速大都是5400轉,在進行讀寫時,整個碟片處於高速旋轉狀態中,如果忽然切斷電源,將使得磁頭與碟片猛烈磨擦,從而導致筆記本硬碟出現壞道甚至損壞。對此,三星2.5寸金寶筆記本硬碟採用了穩定性更高的巨磁阻GMR磁頭,並針對斷電而採用配備斷電磁頭保護技術,具備自動回位和斷電保護功能,降低了斷電對筆記本硬碟的傷害,這對緩解那些因為非人為因素造成的斷電(比如電力所統一停電等)而導致的硬碟傷害算是頗具“療效”。

但任何技術都敵不過人為破壞。尤其對於一些使用者而言,使用筆記本時不注意電池時長,造成強制斷電的事兒時有發生,甚至有些人因為宕機也會強行拔插電源,久而久之,必成大患。對此,需要提醒使用者的是,多留意,多小心,儘量避免強制斷電。關機時,一定要在硬碟已經完成讀寫操作之後,按照正常的程式關閉電腦。

  保養本本硬碟三原則之三

防高溫

溫度的高低也是筆記本硬碟的一大天敵。事實上,筆記本硬碟的工作狀況與使用壽命跟溫度有很大的聯絡,硬碟使用中溫度以20~25℃為宜,溫度過高或過低都會使晶振的時鐘頻率發生變化,重者還會造成筆記本硬碟中電路元件失靈,儲存介質也會因熱脹效應而造成記錄錯誤。而溫度過低,空氣中的水分會被凝結在積體電路元件上,造成非常嚴重的短路。

三星在散熱方面一向做得不錯,在行業內也是有口皆碑。在三星2.5寸金寶筆記本硬碟的設計中,三星採用了低能耗設計,同時利用了更加合理的空氣流設計,充分的降低了硬碟的發熱量,保證了使用者更安全更穩定更長久的使用硬碟。

不過,使用者還是要避免長時間(超過12小時)連續使用筆記本;也儘量別放在被子、腿上使用筆記本,以免堵住通風道。

談完了三原則,還有其它注意事項,諸如遠離強磁場,避免潮溼環境,避免頻繁操作,定期整理磁碟碎片等。但上述三項,則最為重要,尤其是震動,稱其是“硬碟殺手”當之無愧。誰都不想讓自己的愛本出現問題,因此日常生活工作還是要多多維護。畢竟“養本千日,用本一時”,筆記本硬碟是很嬌氣的,多加保養準沒錯。2007年6月,博科思代理的三星2.5英寸金寶硬碟將啟用第二代800防偽標識,消費者一定要注意辨別,具體識別方法諮詢電話8008303156,也可以登陸進行查詢

  硬碟常見故障及其處理方法

1.電源引起的硬碟不能正常起動

計算機電源輸出的電壓分別是+5V和+12V。硬碟啟動需要+12V電壓和4A的電流,硬碟工作時的電流為1.1A。軟盤的啟動僅需+10V左右的電壓和1.3A電流,而工作電流為0.5A。計算機電源的輸出電壓不足+12V,則硬碟就不能啟動和工作。處理這類故障,就要使電源輸出恢復到+12V電壓。

2.主機板電池電壓不足引起的硬碟無法啟動

這是主機板上的充電電池失效引起主機引數紊亂而產生的故障。主機板上的充電電池(一般是鋰電池)是當主機關機時用來儲存機器時鐘、日期,軟盤驅動器的個數、型別,硬碟個數、型別,顯示器方式,記憶體容量,擴充套件容量等系統引數的。當開機上電自檢時,BIOS自動檢測CMOS中的引數表,如果不匹配,則出現宕機。鋰電池的工作電壓為+3V~+6V。如果電池電壓不足+3V或電池失效,則硬碟無法被識別。

3.硬碟引數錯誤導致的硬碟不能啟動

硬碟引數有硬碟容量大小、磁頭數、磁軌數、扇區數等多種。不同廠家生產的硬碟,其引數值各不相同。如果硬碟引數值設定錯誤,則硬碟就啟動不了。這時需要重新設定硬碟的磁頭數、磁軌數、扇區數等值。方法是:首先開機後待自檢開始,按下DEL鍵,即可進入CMOS

SETUP設定狀態。然後,對COMS中的引數進行設定:選擇STANDARD

CMOS

SETUP欄目中的TYPE項,填入正確的TYPE值。一般的主機板都有硬碟自檢測功能。進入CMOS

SETUP設定選單中,選擇“IDE

HDD

AUTO

DETECTION”即可。

4.硬碟0磁軌被破壞引起的故障

DOS作業系統放在硬碟的0磁軌上?如果硬碟的0磁軌物理性損壞,硬碟便不工作。

一般採用的修復方法是:首先儘量把硬碟有用的檔案、資料備份出來。由於硬碟0磁軌的損壞,硬碟中的資料、檔案已不能按正常備份方法備份,需用BIOS中斷方法按扇區逐一備份;然後對整個硬碟做格式化,再用FDISK對硬碟重新分割槽,最後用FORMAT對硬碟作邏輯格式化,裝上DOS作業系統和有關檔案、資料即可。

若用上述方法修復無效,則先用KV300防毒盤啟動、防毒,再用A:系統盤啟動,執行SCANDISK掃描C盤,若在第一簇出現一個紅色的“B”,表明零磁軌損壞。然後用PCTOOLS

9.0中的DE(該軟體能看到各個分割槽在硬碟的起始點),執行PCT90目錄下的DE.EXE,報告現在執行在只讀模式,選Op-tions選單

→Configuration,按空格去掉Read

Only前面的√,儲存後退出。選主選單Select→Drive;進入後在Drive

type→Physical,按空格選定,再按TTab鍵切換到Druves項,選中harddisk,然後選OK回車。此後回到主選單,開啟Select選單,這時會出現Partiton

Table,選中之後出現硬碟分割槽表資訊。該分割槽是從硬碟的0柱面開始的,那麼,將分割槽的Beginning

Cylinder的0改成1即可?儲存後退出。重新啟動,按Delete鍵進入CMOS設定,進行“IDE

HDD

AUTO

DETECTIOND(也可以看到CYLS數變少)",儲存後退出,此時再對硬碟重新分割槽,格式化,裝上相應的軟體即可。

  硬碟邏輯鎖解決方法

一·序言

不知道你是否曾碰到過從軟盤和硬碟都啟動不了計算機的情形?一般計算機的硬碟分割槽表被病毒感染後,若不能啟動機子,通常從軟盤可以啟動。但在嚴重的情形下,不但從硬碟不能啟動機子,就是從軟盤也不能啟動。有的惡毒的病毒就能使硬碟被死鎖。筆者一次在自己機子上玩弄硬碟鎖時,就被鎖住過一次。結果在硬碟下選擇DOS或WIN95模式啟動機子都宕機,在軟盤下用DOS啟動也宕機;在COMS中將硬碟型別選擇None,雖然可以從軟盤啟動,但啟動後沒有硬碟,使用軟盤上的FDISK命令,想重新分割槽或格式化都沒門。弄得我一籌莫展。

本來,硬碟被鎖住時,可以採用3.0以下的DOS版本啟動機子,機子啟動後雖然也不認硬碟,但其不認的原因在於其管理不了現在的大硬碟,因此可以用Debug修改硬碟分割槽表,修改後可以啟動。但在已進入WINDOWS的年代,3.0以下的DOS實難找到,即使找到,你的機子上恐怕也因沒有5寸軟碟機而不能使用。因此,最好的辦法是編制一個程式來解決這個問題。筆者通過嘗試和思考,找到一種比較實用的方法,可以輕鬆解開死鎖的硬碟,當然也把自己的硬碟解開了。下面,我將這種方法介紹出來。

二·硬碟鎖住原理

硬碟鎖住通常是對硬碟的分割槽表做手腳,因此首先應該瞭解硬碟的分割槽表。硬碟分割槽表位於0柱面0磁頭1區,這個扇區的前面200多個位元組是主載入程式,後面從01BEH開始的64個位元組是分割槽表。分割槽表共64位元組,分為4欄,每欄16位元組,用來描述一個分割槽。如果是用DOS的FDISK程式分割槽後,最多隻用兩欄,第一欄描述基本的DOS分割槽,第二欄描述擴充套件的DOS分割槽。

分割槽表一欄的結構與各位元組的含義如下:

00H-標誌活動位元組,活動DOS分割槽為80H,其它為00H。

01H-本分割槽邏輯0扇區所在的磁頭號。

02H-邏輯0扇區所在柱面中的扇區號。

03H-邏輯0扇區所在的柱面號。

04H-分割槽型別標誌。

05H-本分割槽最後一個扇區的磁頭號。

06H-最後一個扇區的扇區號。

07H-最後一個柱面的柱面號。

08H-硬碟上在本分割槽之前的扇區總數,用雙字表示。

0CH-本分割槽的扇區總數,從邏輯0扇區計數,不含隱藏扇區,用雙字表示。

在上面的介紹中給出的柱面號與扇區號雖然各佔一個位元組,但實際上扇區號用6位表示,柱面號用10位表示,扇區號所在位元組的最高兩位實際上是柱面號的最高兩位。

分割槽表的最後兩個位元組是分割槽表的有效標誌,如果將其改變,將不能從硬碟啟動,這是一種簡單的鎖住硬碟的方法。解決的辦法是從軟盤啟動,啟動後硬碟仍然可以使用。用Debug或Noratn中的Diskedit軟體將硬碟該分割槽表中的標誌恢復,則從硬碟啟動也沒有問題了。鎖住硬碟的另一種方法是對分割槽引數做手腳,如果將分割槽引數全部變為0,則啟動時由於找不到分割槽引數,從硬碟是沒法啟動,從軟盤啟動後也不認硬碟,如果你敲入碟符C並回車,將出現提示Invalid

driver

specification。但所幸的是,畢竟可以啟動機子,不認硬碟沒關係,在A盤上用DOS的Debug仍然可以讀出硬碟0柱面0磁頭1扇區的內容,修改後再寫入0柱面0磁頭1扇區,重新啟動機子又沒問題了。如果將分割槽表引數隨意改為其它引數,則有可能不能用可以安裝DOS的DOS系統盤啟動,按F3退出後將出現記憶體分配錯誤,不能裝載DOS的命令直譯器COMMAND的提示,系統就宕機了,筆者就曾碰見過這種情形。但用一張格式化成系統盤的軟盤則可以順利啟動,只要有Debug,你仍然可以將分割槽表引數修改回去。可怕的事情是,如果你不幸將分割槽表引數改成一個迴圈鏈,即C盤的下一個分割槽指向D驅,D驅的下一個分割槽又指向C區,這樣迴圈下去,DOS啟動或WIN95啟動時由於無休止的讀取邏輯驅動器,就只有宕機的份了。這是隻要有硬碟存在,不管你用軟盤還是硬碟都沒法啟動機子了,由於不能啟動是由於硬碟造成的,即使你將硬碟下到其它計算機上,也沒法使用,這樣硬碟就徹底被鎖死了,筆者所遭遇就是此情形。不信,你只需將硬碟0柱面0磁頭1扇區的1D0H處改為1(如果你的D驅開始柱面號不夠大,此處本來就為1),將1D1H處改為0,表示D盤的開始柱面號跟C盤一樣,看看你的計算機還能不能啟動,不過你在沒有充分的準備前絕不要試。

一個完整的硬碟鎖程式,不過是重新改寫0柱面0磁頭1扇區的載入程式,並將分割槽表破壞或故意製造一個迴圈分割槽表,而將真正的硬碟分割槽表引數和載入程式放在其它隱藏扇區並保護起來,如果啟動時口令不對,則不能啟動機子,口令對了則順利啟動。這種硬碟鎖程式,情形好的還可以用軟盤啟動;情形嚴重的就是連軟盤也不能啟動,硬碟真被鎖住。

三·解開硬碟鎖的程式法

如果硬碟被鎖死,是否真的就無法解開呢?當然不是。看看問題的癥結所在,根源在於DOS中的檔案,它包含LOADER、IO1、IO2、IO3四個模組,其中IO1中包含有一個很關鍵的程式SysInt_I,它在啟動中很固執,非要去讀分割槽表,而且不把分割槽表讀完誓不罷休。如果碰上分割槽表是迴圈的,它就只有宕機了。這是DOS的脆弱性和不完備性。其實這也不能怪DOS,因為DOS為了獲得硬碟使用權,就必需讀分割槽表引數,而且DOS還約定驅動器號不能超過26,只不過沒有考慮到此等迴圈分割槽表情形。一句話,機子不能啟動不過是DOS作業系統造成的,如果另寫一個作業系統,或許就能啟動機子。當然這只是說個笑話。

明白了病因在於DOS,問題就好辦了。DOS啟動中不是要讀硬碟分割槽表嗎?我不讓你讀分割槽表甚至連硬碟都不讓你讀,不就可以順利啟動了。的確是這樣的,開硬碟鎖的程式實現方法就是基於這個思想形成的。當然,這隻有從軟盤啟動著手了。

看看計算機的啟動過程,上電首先進行的多項硬體自測跟我們沒有關係,我們關心的只是它最開始和磁碟打交道時是幹什麼。如果選擇從硬碟啟動,則計算機和磁碟最開始打交道是將硬碟0柱面0磁頭1扇區的內容讀入記憶體0000:7C00處並跳到0000:7C00處執行;如果選擇從軟盤啟動,則計算機和磁碟最開始打交道是將A盤0磁軌0磁頭1扇區的內容讀入記憶體0000:7C00處並跳到0000:7C00處執行,在執行過程中,計算機並不檢查該扇區的內容是什麼,只機械地執行讀命令,這使得許多系統型病毒得以生存。但利用這一點,恰恰使我們的程式解鎖法有了用武之地。如果我們用DOS格式化一張可以啟動機子的系統軟盤,將該軟盤的0磁軌0磁頭1扇區的內容移到後面的空白扇區中,而重新寫一段程式到該軟盤的0磁軌0磁頭1扇區,這樣用軟盤啟動時首先執行的是我們所寫的程式了。在這段程式中,具備這樣一些功能:在DOS啟動前搶先攔截INT

13H,駐留高階記憶體並監視INT

13H,判斷是否讀硬碟,如果是讀硬碟就直接返回,這樣就禁止了讀硬碟,也就避免了DOS讀硬碟迴圈分割槽表造成的宕機;同時攔截對軟盤的讀取,如果讀軟盤的0磁軌0磁頭1扇區,就改成讀真正有載入程式和磁碟引數表的扇區,免得DOS在啟動中找不到軟盤的磁碟引數表而宕機。完成這些任務的同時,還要讀取軟盤真正的載入程式並把控制權交給它。

該方法可以稱為萬能的,因為它在用軟盤啟動中,始終不與硬碟打交道,這樣不管你硬碟用什麼方法加鎖了,對DOS的啟動都沒有影響。當然,這樣啟動的機子是不認硬碟的,但這沒有關係。你可在機子啟動後,用Debug調出駐留高階記憶體的新INT

13H程式,將其改為只有一條直接執行舊INT

13H的語句,這樣在Debug下可以用INT

13H讀取硬碟0柱面0磁頭1扇區的內容,如果你有備份,將分割槽表引數恢復後再寫入0柱面0磁頭1扇區,重新啟動計算機就可以了。如果實在沒有備份,去掉分割槽表中的迴圈鏈,用正常DOS啟動盤重啟機子後至少也可以重新對硬碟分割槽,不至於硬碟被鎖住打不開了。

四·程式及說明

1·下面是寫入軟盤0磁軌0頭1扇區的源程式,程式用debug輸入。

C>debug

-a100

100

CLI

101

XOR

AX,AX

103

MOV

DS,AX

105

MOV

ES,AX

107

MOV

SS,AX

109

MOV

AX,7C00

10C

MOV

SP,AX

10E

STI

10F

MOV

SI,AX

111

MOV

DI,7E00

114

CLD

115

MOV

CX,0200

118

REPNZ

119

MOVSB

11A

JMP

0000:7E1F

11F

MOV

CX,0003

122

PUSH

CX

123

MOV

AX,0201;讀啟動軟盤的引導扇區

126

MOV

BX,7C00

129

MOV

CX,4F01

12C

MOV

DX,0100

12F

INT

13

131

POP

CX

132

DEC

CX

133

JNZ

0122

135

MOV

AX,[004C];搶先獲取INT

13H的位置

138

MOV

[7E88],AX

13B

MOV

AX,[004E]

13E

MOV

[7E8A],AX

141

MOV

AX,[0413]

144

DEC

AX

145

MOV

[0413],AX

148

MOV

CL,06

14A

SHL

AX,CL

14C

MOV

ES,AX

14E

XOR

AX,AX

150

MOV

DS,AX

152

MOV

SI,7E6D;複製改寫的INT

13H程式到高階記憶體

155

MOV

DI,0000

158

MOV

CX,0030

15B

REPNZ

015C

MOVSB

015D

MOV

AX,0000;將新INT

13H位置寫入中斷向量表

0160

MOV

[004C],AX

0163

MOV

AX,ES

0165

MOV

[004E],AX

0168

JMP

0000:7C00

016D

PUSHF;新INT

13H程式

016E

CMP

DX,0080;是否是硬碟

0172

JNZ

0176;不是硬碟則繼續

0174

POPF

0175

IRET;是硬碟則直接返回

0176

CMP

DX,+00;是否讀軟盤BOOT區?

0179

JNZ

0186

017B

CMP

CX,+01

017E

JNZ

0186

0180

MOV

CX,4F01;是則讀79磁軌1磁頭1扇區

0183

MOV

DX,0100

0186

POPF

0187

JMP

0000:0000;此處跳轉去執行舊INT

13,

;舊INT

13H的位置由前面程式獲得後寫入。

N

RCX

200

W

Q

2·程式的裝載

在進行下面工作前,先用DOS格式化一張啟動的系統盤,並保證沒有壞扇區,最好進行啟動測試,確保其可以啟動機子。由於現在機子上大多隻有3寸軟碟機,因此選擇1.44M的3.5寸軟盤。然後用debug

將程式調入記憶體偏移地址為100H,同時在400H處寫入一段裝載程式。即:

C>debug

-a400

400

MOV

CX,0003

403

PUSH

CX

404

MOV

AX,0201;將A盤載入程式讀入記憶體1000H處

407

MOV

BX,1000;為確保成功,首次採用重複讀3次

40A

MOV

CX,0001

40D

MOV

DX,0000

410

INT

13

412

POP

CX

413

DEC

CX

414

JNZ

0403

416

MOV

AX,0301;將已讀入記憶體的軟盤載入程式寫入軟盤

419

MOV

BX,1000;最後一個磁軌的首扇區

41C

MOV

CX,4F01

41F

MOV

DX,0100

422

INT

13

424

MOV

AX,0301;將程式寫入軟盤0磁軌0磁頭1扇區

427

MOV

BX,0100

42A

MOV

CX,0001

42D

MOV

DX,0000

430

INT

13

432

INT

3

為保證萬無一失,最好將軟盤這兩個扇區的內容重新讀出來看一看,以保證寫成功了。做好這一切,保險的還是進行一次測試,即用該軟盤啟動一次機子,看能否成功,若成功啟動,你就可以用迴圈分割槽表法鎖住硬碟,看從正常DOS下能否啟動,然後再用此軟盤啟動機子試試,看看功效如何?

從該軟盤啟動後,不認硬碟,並且在高階記憶體駐留了新INT

13H程式,該段程式實際上是中從16D到187部分。由於有此段程式存在,在debug下也無法讀硬碟,也就沒法恢復硬碟分割槽表,因此機子啟動後首先應修改這段程式。現在的機子基本記憶體通常都為640K,這樣這段程式就位於記憶體中9FC0:0000處,在debug下,用U9FC0:0顯示這段程式,可以看到位於9FC0:001A處是一條跳轉指令,該跳轉指令即轉去執行最原始的INT

13H。由於BIOS版本不一樣,跳轉指令指向的位置可能不一樣,如筆者機子上是一條JMP

F000:A5D4語句。這時在在debug下編寫這樣一語句:a9FC0:0

JMP

F000:A5D4。這樣,對硬碟的禁寫與禁讀都不再起作用了,在debug下用INT

13H的2號子功能可以讀出硬碟分割槽表,修改恢復後再用3號子功能將資料寫回分割槽表。退出debug,重新用正常DOS啟動計算機,就可以了。

附帶提一下,在正常DOS下,該軟盤由於沒有BOOT區,也就沒有磁碟引數表,從而不能使用,用DIR

A:命令會出現General

failure

reading

drive

A提示。不要理睬它,這並不影響它作特殊啟動盤。

五·建議

為更好的保護你的硬碟,筆者建議你最好將你的硬碟分割槽表資訊備份起來。備份有兩種方式,一種是以檔案形式將硬碟每個邏輯盤的分割槽資訊儲存起來;另一種是將分割槽資訊備份在硬碟隱藏扇區裡。比如可以將0柱面0磁頭1扇區備份在0柱面0磁頭3扇區,將D盤開始柱面號0磁頭1扇區備份在該柱面0磁頭3扇區,其它邏輯盤也如此。這種方法簡單、方便,也很可靠。用NORTAN中的DISKEDI很容易操作和實現。有了備份分割槽表資訊,就不怕破壞分割槽表的病毒了;再加上我給你的程式,即使有人真鎖住了你的硬碟,你也可以輕而易舉解開了。