- 相關(guān)推薦
一分鐘教會(huì )菜鳥(niǎo)認識硬盤(pán)
1.硬盤(pán)邏輯壞道可以修復,而物理壞道不可修復。實(shí)際情況是,壞道并不分為邏輯壞道和物理壞道,不知道誰(shuí)發(fā)明這兩個(gè)概念,反正廠(chǎng)家提供的技術(shù)資料中都沒(méi)有這樣的概念,倒是分為按邏輯地址記錄的壞扇區和按物理地址記錄的壞扇區。
2.硬盤(pán)出廠(chǎng)時(shí)沒(méi)有壞道,用戶(hù)發(fā)現壞道就意味著(zhù)硬盤(pán)進(jìn)入危險狀態(tài)。實(shí)際情況是,每個(gè)硬盤(pán)出廠(chǎng)前都記錄有一定數量的壞道,有些數量甚至達到數千上萬(wàn)個(gè)壞扇區,相比之下,用戶(hù)發(fā)現一兩個(gè)壞道算多大危險?
3.硬盤(pán)不認盤(pán)就沒(méi)救,0磁道壞可以用分區方法來(lái)解決。實(shí)際情況是,有相當部分不認的硬盤(pán)也可以修好,而0磁道壞時(shí)很難分區。
Bad
sector
(壞扇區)
在硬盤(pán)中無(wú)法被正常訪(fǎng)問(wèn)或不能被正確讀寫(xiě)的扇區都稱(chēng)為Bad
sector。一個(gè)扇區能存儲512Bytes的數據,如果在某個(gè)扇區中有任何一個(gè)字節不能被正確讀寫(xiě),則這個(gè)扇區為Bad
sector。除了存儲512Bytes外,每個(gè)扇區還有數十個(gè)Bytes信息,包括標識(ID)、校驗值和其它信息。這些信息任何一個(gè)字節出錯都會(huì )導致該扇區變“Bad”。例如,在低級格式化的過(guò)程中每個(gè)扇區都分配有一個(gè)編號,寫(xiě)在ID中。如果ID部分出錯就會(huì )導致這個(gè)扇區無(wú)法被訪(fǎng)問(wèn)到,則這個(gè)扇區屬于Bad
sector。有一些Bad
sector能夠通過(guò)低級格式化重寫(xiě)這些信息來(lái)糾正。
Bad
cluster
(壞簇)
在用戶(hù)對硬盤(pán)分區并進(jìn)行高級格式化后,每個(gè)區都會(huì )建立文件分配表(File
Allocation
Table,
FAT)。FAT中記錄有該區內所有cluster(簇)的使用情況和相互的鏈接關(guān)系。如果在高級格式化(或工具軟件的掃描)過(guò)程中發(fā)現某個(gè)cluster使用的扇區包括有壞扇區,則在FAT中記錄該cluster為Bad
cluster,并在以后存放文件時(shí)不再使用該cluster,以避免數據丟失。有時(shí)病毒或惡意軟件也可能在FAT中將無(wú)壞扇區的正常cluster標記為Bad
cluster,
導致正常cluster不能被使用。
這里需要強調的是,每個(gè)cluster包括若干個(gè)扇區,只要其中存在一個(gè)壞扇區,則整個(gè)cluster中的其余扇區都一起不再被使用.
Defect
(缺陷)
在硬盤(pán)內部中所有存在缺陷的部分都被稱(chēng)為Defect。
如果某個(gè)磁頭狀態(tài)不好,則這個(gè)磁頭為Defect
head。
如果盤(pán)面上某個(gè)Track(磁道)不能被正常訪(fǎng)問(wèn),則這Track為Defect
Track.
如果某個(gè)扇區不能被正常訪(fǎng)問(wèn)或不能正確記錄數據,則該扇區也稱(chēng)為Defect
Sector.
可以認為Bad
sector
等同于
Defect
sector.
從總的來(lái)說(shuō),某個(gè)硬盤(pán)只要有一部分存在缺陷,就稱(chēng)這個(gè)硬盤(pán)為Defect
hard
disk.
P-list
(永久缺陷表)
現在的硬盤(pán)密度越來(lái)越高,單張盤(pán)片上存儲的數據量超過(guò)40Gbytes.
硬盤(pán)廠(chǎng)家在生產(chǎn)盤(pán)片過(guò)程極其精密,但也極難做到100%的完美,硬盤(pán)盤(pán)面上或多或少存在一些缺陷。廠(chǎng)家在硬盤(pán)出廠(chǎng)前把所有的硬盤(pán)都進(jìn)行低級格式化,在低級格式化過(guò)程中將自動(dòng)找出所有defect
track和defect
sector,記錄在P-list中。并且在對所有磁道和扇區的編號過(guò)程中,將skip(跳過(guò))這些缺陷部分,讓用戶(hù)永遠不能用到它們。這樣,用戶(hù)在分區、格式化、檢查剛購買(mǎi)的新硬盤(pán)時(shí),很難發(fā)現有問(wèn)題。一般的硬盤(pán)都在P-list中記錄有一定數量的defect,
少則數百,多則數以萬(wàn)計。如果是SCSI硬盤(pán)的話(huà)可以找到多種通用軟件查看到P-list,因為各種牌子的SCSI硬盤(pán)使用兼容的SCSI指令集。而不同牌子不同型號的IDE硬盤(pán),使用各自不同的指令集,想查看其P-list要用針對性的專(zhuān)業(yè)軟件。
G-list
(增長(cháng)缺陷表)
用戶(hù)在使用硬盤(pán)過(guò)程中,有可能會(huì )發(fā)現一些新的defect
sector。
按“三包”規定,只要出現一個(gè)defect
sector,商家就應該為用戶(hù)換或修,F在大容量的硬盤(pán)出現一個(gè)defect
sector概率實(shí)在很大,這樣的話(huà)硬盤(pán)商家就要為售后服務(wù)忙碌不已了。于是,硬盤(pán)廠(chǎng)商設計了一個(gè)自動(dòng)修復機制,叫做Automatic
Reallcation。有大多數型號的硬盤(pán)都有這樣的功能:在對硬盤(pán)的讀寫(xiě)過(guò)程中,如果發(fā)現一個(gè)defect
sector,則自動(dòng)分配一個(gè)備用扇區替換該扇區,并將該扇區及其替換情況記錄在G-list中。這樣一來(lái),少量的defect
sector對用戶(hù)的使用沒(méi)有太大的影響。
也有一些硬盤(pán)自動(dòng)修復機制的激發(fā)條件要嚴格一些,需要用某些軟件來(lái)判斷defect
sector,并通過(guò)某個(gè)端口(據說(shuō)是50h)調用自動(dòng)修復機制。比如常用的Lformat,
ADM,DM中的Zero
fill,Norton中的Wipeinfo和校正工具,西數工具包中的wddiag,
IBM的DFT中的Erase等。這些工具之所以能在運行過(guò)后消除了一些“壞道”,很重要的原因就在這Automatic
Reallcation(當然還有其它原因),而不能簡(jiǎn)單地概括這些“壞道”是什么“邏輯壞道”或“假壞道”。
如果哪位被誤導中毒太深的讀者不相信這個(gè)事實(shí),等他找到能查看G-list的專(zhuān)業(yè)工具后就知道,這些工具運行過(guò)后,G-list將會(huì )增加多少記錄!“邏輯壞道”或“假壞道”有必要記錄在G-list中并用其它扇區替換么?
當然,G-list的記錄不會(huì )無(wú)限制,所有的硬盤(pán)都會(huì )限定在一定數量范圍內。如火球系列限度是500,美鉆二代的限度是636,西數BB的限度是508,等等。超過(guò)限度,Automatic
Reallcation就不能再起作用。這就是為何少量的“壞道”可以通過(guò)上述工具修復(有人就概括為:“邏輯壞道”可以修復),而壞道多了不能通過(guò)這些工具修復(又有人概括為:“物理壞道”不可以修復)。
Bad
track
(壞道)
這個(gè)概念源于十多年前小容量硬盤(pán)(100M以下),當時(shí)的硬盤(pán)在外殼上都貼有一張小表格,上面列出該硬盤(pán)中有缺陷的磁道位置(新硬盤(pán)也有)。在對這個(gè)硬盤(pán)進(jìn)行低級格式化時(shí)(如用ADM或DM
5.0等工具,或主板中的低格工具),需要填入這些Bad
track的位置,
以便在低格過(guò)程中跳過(guò)這些磁道,F在的大容量硬盤(pán)在結構上與那些小容量硬盤(pán)相差極大,這個(gè)概念用在大容量硬盤(pán)上有點(diǎn)牽強。
深入了解硬盤(pán)參數
正常情況下,硬盤(pán)在接通電源之后,都要進(jìn)行“初始化”過(guò)程(也可以稱(chēng)為“自檢”)。這時(shí),會(huì )發(fā)出一陣子自檢聲音,這些聲音長(cháng)短和規律視不同牌子硬盤(pán)而各不一樣,但同型號的正常硬盤(pán)的自檢聲音是一樣的。
有經(jīng)驗的人都知道,這些自檢聲音是由于硬盤(pán)內部的磁頭尋道及歸位動(dòng)作而發(fā)出的。為什么硬盤(pán)剛通電就需要執行這么多動(dòng)作呢?簡(jiǎn)單地說(shuō),是硬盤(pán)在讀取的記錄在盤(pán)片中的初始化參數。
一般熟悉硬盤(pán)的人都知道,硬盤(pán)有一系列基本參數,包括:牌子、型號、容量、柱面數、磁頭數、每磁道扇區數、系列號、緩存大小、轉速、S.M.A.R.T值等。其中一部分參數就寫(xiě)在硬盤(pán)的標簽上,有些則要通過(guò)軟件才能測出來(lái)。這些參數僅僅是初始化參數的一小部分,盤(pán)片中記錄的初始化參數有數十甚至數百個(gè)!硬盤(pán)的CPU在通電后自動(dòng)尋找BIOS中的啟動(dòng)程序,然后根據啟動(dòng)程序的要求,依次在盤(pán)片中指定的位置讀取相應的參數。如果某一項重要參數找不到或出錯,啟動(dòng)程序無(wú)法完成啟動(dòng)過(guò)程,硬盤(pán)就進(jìn)入保護模式。在保護模式下,用戶(hù)可能看不到硬盤(pán)的型號與容量等參數,或者無(wú)法進(jìn)入任何讀寫(xiě)操作。近來(lái)有些系列的硬盤(pán)就是這個(gè)原因而出現類(lèi)似的通病,如:FUJITSU
MPG系列自檢聲正常卻不認盤(pán),MAXTOR美鉆系列認不出正確型號及自檢后停轉,WD
BB
EB系列能正常認盤(pán)卻拒絕讀寫(xiě)操作等。
不同牌子不同型號的硬盤(pán)有不同的初始化參數集,以較熟悉的Fujitsu硬盤(pán)為例,高朋簡(jiǎn)要地講解其中一部分參數,以便讀者理解內部初始化參數的原理。
通過(guò)專(zhuān)用的程序控制硬盤(pán)的CPU,根據BIOS程序的需要,依次讀出初始化參數集,按模塊分別存放為69個(gè)不同的文件,文件名也與BIOS程序中調用到的參數名稱(chēng)一致。其中部分參數模塊的簡(jiǎn)要說(shuō)明如下:
DM硬盤(pán)內部的基本管理程序
PL永久缺陷表
TS缺陷磁道表
HS實(shí)際物理磁頭數及排列順序
SM最高級加密狀態(tài)及密碼
SU用戶(hù)級加密狀態(tài)及密碼
CI
硬件信息,包括所用的CPU型號,BIOS版本,磁頭種類(lèi),磁盤(pán)碟片種類(lèi)等
FI生產(chǎn)廠(chǎng)家信息
WE寫(xiě)錯誤記錄表
RE讀錯誤記錄表
SI容量設定,指定允許用戶(hù)使用的最大容量(MAX
LBA),轉換為外部邏輯磁頭數(一般為16)和邏輯每磁道扇區數(一般為63)
ZP區域分配信息,將每面盤(pán)片劃分為十五個(gè)區域,各個(gè)區域上分配的不同的扇區數量,從而計算出最大的物理容量。
這些參數一般存放在普通用戶(hù)訪(fǎng)問(wèn)不到的位置,有些是在物理零磁道以前,可以認為是在負磁道的位置?赡苊總(gè)參數占用一個(gè)模塊,也可能幾個(gè)參數占用同一模塊。模塊大小不一樣,有些模塊才一個(gè)字節,有些則達到64K字節。這些參數并不是連續存放的,而是各有各的固定位置。
讀出內部初始化參數表后,就可以分析出每個(gè)模塊是否處于正常狀態(tài)。當然,也可以修正這些參數,重新寫(xiě)回盤(pán)片中指定的位置。這樣,就可以把一些因為參數錯亂而無(wú)法正常使用的硬盤(pán)“修復”回正常狀態(tài)。
如果讀者有興趣進(jìn)一步研究,不妨將硬盤(pán)電路板上的ROM芯片取下,用寫(xiě)碼機讀出其中的BIOS程序,可以在程序段中找到以上所列出的參數名稱(chēng)。
硬盤(pán)修復之低級格式化
熟悉硬盤(pán)的人都知道,在必要的時(shí)候需要對硬盤(pán)做“低級格式化”(下面簡(jiǎn)稱(chēng)“低格”)。進(jìn)行低格所使用的工具也有多種:有用廠(chǎng)家專(zhuān)用設備做的低格,有用廠(chǎng)家提供的軟件工具做的低格,有用DM工具做的低格,有用主板BIOS中的工具做的低格,有用Debug工具做的低格,還有用專(zhuān)業(yè)軟件做低格……
不同的工具所做的低格對硬盤(pán)的作用各不一樣。有些人覺(jué)得低格可以修復一部分硬盤(pán),有些人則覺(jué)得低格十分危險,會(huì )嚴重損害硬盤(pán)。用過(guò)多種低格工具,認為低格是修復硬盤(pán)的一個(gè)有效手段。下面總結一些關(guān)于低格的看法,與廣大網(wǎng)友交流。
大家關(guān)心的一個(gè)問(wèn)題:“低格過(guò)程到底對硬盤(pán)進(jìn)行了什么操作?”實(shí)踐表明低格過(guò)程有可能進(jìn)行下列幾項工作,不同的硬盤(pán)的低格過(guò)程相差很大,不同的軟件的低格過(guò)程也相差很大。
A.
對扇區清零和重寫(xiě)校驗值
低格過(guò)程中將每個(gè)扇區的所有字節全部置零,并將每個(gè)扇區的校驗值也寫(xiě)回初始值,這樣可以將部分缺陷糾正過(guò)來(lái)。譬如,由于扇區數據與該扇區的校驗值不對應,通常就被報告為校驗錯誤(ECC
Error)。如果并非由于磁介質(zhì)損傷,清零后就很有可能將扇區數據與該扇區的校驗值重新對應起來(lái),而達到“修復”該扇區的功效。這是每種低格工具和每種硬盤(pán)的低格過(guò)程最基本的操作內容,同時(shí)這也是為什么通過(guò)低格能“修復大量壞道”的基本原因。另外,DM中的Zero
Fill(清零)操作與IBM
DFT工具中的Erase操作,也有同樣的功效。
B.
對扇區的標識信息重寫(xiě)
在多年以前使用的老式硬盤(pán)(如采用ST506接口的硬盤(pán)),需要在低格過(guò)程中重寫(xiě)每個(gè)扇區的標識(ID)信息和某些保留磁道的其他一些信息,當時(shí)低格工具都必須有這樣的功能。但現在的硬盤(pán)結構已經(jīng)大不一樣,如果再使用多年前的工具來(lái)做低格會(huì )導致許多令人痛苦的意外。難怪經(jīng)常有人在痛苦地高呼:“危險!切勿低格硬盤(pán)!我的硬盤(pán)已經(jīng)毀于低格!”
C.
對扇區進(jìn)行讀寫(xiě)檢查,并嘗試替換缺陷扇區
有些低格工具會(huì )對每個(gè)扇區進(jìn)行讀寫(xiě)檢查,如果發(fā)現在讀過(guò)程或寫(xiě)過(guò)程出錯,就認為該扇區為缺陷扇區。然后,調用通用的自動(dòng)替換扇區(Automatic
reallocation
sector)指令,嘗試對該扇區進(jìn)行替換,也可以達到“修復”的功效。
D.
對所有物理扇區進(jìn)行重新編號
編號的依據是P-list中的記錄及區段分配參數(該參數決定各個(gè)磁道劃分的扇區數),經(jīng)過(guò)編號后,每個(gè)扇區都分配到一個(gè)特定的標識信息(ID)。編號時(shí),會(huì )自動(dòng)跳過(guò)P-list中所記錄的缺陷扇區,使用戶(hù)無(wú)法訪(fǎng)問(wèn)到那些缺陷扇區(用戶(hù)不必在乎永遠用不到的地方的好壞)。如果這個(gè)過(guò)程半途而廢,有可能導致部分甚至所有扇區被報告為標識不對(Sector
ID
not
found,
IDNF)。要特別注意的是,這個(gè)編號過(guò)程是根據真正的物理參數來(lái)進(jìn)行的,如果某些低格工具按邏輯參數(以
16heads
63sector為最典型)來(lái)進(jìn)行低格,是不可能進(jìn)行這樣的操作。
E.
寫(xiě)磁道伺服信息,對所有磁道進(jìn)行重新編號
有些硬盤(pán)允許將每個(gè)磁道的伺服信息重寫(xiě),并給磁道重新賦予一個(gè)編號。編號依據P-list或TS記錄來(lái)跳過(guò)缺陷磁道(defect
track),使用戶(hù)無(wú)法訪(fǎng)問(wèn)(即永遠不必使用)這些缺陷磁道。這個(gè)操作也是根據真正的物理參數來(lái)進(jìn)行。
F.
寫(xiě)狀態(tài)參數,并修改特定參數
有些硬盤(pán)會(huì )有一個(gè)狀態(tài)參數,記錄著(zhù)低格過(guò)程是否正常結束,如果不是正常結束低格,會(huì )導致整個(gè)硬盤(pán)拒絕讀寫(xiě)操作,這個(gè)參數以富士通IDE硬盤(pán)和希捷SCSI硬盤(pán)為典型。有些硬盤(pán)還可能根據低格過(guò)程的記錄改寫(xiě)某些參數。
下面我們來(lái)看看一些低格工具做了些什么操作:
1.
DM中的Low
level
format
進(jìn)行了A和B操作。速度較快,極少損壞硬盤(pán),但修復效果不明顯。
2.
Lformat
進(jìn)行了A、B、C操作。由于同時(shí)進(jìn)行了讀寫(xiě)檢查,操作速度較慢,可以替換部分缺陷扇區。但其使用的是邏輯參數,所以不可能進(jìn)行D、E和F的操作。遇到IDNF錯誤或伺服錯誤時(shí)很難通過(guò),半途會(huì )中斷。
3.
SCSI卡中的低格工具
由于大部SCSI硬盤(pán)指令集通用,該工具可以對部分SCSI硬盤(pán)進(jìn)行A、B、C、D、F操作,對一部分SCSI硬盤(pán)(如希捷)修復作用明顯。遇到缺陷磁道無(wú)法通過(guò)。同時(shí)也由于自動(dòng)替換功能,檢查到的缺陷數量超過(guò)G-list限度時(shí)將半途結束,硬盤(pán)進(jìn)入拒絕讀寫(xiě)狀態(tài)。
4.
專(zhuān)業(yè)的低格工具
一般進(jìn)行A、B、D、E、F操作。通常配合伺服測試功能(找出缺陷磁道記入TS),介質(zhì)測試功能(找出缺陷扇區記入P-list),使用的是廠(chǎng)家設定的低格程序(通常存放在BIOS或某一個(gè)特定參數模塊中),自動(dòng)調用相關(guān)參數進(jìn)行低格。一般不對缺陷扇區進(jìn)行替換操作。低格完成后會(huì )將許多性能參數設定為剛出廠(chǎng)的狀態(tài)。
問(wèn)1:低格能不能修復硬盤(pán)?
答1:合適的低格工具能在很大程度上修復硬盤(pán)缺陷。
問(wèn)2:低格會(huì )不會(huì )損傷硬盤(pán)?
答2:正確的低格過(guò)程絕不會(huì )在物理上損傷硬盤(pán)。用不正確的低格工具則可能?chē)乐仄茐挠脖P(pán)的信息,而導致硬盤(pán)不能正常使用。
問(wèn)3:什么時(shí)候需要對硬盤(pán)進(jìn)行低格?
答3:在修改硬盤(pán)的某些參數后必須進(jìn)行低格,如添加P-list記錄或TS記錄,調整區段參數,調整磁頭排列等。另外,
每個(gè)用戶(hù)都可以用適當低格工具修復硬盤(pán)缺陷,注意:必須是適當的低格工具。
問(wèn)4:什么樣的低格工具才可以稱(chēng)為專(zhuān)業(yè)低格工具?
答4:能調用特定型號的記錄在硬盤(pán)內部的廠(chǎng)家低格程序,并能調用到正確參數集對硬盤(pán)進(jìn)行低格,這樣的低格工具均可稱(chēng)為專(zhuān)業(yè)低格工具。
看圖認識硬盤(pán)(菜鳥(niǎo)必讀)
看圖認識硬盤(pán)(菜鳥(niǎo)必讀)
硬盤(pán)是系統中極為重要的設備,存儲著(zhù)大量的用戶(hù)資料和信息。如今的硬盤(pán)容量動(dòng)輒就是10GB以上,型號更是五花八門(mén),因此我們有必要了解一些硬盤(pán)的基本知識,才能在紛繁復雜的市場(chǎng)中認清所需要的硬盤(pán)。
從接口上看,硬盤(pán)主要分為IDE接口和SCSI接口兩種。由于價(jià)格原因,普通用戶(hù)通常只能接觸到IDE接口的硬盤(pán),因此下面我們也以IDE硬盤(pán)為主進(jìn)行講解。
1.緩存
這就是我們經(jīng)常說(shuō)的緩存,其實(shí)就和內存條上的內存顆粒一樣,是一片SDRAM。緩存的作用主要是和硬盤(pán)內部交換數據,我們平時(shí)所說(shuō)的內部傳輸率其實(shí)也就是緩存和硬盤(pán)內部之間的數據傳輸速率。
2.電源接口
和光驅一樣,硬盤(pán)的電源接口也是由4針組成。其中,紅線(xiàn)所對應的+5V電壓輸入,黃線(xiàn)對應輸出的是+12V電壓,F在的硬盤(pán)電源接口都是梯形,不會(huì )因為插反方向而使硬盤(pán)燒毀。
3.跳線(xiàn)
跳線(xiàn)的作用是使IDE設備在工作時(shí)能夠一致。當一個(gè)IDE接口上接兩個(gè)設備時(shí),就需要設置跳線(xiàn)為“主盤(pán)”或者“從盤(pán)”,具體的設置可以參考硬盤(pán)上的說(shuō)明。
4.IDE接口
硬盤(pán)IDE接口是和主板IDE接口進(jìn)行數據交換的通道。我們通常說(shuō)的UDMA/33模式就是指的緩存和主板IDE接口之間的數據傳輸率(也就是外部數據傳輸率)為33.3MB/s,目前的接口規范已經(jīng)從UDMA/33發(fā)展到UDMA/66和UDMA/100。但是由于內部傳輸率的限制,實(shí)際上外部傳輸率達不到理論上的那么高。
為了使數據傳輸更加可靠,UDMA/66模式要求使用80針的數據傳輸線(xiàn),增加接地功能,使得高速傳輸的數據不致出錯。在UDMA/66線(xiàn)的使用中還要注意,其蘭色的一端要接在主板IDE口上,而黑色的一端接在硬盤(pán)上。
5.電容
硬盤(pán)存儲了大量的數據,為了保證數據傳輸時(shí)的安全,需要高質(zhì)量的電容使電路穩定。這種黃色的鉭電容質(zhì)量穩定,屬于優(yōu)質(zhì)元件,但價(jià)格較貴,所以一般用量都比較少,只是在最需要的地方才使用。
6.控制芯片
硬盤(pán)的主要控制芯片,負責數據的交換和處理,是硬盤(pán)的核心部件之一。硬盤(pán)的電路板可以互相換(當然要同型號的),在硬盤(pán)不能讀出數據的時(shí)候,只要硬盤(pán)本身沒(méi)有物理?yè)p壞且能夠加電,我們就可以通過(guò)更換電路板的方式來(lái)使硬盤(pán)“起死回生”。
硬盤(pán)低級格式化知識介紹
硬盤(pán)低格格式化是對硬盤(pán)最徹底的初始化方式,經(jīng)過(guò)低格后的硬盤(pán),原來(lái)保護的數據將全部丟失,所以一般來(lái)說(shuō)低格硬盤(pán)是非常不可取的,只有非常必要的時(shí)候才能低格硬盤(pán)。而這個(gè)所謂的必要時(shí)候有兩種,一是硬盤(pán)出廠(chǎng)前,硬盤(pán)廠(chǎng)會(huì )對硬盤(pán)進(jìn)行一次低級格式化;另一個(gè)是當硬盤(pán)出現某種類(lèi)型的壞道時(shí),使用低級格式化能起到一定的緩解或者屏蔽作用。
對于第一種情況,這里不用多說(shuō)了,因為硬盤(pán)出廠(chǎng)前的低格工作只有硬盤(pán)工程師們才會(huì )接觸到,對于普通用戶(hù)而言,根本無(wú)須考慮這方面的事情。至于第二種情況,是什么類(lèi)型的壞道時(shí)才需要低格呢?在說(shuō)明這個(gè)關(guān)鍵性問(wèn)題前,先來(lái)看看硬盤(pán)壞道的類(lèi)型。
總的來(lái)說(shuō),壞道可以分為物理壞道和邏輯壞道。其中邏輯壞道相對比較容易解決,它指硬盤(pán)在寫(xiě)入時(shí)受到意久干擾,造成有ECC錯誤。從過(guò)程上講,它是指硬盤(pán)在寫(xiě)入數據的時(shí)候,會(huì )用ECC的邏輯重新組合數據,一般操作系統要寫(xiě)入512個(gè)字節,但實(shí)際上硬盤(pán)會(huì )多寫(xiě)幾十個(gè)字節,而且所有的這些字節都要用ECC進(jìn)行校驗編碼,如果原始字節算出的ECC校正碼和讀出字節算出的ECC不同,這樣就會(huì )產(chǎn)生ECC錯誤,這就是所謂的物理壞道產(chǎn)生原因。
至于物理壞道,它對硬盤(pán)的損壞更具致命性,它也有軟性和硬性物理壞道的區別,磁盤(pán)表面物理?yè)p壞就是硬性的,這是無(wú)法修復的。而由于外界影響而造成數據的寫(xiě)入錯誤時(shí),系統也會(huì )認為是物理壞道,而這種物理壞道是可以使用一些硬盤(pán)工具(例如硬盤(pán)廠(chǎng)商提供的檢測修復軟件)來(lái)修復,此外,對于微小的硬盤(pán)表面損傷,一些硬盤(pán)工具(例如西部數據的Data
Lifeguard
Tools)就可以重新定向到一個(gè)好的保留扇區來(lái)修正錯誤。
對于這些壞道類(lèi)型,硬性的物理壞道肯定是無(wú)法修復的,它是對硬盤(pán)表面的一種最直接的損壞,所以即使再低格或者使用硬盤(pán)工具也無(wú)法修復(除非是非常微小的損壞,部份工具可以將這部份壞道保留不用以此達到解決目的)。
對于硬盤(pán)上出現邏輯壞道或者軟性物理壞道,用戶(hù)可以試試使用低級格式化來(lái)達到屏蔽壞道的作用,但這里需要指出,屏蔽壞道并不等于消除壞道了,低格硬盤(pán)能把原來(lái)硬盤(pán)內所有分區都刪除,但壞道卻依然存在,屏蔽只是將壞道隱藏起來(lái),不讓用戶(hù)在存儲數據時(shí)使用這些壞道,這樣能在一定程度上保證用戶(hù)數據的可靠性,但壞道卻會(huì )隨著(zhù)硬盤(pán)分區、格式化次數的增長(cháng)而擴散蔓延。
所以筆者并不推薦用戶(hù)對硬盤(pán)進(jìn)行低格,如何硬盤(pán)在保修期內最好去保修或者找經(jīng)銷(xiāo)商換一塊,那可以說(shuō)是最佳解決方案,也是最徹底的解決方案了。如果硬盤(pán)過(guò)了保修期不讓換,那可以試試低格硬盤(pán),以防止將數據存儲到壞道導致數據損失。
對于如何進(jìn)行硬盤(pán)低格,一般來(lái)說(shuō)是使用低格工具來(lái)操作,這個(gè)將在下面的章節中詳細介紹,這里再說(shuō)一些相關(guān)話(huà)題。即低格工具跟硬盤(pán)檢測工具是有著(zhù)本質(zhì)的區別,低格工具就是對硬盤(pán)進(jìn)行低格的作用,而硬盤(pán)檢測工具一般來(lái)說(shuō)是硬盤(pán)廠(chǎng)商推出的用來(lái)檢測硬盤(pán),及早發(fā)現硬盤(pán)錯誤,以提醒用戶(hù)備份重要數據或者檢修硬盤(pán)用的,它不是用于低格硬盤(pán)。
用Debug匯編語(yǔ)言進(jìn)行低級格式化
低級格式化硬盤(pán)能完成銷(xiāo)毀硬盤(pán)內的數據,所以在操作前一定要謹慎。硬盤(pán)低格有許多方法,例如直接在CMOS中對硬盤(pán)進(jìn)行低格,或者使用匯編語(yǔ)言進(jìn)行硬盤(pán)低格,而最常見(jiàn)的莫過(guò)于使用一些工具軟件來(lái)對硬盤(pán)進(jìn)行低格,常見(jiàn)低格工具有lformat、DM及硬盤(pán)廠(chǎng)商們推出的各種硬盤(pán)工具等。
匯編是比較低級的一種編程語(yǔ)言,它能非常方便地直接操作硬件,而且運行效率很高,如果軟件系統中需要直接操作硬件時(shí),經(jīng)常使用的就是匯編語(yǔ)言。使用匯編也可以對硬盤(pán)進(jìn)行低級格式化,它比DM等工具軟件顯得更為靈活,具體應用時(shí)就是使用debug程序,而具體操作就是在debug環(huán)境下,調用存放在BIOS中的低級格式化程序(CMOS中直接低格硬盤(pán)調用的也是此段低格程序)。實(shí)現方法通常有如下三種:
(1)、直接調用BIOS
ROM中的低格程序
在很多計算機的BIOS
ROM中存放著(zhù)低格程序,存放地址從C8005H地址開(kāi)始,具體操作如下:
A:\>Debug
-G
C800
。0005(//這時(shí)屏幕顯示信息(不同版本的BIOS顯示的信息可能不同),回車(chē)后提示:)
Current
Interleave
is
3
select
new
interleave
or
Return
for
current(//這是要求用戶(hù)選擇交叉因子,按回車(chē)表示取默認值3,也可輸入新的交叉因子值,硬盤(pán)的交叉因子一般是3,所以直接回車(chē)即可。屏幕接著(zhù)提示:)
Are
you
dynamically
configuring
the
drive-answer
Y/N
t
Press“Y”to
begin
formatting
the
drive
C:
with
interleave
03(//鍵入“Y”后開(kāi)始對硬盤(pán)進(jìn)行低格)
Formatting
……(//完成后詢(xún)問(wèn)是否處理壞磁道)
Do
you
want
to
format
bad
track-answer
Y/N?
若沒(méi)有則用“N”回答。屏幕顯示:
Format
Successful,system
will
new
restart,Insert
Dos
diskette
indrive
A:
插入系統盤(pán)到A驅動(dòng)器,即可進(jìn)行分區,高級格式化等操作來(lái)安裝系統了。
(2)、通過(guò)調用INT
13H中斷的7號功能對硬盤(pán)進(jìn)行低格
操作如下:
A:\>DEBUG
-A
100
-XXXX:0100
MOV
AX,0703;(//交叉因子為3)
-XXXX:0103
MOV
CX,0001;(//0磁道0扇區起)
-XXXX:0106
MOV
DX,0080;(//C盤(pán)0磁道)
-XXXX:0109
INT
13
-XXXX:010B
INT
3
-XXXX:010D
-G
100
這樣硬盤(pán)就被低格了。
筆記本硬盤(pán)保養三原則
相信很多人都知道,作為精密機械產(chǎn)品,震動(dòng)可以說(shuō)是筆記本硬盤(pán)的一大死敵。因為筆記本硬盤(pán)內部構造是相當精密的,磁頭離每分鐘數千轉的盤(pán)片表面只有幾微米的高度,一旦震動(dòng)較強烈的話(huà)就會(huì )出現讀寫(xiě)異常甚至造成盤(pán)片或者磁頭物理性地損傷,導致數據丟失,硬盤(pán)損壞。
三星2.5寸金寶筆記本硬盤(pán)為了更好地防震,采用了兩項獨有技術(shù)——Shock
Skin
Bumper(震動(dòng)緩沖外殼)和ImpacGuard(防震衛士)。Shock
Skin
Bumper,通過(guò)獨特的外殼設計,更好降低周邊震動(dòng)對硬盤(pán)內部器件的影響,使外殼可以承受很高的瞬間壓力,并通過(guò)彈性的設計,迅速把震動(dòng)轉移。ImpacGuard,當硬盤(pán)遇到外界很大的壓力(震動(dòng)產(chǎn)生)的時(shí)候,自動(dòng)讓磁頭歸位到宣停區(landing
zone),而這種磁頭移動(dòng)并不會(huì )對磁盤(pán)進(jìn)行任何的操作,因此可以更好的保護磁盤(pán)上的文件。
然而,盡管有技術(shù)做保證,但也只是最大限度地降低了震動(dòng)對筆記本硬盤(pán)的損害,如果用戶(hù)認為僅憑技術(shù)就能完美防震,肯定是錯誤的,關(guān)鍵還是要靠用戶(hù)自己注意。平時(shí)盡量做到在關(guān)機十幾秒硬盤(pán)完全停轉后再移動(dòng)主機;在筆記本硬盤(pán)的安裝、拆卸過(guò)程中也要多加小心;移動(dòng)、運輸硬盤(pán)時(shí)更應嚴禁磕碰,最好用泡沫或海綿包裝保護一下,盡量減少震動(dòng)。
保養本本硬盤(pán)三原則之二
忌斷電
從硬盤(pán)工作角度來(lái)講,現時(shí)筆記本硬盤(pán)的轉速大都是5400轉,在進(jìn)行讀寫(xiě)時(shí),整個(gè)盤(pán)片處于高速旋轉狀態(tài)中,如果忽然切斷電源,將使得磁頭與盤(pán)片猛烈磨擦,從而導致筆記本硬盤(pán)出現壞道甚至損壞。對此,三星2.5寸金寶筆記本硬盤(pán)采用了穩定性更高的巨磁阻GMR磁頭,并針對斷電而采用配備斷電磁頭保護技術(shù),具備自動(dòng)回位和斷電保護功能,降低了斷電對筆記本硬盤(pán)的傷害,這對緩解那些因為非人為因素造成的斷電(比如電力所統一停電等)而導致的硬盤(pán)傷害算是頗具“療效”。
但任何技術(shù)都敵不過(guò)人為破壞。尤其對于一些用戶(hù)而言,使用筆記本時(shí)不注意電池時(shí)長(cháng),造成強制斷電的事兒時(shí)有發(fā)生,甚至有些人因為死機也會(huì )強行拔插電源,久而久之,必成大患。對此,需要提醒用戶(hù)的是,多留意,多小心,盡量避免強制斷電。關(guān)機時(shí),一定要在硬盤(pán)已經(jīng)完成讀寫(xiě)操作之后,按照正常的程序關(guān)閉電腦。
保養本本硬盤(pán)三原則之三
防高溫
溫度的高低也是筆記本硬盤(pán)的一大天敵。事實(shí)上,筆記本硬盤(pán)的工作狀況與使用壽命跟溫度有很大的聯(lián)系,硬盤(pán)使用中溫度以20~25℃為宜,溫度過(guò)高或過(guò)低都會(huì )使晶振的時(shí)鐘頻率發(fā)生變化,重者還會(huì )造成筆記本硬盤(pán)中電路元件失靈,存儲介質(zhì)也會(huì )因熱脹效應而造成記錄錯誤。而溫度過(guò)低,空氣中的水分會(huì )被凝結在集成電路元件上,造成非常嚴重的短路。
三星在散熱方面一向做得不錯,在行業(yè)內也是有口皆碑。在三星2.5寸金寶筆記本硬盤(pán)的設計中,三星采用了低能耗設計,同時(shí)利用了更加合理的空氣流設計,充分的降低了硬盤(pán)的發(fā)熱量,保證了用戶(hù)更安全更穩定更長(cháng)久的使用硬盤(pán)。
不過(guò),用戶(hù)還是要避免長(cháng)時(shí)間(超過(guò)12小時(shí))連續使用筆記本;也盡量別放在被子、腿上使用筆記本,以免堵住通風(fēng)道。
談完了三原則,還有其它注意事項,諸如遠離強磁場(chǎng),避免潮濕環(huán)境,避免頻繁操作,定期整理磁盤(pán)碎片等。但上述三項,則最為重要,尤其是震動(dòng),稱(chēng)其是“硬盤(pán)殺手”當之無(wú)愧。誰(shuí)都不想讓自己的愛(ài)本出現問(wèn)題,因此日常生活工作還是要多多維護。畢竟“養本千日,用本一時(shí)”,筆記本硬盤(pán)是很嬌氣的,多加保養準沒(méi)錯。2007年6月,博科思代理的三星2.5英寸金寶硬盤(pán)將啟用第二代800防偽標識,消費者一定要注意辨別,具體識別方法咨詢(xún)電話(huà)8008303156,也可以登陸www.bocous.com進(jìn)行查詢(xún)
硬盤(pán)常見(jiàn)故障及其處理方法
1.電源引起的硬盤(pán)不能正常起動(dòng)
計算機電源輸出的電壓分別是+5V和+12V。硬盤(pán)啟動(dòng)需要+12V電壓和4A的電流,硬盤(pán)工作時(shí)的電流為1.1A。軟盤(pán)的啟動(dòng)僅需+10V左右的電壓和1.3A電流,而工作電流為0.5A。計算機電源的輸出電壓不足+12V,則硬盤(pán)就不能啟動(dòng)和工作。處理這類(lèi)故障,就要使電源輸出恢復到+12V電壓。
2.主板電池電壓不足引起的硬盤(pán)無(wú)法啟動(dòng)
這是主板上的充電電池失效引起主機參數紊亂而產(chǎn)生的故障。主板上的充電電池(一般是鋰電池)是當主機關(guān)機時(shí)用來(lái)保存機器時(shí)鐘、日期,軟盤(pán)驅動(dòng)器的個(gè)數、類(lèi)型,硬盤(pán)個(gè)數、類(lèi)型,顯示器方式,內存容量,擴展容量等系統參數的。當開(kāi)機上電自檢時(shí),BIOS自動(dòng)檢測CMOS中的參數表,如果不匹配,則出現死機。鋰電池的工作電壓為+3V~+6V。如果電池電壓不足+3V或電池失效,則硬盤(pán)無(wú)法被識別。
3.硬盤(pán)參數錯誤導致的硬盤(pán)不能啟動(dòng)
硬盤(pán)參數有硬盤(pán)容量大小、磁頭數、磁道數、扇區數等多種。不同廠(chǎng)家生產(chǎn)的硬盤(pán),其參數值各不相同。如果硬盤(pán)參數值設置錯誤,則硬盤(pán)就啟動(dòng)不了。這時(shí)需要重新設置硬盤(pán)的磁頭數、磁道數、扇區數等值。方法是:首先開(kāi)機后待自檢開(kāi)始,按下DEL鍵,即可進(jìn)入CMOS
SETUP設置狀態(tài)。然后,對COMS中的參數進(jìn)行設置:選擇STANDARD
CMOS
SETUP欄目中的TYPE項,填入正確的TYPE值。一般的主板都有硬盤(pán)自檢測功能。進(jìn)入CMOS
SETUP設置菜單中,選擇“IDE
HDD
AUTO
DETECTION”即可。
4.硬盤(pán)0磁道被破壞引起的故障
DOS操作系統放在硬盤(pán)的0磁道上?如果硬盤(pán)的0磁道物理性損壞,硬盤(pán)便不工作。
一般采用的修復方法是:首先盡量把硬盤(pán)有用的文件、數據備份出來(lái)。由于硬盤(pán)0磁道的損壞,硬盤(pán)中的資料、文件已不能按正常備份方法備份,需用BIOS中斷方法按扇區逐一備份;然后對整個(gè)硬盤(pán)做格式化,再用FDISK對硬盤(pán)重新分區,最后用FORMAT對硬盤(pán)作邏輯格式化,裝上DOS操作系統和有關(guān)文件、數據即可。
若用上述方法修復無(wú)效,則先用KV300殺毒盤(pán)啟動(dòng)、殺毒,再用A:系統盤(pán)啟動(dòng),運行SCANDISK掃描C盤(pán),若在第一簇出現一個(gè)紅色的“B”,表明零磁道損壞。然后用PCTOOLS
9.0中的DE(該軟件能看到各個(gè)分區在硬盤(pán)的起始點(diǎn)),運行PCT90目錄下的DE.EXE,報告現在運行在只讀模式,選Op-tions菜單
→Configuration,按空格去掉Read
Only前面的√,保存后退出。選主菜單Select→Drive;進(jìn)入后在Drive
type→Physical,按空格選定,再按TTab鍵切換到Druves項,選中harddisk,然后選OK回車(chē)。此后回到主菜單,打開(kāi)Select菜單,這時(shí)會(huì )出現Partiton
Table,選中之后出現硬盤(pán)分區表信息。該分區是從硬盤(pán)的0柱面開(kāi)始的,那么,將分區的Beginning
Cylinder的0改成1即可?保存后退出。重新啟動(dòng),按Delete鍵進(jìn)入CMOS設置,進(jìn)行“IDE
HDD
AUTO
DETECTIOND(也可以看到CYLS數變少)",保存后退出,此時(shí)再對硬盤(pán)重新分區,格式化,裝上相應的軟件即可。
硬盤(pán)邏輯鎖解決方法
一·序言
不知道你是否曾碰到過(guò)從軟盤(pán)和硬盤(pán)都啟動(dòng)不了計算機的情形?一般計算機的硬盤(pán)分區表被病毒感染后,若不能啟動(dòng)機子,通常從軟盤(pán)可以啟動(dòng)。但在嚴重的情形下,不但從硬盤(pán)不能啟動(dòng)機子,就是從軟盤(pán)也不能啟動(dòng)。有的惡毒的病毒就能使硬盤(pán)被死鎖。筆者一次在自己機子上玩弄硬盤(pán)鎖時(shí),就被鎖住過(guò)一次。結果在硬盤(pán)下選擇DOS或WIN95模式啟動(dòng)機子都死機,在軟盤(pán)下用DOS啟動(dòng)也死機;在COMS中將硬盤(pán)類(lèi)型選擇None,雖然可以從軟盤(pán)啟動(dòng),但啟動(dòng)后沒(méi)有硬盤(pán),使用軟盤(pán)上的FDISK命令,想重新分區或格式化都沒(méi)門(mén)。弄得我一籌莫展。
本來(lái),硬盤(pán)被鎖住時(shí),可以采用3.0以下的DOS版本啟動(dòng)機子,機子啟動(dòng)后雖然也不認硬盤(pán),但其不認的原因在于其管理不了現在的大硬盤(pán),因此可以用Debug修改硬盤(pán)分區表,修改后可以啟動(dòng)。但在已進(jìn)入WINDOWS的年代,3.0以下的DOS實(shí)難找到,即使找到,你的機子上恐怕也因沒(méi)有5寸軟驅而不能使用。因此,最好的辦法是編制一個(gè)程序來(lái)解決這個(gè)問(wèn)題。筆者通過(guò)嘗試和思考,找到一種比較實(shí)用的方法,可以輕松解開(kāi)死鎖的硬盤(pán),當然也把自己的硬盤(pán)解開(kāi)了。下面,我將這種方法介紹出來(lái)。
二·硬盤(pán)鎖住原理
硬盤(pán)鎖住通常是對硬盤(pán)的分區表做手腳,因此首先應該了解硬盤(pán)的分區表。硬盤(pán)分區表位于0柱面0磁頭1區,這個(gè)扇區的前面200多個(gè)字節是主引導程序,后面從01BEH開(kāi)始的64個(gè)字節是分區表。分區表共64字節,分為4欄,每欄16字節,用來(lái)描述一個(gè)分區。如果是用DOS的FDISK程序分區后,最多只用兩欄,第一欄描述基本的DOS分區,第二欄描述擴展的DOS分區。
分區表一欄的結構與各字節的含義如下:
00H-標志活動(dòng)字節,活動(dòng)DOS分區為80H,其它為00H。
01H-本分區邏輯0扇區所在的磁頭號。
02H-邏輯0扇區所在柱面中的扇區號。
03H-邏輯0扇區所在的柱面號。
04H-分區類(lèi)型標志。
05H-本分區最后一個(gè)扇區的磁頭號。
06H-最后一個(gè)扇區的扇區號。
07H-最后一個(gè)柱面的柱面號。
08H-硬盤(pán)上在本分區之前的扇區總數,用雙字表示。
0CH-本分區的扇區總數,從邏輯0扇區計數,不含隱藏扇區,用雙字表示。
在上面的介紹中給出的柱面號與扇區號雖然各占一個(gè)字節,但實(shí)際上扇區號用6位表示,柱面號用10位表示,扇區號所在字節的最高兩位實(shí)際上是柱面號的最高兩位。
分區表的最后兩個(gè)字節是分區表的有效標志,如果將其改變,將不能從硬盤(pán)啟動(dòng),這是一種簡(jiǎn)單的鎖住硬盤(pán)的方法。解決的辦法是從軟盤(pán)啟動(dòng),啟動(dòng)后硬盤(pán)仍然可以使用。用Debug或Noratn中的Diskedit軟件將硬盤(pán)該分區表中的標志恢復,則從硬盤(pán)啟動(dòng)也沒(méi)有問(wèn)題了。鎖住硬盤(pán)的另一種方法是對分區參數做手腳,如果將分區參數全部變?yōu)?,則啟動(dòng)時(shí)由于找不到分區參數,從硬盤(pán)是沒(méi)法啟動(dòng),從軟盤(pán)啟動(dòng)后也不認硬盤(pán),如果你敲入盤(pán)符C并回車(chē),將出現提示Invalid
driver
specification。但所幸的是,畢竟可以啟動(dòng)機子,不認硬盤(pán)沒(méi)關(guān)系,在A(yíng)盤(pán)上用DOS的Debug仍然可以讀出硬盤(pán)0柱面0磁頭1扇區的內容,修改后再寫(xiě)入0柱面0磁頭1扇區,重新啟動(dòng)機子又沒(méi)問(wèn)題了。如果將分區表參數隨意改為其它參數,則有可能不能用可以安裝DOS的DOS系統盤(pán)啟動(dòng),按F3退出后將出現內存分配錯誤,不能裝載DOS的命令解釋器COMMAND的提示,系統就死機了,筆者就曾碰見(jiàn)過(guò)這種情形。但用一張格式化成系統盤(pán)的軟盤(pán)則可以順利啟動(dòng),只要有Debug,你仍然可以將分區表參數修改回去?膳碌氖虑槭,如果你不幸將分區表參數改成一個(gè)循環(huán)鏈,即C盤(pán)的下一個(gè)分區指向D驅?zhuān)珼驅的下一個(gè)分區又指向C區,這樣循環(huán)下去,DOS啟動(dòng)或WIN95啟動(dòng)時(shí)由于無(wú)休止的讀取邏輯驅動(dòng)器,就只有死機的份了。這是只要有硬盤(pán)存在,不管你用軟盤(pán)還是硬盤(pán)都沒(méi)法啟動(dòng)機子了,由于不能啟動(dòng)是由于硬盤(pán)造成的,即使你將硬盤(pán)下到其它計算機上,也沒(méi)法使用,這樣硬盤(pán)就徹底被鎖死了,筆者所遭遇就是此情形。不信,你只需將硬盤(pán)0柱面0磁頭1扇區的1D0H處改為1(如果你的D驅開(kāi)始柱面號不夠大,此處本來(lái)就為1),將1D1H處改為0,表示D盤(pán)的開(kāi)始柱面號跟C盤(pán)一樣,看看你的計算機還能不能啟動(dòng),不過(guò)你在沒(méi)有充分的準備前絕不要試。
一個(gè)完整的硬盤(pán)鎖程序,不過(guò)是重新改寫(xiě)0柱面0磁頭1扇區的引導程序,并將分區表破壞或故意制造一個(gè)循環(huán)分區表,而將真正的硬盤(pán)分區表參數和引導程序放在其它隱藏扇區并保護起來(lái),如果啟動(dòng)時(shí)口令不對,則不能啟動(dòng)機子,口令對了則順利啟動(dòng)。這種硬盤(pán)鎖程序,情形好的還可以用軟盤(pán)啟動(dòng);情形嚴重的就是連軟盤(pán)也不能啟動(dòng),硬盤(pán)真被鎖住。
三·解開(kāi)硬盤(pán)鎖的程序法
如果硬盤(pán)被鎖死,是否真的就無(wú)法解開(kāi)呢?當然不是?纯磫(wèn)題的癥結所在,根源在于DOS中的IO.SYS文件,它包含LOADER、IO1、IO2、IO3四個(gè)模塊,其中IO1中包含有一個(gè)很關(guān)鍵的程序SysInt_I,它在啟動(dòng)中很固執,非要去讀分區表,而且不把分區表讀完誓不罷休。如果碰上分區表是循環(huán)的,它就只有死機了。這是DOS的脆弱性和不完備性。其實(shí)這也不能怪DOS,因為DOS為了獲得硬盤(pán)使用權,就必需讀分區表參數,而且DOS還約定驅動(dòng)器號不能超過(guò)26,只不過(guò)沒(méi)有考慮到此等循環(huán)分區表情形。一句話(huà),機子不能啟動(dòng)不過(guò)是DOS操作系統造成的,如果另寫(xiě)一個(gè)操作系統,或許就能啟動(dòng)機子。當然這只是說(shuō)個(gè)笑話(huà)。
明白了病因在于DOS,問(wèn)題就好辦了。DOS啟動(dòng)中不是要讀硬盤(pán)分區表嗎?我不讓你讀分區表甚至連硬盤(pán)都不讓你讀,不就可以順利啟動(dòng)了。的確是這樣的,開(kāi)硬盤(pán)鎖的程序實(shí)現方法就是基于這個(gè)思想形成的。當然,這只有從軟盤(pán)啟動(dòng)著(zhù)手了。
看看計算機的啟動(dòng)過(guò)程,上電首先進(jìn)行的多項硬件自測跟我們沒(méi)有關(guān)系,我們關(guān)心的只是它最開(kāi)始和磁盤(pán)打交道時(shí)是干什么。如果選擇從硬盤(pán)啟動(dòng),則計算機和磁盤(pán)最開(kāi)始打交道是將硬盤(pán)0柱面0磁頭1扇區的內容讀入內存0000:7C00處并跳到0000:7C00處執行;如果選擇從軟盤(pán)啟動(dòng),則計算機和磁盤(pán)最開(kāi)始打交道是將A盤(pán)0磁道0磁頭1扇區的內容讀入內存0000:7C00處并跳到0000:7C00處執行,在執行過(guò)程中,計算機并不檢查該扇區的內容是什么,只機械地執行讀命令,這使得許多系統型病毒得以生存。但利用這一點(diǎn),恰恰使我們的程序解鎖法有了用武之地。如果我們用DOS格式化一張可以啟動(dòng)機子的系統軟盤(pán),將該軟盤(pán)的0磁道0磁頭1扇區的內容移到后面的空白扇區中,而重新寫(xiě)一段程序到該軟盤(pán)的0磁道0磁頭1扇區,這樣用軟盤(pán)啟動(dòng)時(shí)首先執行的是我們所寫(xiě)的程序了。在這段程序中,具備這樣一些功能:在DOS啟動(dòng)前搶先攔截INT
13H,駐留高端內存并監視INT
13H,判斷是否讀硬盤(pán),如果是讀硬盤(pán)就直接返回,這樣就禁止了讀硬盤(pán),也就避免了DOS讀硬盤(pán)循環(huán)分區表造成的死機;同時(shí)攔截對軟盤(pán)的讀取,如果讀軟盤(pán)的0磁道0磁頭1扇區,就改成讀真正有引導程序和磁盤(pán)參數表的扇區,免得DOS在啟動(dòng)中找不到軟盤(pán)的磁盤(pán)參數表而死機。完成這些任務(wù)的同時(shí),還要讀取軟盤(pán)真正的引導程序并把控制權交給它。
該方法可以稱(chēng)為萬(wàn)能的,因為它在用軟盤(pán)啟動(dòng)中,始終不與硬盤(pán)打交道,這樣不管你硬盤(pán)用什么方法加鎖了,對DOS的啟動(dòng)都沒(méi)有影響。當然,這樣啟動(dòng)的機子是不認硬盤(pán)的,但這沒(méi)有關(guān)系。你可在機子啟動(dòng)后,用Debug調出駐留高端內存的新INT
13H程序,將其改為只有一條直接執行舊INT
13H的語(yǔ)句,這樣在Debug下可以用INT
13H讀取硬盤(pán)0柱面0磁頭1扇區的內容,如果你有備份,將分區表參數恢復后再寫(xiě)入0柱面0磁頭1扇區,重新啟動(dòng)計算機就可以了。如果實(shí)在沒(méi)有備份,去掉分區表中的循環(huán)鏈,用正常DOS啟動(dòng)盤(pán)重啟機子后至少也可以重新對硬盤(pán)分區,不至于硬盤(pán)被鎖住打不開(kāi)了。
四·程序及說(shuō)明
1·下面是寫(xiě)入軟盤(pán)0磁道0頭1扇區的源程序key.com,程序用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;讀啟動(dòng)軟盤(pán)的引導扇區
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;復制改寫(xiě)的INT
13H程序到高端內存
155
MOV
DI,0000
158
MOV
CX,0030
15B
REPNZ
015C
MOVSB
015D
MOV
AX,0000;將新INT
13H位置寫(xiě)入中斷向量表
0160
MOV
[004C],AX
0163
MOV
AX,ES
0165
MOV
[004E],AX
0168
JMP
0000:7C00
016D
PUSHF;新INT
13H程序
016E
CMP
DX,0080;是否是硬盤(pán)
0172
JNZ
0176;不是硬盤(pán)則繼續
0174
POPF
0175
IRET;是硬盤(pán)則直接返回
0176
CMP
DX,+00;是否讀軟盤(pán)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的位置由前面程序獲得后寫(xiě)入。
N
key.com
RCX
200
W
Q
2·程序的裝載
在進(jìn)行下面工作前,先用DOS格式化一張啟動(dòng)的系統盤(pán),并保證沒(méi)有壞扇區,最好進(jìn)行啟動(dòng)測試,確保其可以啟動(dòng)機子。由于現在機子上大多只有3寸軟驅?zhuān)虼诉x擇1.44M的3.5寸軟盤(pán)。然后用debug
key.com將程序key.com調入內存偏移地址為100H,同時(shí)在400H處寫(xiě)入一段裝載程序。即:
C>debug
key.com
-a400
400
MOV
CX,0003
403
PUSH
CX
404
MOV
AX,0201;將A盤(pán)引導程序讀入內存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;將已讀入內存的軟盤(pán)引導程序寫(xiě)入軟盤(pán)
419
MOV
BX,1000;最后一個(gè)磁道的首扇區
41C
MOV
CX,4F01
41F
MOV
DX,0100
422
INT
13
424
MOV
AX,0301;將key.com程序寫(xiě)入軟盤(pán)0磁道0磁頭1扇區
427
MOV
BX,0100
42A
MOV
CX,0001
42D
MOV
DX,0000
430
INT
13
432
INT
3
為保證萬(wàn)無(wú)一失,最好將軟盤(pán)這兩個(gè)扇區的內容重新讀出來(lái)看一看,以保證寫(xiě)成功了。做好這一切,保險的還是進(jìn)行一次測試,即用該軟盤(pán)啟動(dòng)一次機子,看能否成功,若成功啟動(dòng),你就可以用循環(huán)分區表法鎖住硬盤(pán),看從正常DOS下能否啟動(dòng),然后再用此軟盤(pán)啟動(dòng)機子試試,看看功效如何?
從該軟盤(pán)啟動(dòng)后,不認硬盤(pán),并且在高端內存駐留了新INT
13H程序,該段程序實(shí)際上是key.com中從16D到187部分。由于有此段程序存在,在debug下也無(wú)法讀硬盤(pán),也就沒(méi)法恢復硬盤(pán)分區表,因此機子啟動(dòng)后首先應修改這段程序,F在的機子基本內存通常都為640K,這樣這段程序就位于內存中9FC0:0000處,在debug下,用U9FC0:0顯示這段程序,可以看到位于9FC0:001A處是一條跳轉指令,該跳轉指令即轉去執行最原始的INT
13H。由于BIOS版本不一樣,跳轉指令指向的位置可能不一樣,如筆者機子上是一條JMP
F000:A5D4語(yǔ)句。這時(shí)在在debug下編寫(xiě)這樣一語(yǔ)句:a9FC0:0
JMP
F000:A5D4。這樣,對硬盤(pán)的禁寫(xiě)與禁讀都不再起作用了,在debug下用INT
13H的2號子功能可以讀出硬盤(pán)分區表,修改恢復后再用3號子功能將數據寫(xiě)回分區表。退出debug,重新用正常DOS啟動(dòng)計算機,就可以了。
附帶提一下,在正常DOS下,該軟盤(pán)由于沒(méi)有BOOT區,也就沒(méi)有磁盤(pán)參數表,從而不能使用,用DIR
A:命令會(huì )出現General
failure
reading
drive
A提示。不要理睬它,這并不影響它作特殊啟動(dòng)盤(pán)。
五·建議
為更好的保護你的硬盤(pán),筆者建議你最好將你的硬盤(pán)分區表信息備份起來(lái)。備份有兩種方式,一種是以文件形式將硬盤(pán)每個(gè)邏輯盤(pán)的分區信息存儲起來(lái);另一種是將分區信息備份在硬盤(pán)隱藏扇區里。比如可以將0柱面0磁頭1扇區備份在0柱面0磁頭3扇區,將D盤(pán)開(kāi)始柱面號0磁頭1扇區備份在該柱面0磁頭3扇區,其它邏輯盤(pán)也如此。這種方法簡(jiǎn)單、方便,也很可靠。用NORTAN中的DISKEDI很容易操作和實(shí)現。有了備份分區表信息,就不怕破壞分區表的病毒了;再加上我給你的程序,即使有人真鎖住了你的硬盤(pán),你也可以輕而易舉解開(kāi)了。
【一分鐘教會(huì )菜鳥(niǎo)認識硬盤(pán)】相關(guān)文章:
菜鳥(niǎo)攝影技巧08-03
硬盤(pán)和固態(tài)硬盤(pán)的區別08-04
機械硬盤(pán)和固態(tài)硬盤(pán)的區別07-02
固態(tài)硬盤(pán)和普通硬盤(pán)的區別06-29
固態(tài)硬盤(pán)和普通硬盤(pán)區別09-04
ssd硬盤(pán)和固態(tài)硬盤(pán)區別11-02
菜鳥(niǎo)淡妝化妝步驟07-02