據(jù)結(jié)構(gòu)篇
硬盤是計算機中極為重要的存儲設(shè)備,計算機工作所用到的全部文件系統(tǒng)和數(shù)據(jù)資料的絕大多數(shù)都存儲在硬盤中。硬盤是產(chǎn)生計算機軟故障最主要的地方,常見的硬盤軟故障有:硬盤重要參數(shù)及文件丟失,電腦不能起動;碎片過多,電腦運行速度變慢;硬盤分區(qū)后丟失容量等。對付硬盤軟故障,只要我們肯動腦并利用一些硬盤維護工具,發(fā)揮一不怕苦、二不怕(硬盤)死的革命精神,外加膽大心細(xì),當(dāng)然還要掌握硬盤基本常識,這樣就可以輕松搞定(說的容易、做起來可不簡單 :( )。因此,我收集了大量的資料整理匯編了“硬盤軟故障完全修復(fù)手冊”,希望能在與大家一起學(xué)習(xí)的過程中掌握硬盤常見故障的排除方法,做到“自已動手、豐衣足食”,凡事不求人的目的。
大家知道,一個硬盤要能存放文件,必須經(jīng)過硬盤分區(qū),格式化等操作步驟,因為經(jīng)過這些步驟之后,在硬盤中就建立起了主分區(qū),引導(dǎo)分區(qū),確定了FAT16或FAT32文件表。主分區(qū)的作用是保存硬盤中各邏輯分區(qū)在盤片上起始位置和終止位置及分區(qū)的容量大小。引導(dǎo)分區(qū)的作用是在固定的位置存放有操作系統(tǒng)文件,在電腦送電或復(fù)位時,由BIOS程序?qū)⑻幱诠潭ㄎ恢玫南到y(tǒng)文件裝入內(nèi)存,再將電腦控制權(quán)交給系統(tǒng)文件人而完成引導(dǎo)過程。擴展分區(qū)作為一個主分區(qū)占用了主分區(qū)表的一個表項。在擴展分區(qū)起始位置所指示的扇區(qū)(即該分區(qū)的第一個扇區(qū))中,包含有第一個邏輯分區(qū)表,同樣從1BEH字節(jié)開始,每個分區(qū)表項占用16個字節(jié)。邏輯分區(qū)表一般包含兩個分區(qū)表項,一個指向某邏輯分區(qū),另一個則指向下一個擴展分區(qū)。下一個擴展分區(qū)的首扇區(qū)又包含了一個邏輯分區(qū)表,
這樣以此類推,擴展分區(qū)中就可以包含多個邏輯分區(qū)。下面我們就來學(xué)習(xí)一下硬盤數(shù)據(jù)的基本結(jié)構(gòu)。
★ 硬盤的數(shù)據(jù)結(jié)構(gòu) ★
① MBR(Main Boot Record 主引導(dǎo)記錄區(qū))
MBR位于整個硬盤的0磁道0柱面1扇區(qū),包括硬盤引導(dǎo)程序和分區(qū)表。在總共512字節(jié)的硬盤主引導(dǎo)扇區(qū)中,MBR只占用了其中的446個字節(jié),其最后兩個字節(jié)“55 AA”是分區(qū)的結(jié)束標(biāo)志。另外的64個字節(jié)交給了DPT(Disk Partition Table 硬盤分區(qū)表),從1BEH字節(jié)開始,共占用64個字節(jié),包含四個分區(qū)表項。每個分區(qū)表項的長度為16個字節(jié),它包含一個分區(qū)的引導(dǎo)標(biāo)志、系統(tǒng)標(biāo)志、起始和結(jié)尾的柱面號、扇區(qū)號、磁頭號以及本分區(qū)前面的扇區(qū)數(shù)和本分區(qū)所占用的扇區(qū)數(shù)。其中“引導(dǎo)標(biāo)志”表明此分區(qū)是否可引導(dǎo),即是否活動分區(qū)。當(dāng)引導(dǎo)標(biāo)志為“80”時,此分區(qū)為活動分區(qū);“系統(tǒng)標(biāo)志”決定了該分區(qū)的類型,如“06”為FAT16分區(qū),“0B”為FAT32分區(qū),“07”為NTFS分區(qū),“63”為UNIX分區(qū),等;起始和結(jié)尾的柱面號、扇區(qū)號、磁頭號指明了該分區(qū)的起始和終止位置。
我們假設(shè)一個硬盤分區(qū)表從1BEH字節(jié)開始的16個字節(jié)為 80 01 01 00 06 0D 68 6D 28 00 00 00 78 20 03 00
硬盤分區(qū)表項的16個字節(jié)分配如下:
第1字節(jié):是一個分區(qū)的激活標(biāo)志,表示系統(tǒng)可引導(dǎo)。如是0則表示非活動分區(qū)。
第2字節(jié):該分區(qū)起始磁頭(HEAD)號
第3字節(jié):該分區(qū)起始扇區(qū)(Sector)號
第4字節(jié):該分區(qū)起始的柱面(Cylinder)號
第5字節(jié):該分區(qū)系統(tǒng)類型標(biāo)志
第6—8字節(jié):該分區(qū)終止磁頭(HEAD)號、分區(qū)結(jié)束的扇區(qū)號、分區(qū)結(jié)束的柱面號
第9-12字節(jié):該分區(qū)首扇區(qū)的相對扇區(qū)號
第13-16字節(jié):該分區(qū)占用的扇區(qū)總數(shù)
以上參數(shù)我們可以用NU 8.0中DISKEDIT工具軟件可輕松獲取,其功能非常強大,但應(yīng)用不當(dāng)會有很大錯誤,請各位注意使用方法。操作步驟如下:
以一臺硬盤為270 MB,分為C盤(100 MB)和D盤(170 MB)的機子(老掉牙了 ^_^)為例,在純DOS下啟動DISKEDIT → 在對象菜單(Object)上選中驅(qū)動器(Drive)和物理磁盤選項后確定 → 在對象菜單(Object)上選中分區(qū)表(Partition Table) → 在顯示菜單(View)中選擇十六進制(Hex)
以下數(shù)據(jù)為主分區(qū)信息:
000001B0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 80 01
000001C0: 01 00 06 0D 68 6D 28 00 - 00 00 78 20 03 00 00 00
000001D0: 41 6E 05 0D E8 AE A0 20 - 03 00 30 EE 04 00 00 00
000001E0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 00 00
000001F0: 00 00 00 00 00 00 00 00 - 00 00 00 00 00 00 55 AA
② DBR(Dos Boot Record 操作系統(tǒng)引導(dǎo)記錄區(qū))
它通常位于硬盤的0磁道1柱面1扇區(qū),是操作系統(tǒng)可直接訪問的第一個扇區(qū),它包括一個引導(dǎo)程序和一個被稱為BPB(BIOS Parameter Block)的本分區(qū)參數(shù)記錄表。引導(dǎo)程序的主要任務(wù)是當(dāng)MBR將系統(tǒng)控制權(quán)交給它時,判斷本分區(qū)跟目錄前兩個文件是不是操作系統(tǒng)的引導(dǎo)文件(以DOS為例,即是Io.sys和Msodos.sys)。如果確定存在,就把它們讀入內(nèi)存,并把控制權(quán)交給該文件。BPB參數(shù)塊記錄著本分區(qū)的起始扇區(qū)、結(jié)束扇區(qū)、文件存儲格式、硬盤介質(zhì)描述符、根目錄大小、FAT個數(shù)、分配單元的大小等重要參數(shù)。DBR是由高級格式化程序(即Format等程序)所產(chǎn)生的。
③ FAT(File Allocation Table 文件分配表)
FAT是DOS、Windows 9X系統(tǒng)的文件尋址格式,位于DBR之后。
在解釋文件分配表的概念的時候,我們有必要談?wù)劥兀–luster)的概念。文件占用磁盤空間,基本單位不是字節(jié)而是簇。一般情況下,軟盤每簇是1個扇區(qū),硬盤每簇的扇區(qū)數(shù)與硬盤的總?cè)萘看笮∮嘘P(guān),可能是4、8、16、32、64……
同一個文件的數(shù)據(jù)并不一定完整地存放在磁盤的一個連續(xù)的區(qū)域內(nèi),而往往會分成若干段,像一條鏈子一樣存放。這種存儲方式稱為文件的鏈?zhǔn)酱鎯ΑS捎谟脖P上保存著段與段之間的連接信息(即FAT),操作系統(tǒng)在讀取文件時,總是能夠準(zhǔn)確地找到各段的位置并正確讀出。
為了實現(xiàn)文件的鏈?zhǔn)酱鎯Γ脖P上必須準(zhǔn)確地記錄哪些簇已經(jīng)被文件占用,還必須為每個已經(jīng)占用的簇指明存儲后繼內(nèi)容的下一個簇的簇號。對一個文件的最后一簇,則要指明本簇?zé)o后繼簇。這些都是由FAT表來保存的,表中有很多表項,每項記錄一個簇的信息。由于FAT對于文件管理的重要性,所以為了安全起見,F(xiàn)AT有一個備份,即在原FAT的后面再建一個同樣的FAT。初形成的FAT中所有項都標(biāo)明為“未占用”,但如果磁盤有局部損壞,那么格式化程序會檢測出損壞的簇,在相應(yīng)的項中標(biāo)為“壞簇”,以后存文件時就不會再使用這個簇了。FAT的項數(shù)與硬盤上的總簇數(shù)相當(dāng),每一項占用的字節(jié)數(shù)也要與總簇數(shù)相適應(yīng),因為其中需要存放簇號。FAT的格式有多種,最為常見的是FAT16和FAT32。
④ DIR (Directory 根目錄區(qū))
DIR位于第二個FAT表之后,記錄著根目錄下每個文件(目錄)的起始單元,文件的屬性等。定位文件位置時,操作系統(tǒng)根據(jù)DIR中的起始單元,結(jié)合FAT表就可以知道文件在硬盤中的具體位置和大小了。
⑤ DATA(數(shù)據(jù)區(qū))
數(shù)據(jù)區(qū)是真正意義上的數(shù)據(jù)存儲的地方,位于DIR區(qū)之后,占據(jù)硬盤的大部分空間。當(dāng)將數(shù)據(jù)復(fù)制到硬盤時,數(shù)據(jù)就存放在DATA區(qū)。
維護工具箱
★ 修復(fù)硬盤主引導(dǎo)記錄 ★
由于病毒的破壞或操作上的失誤,使硬盤主引導(dǎo)記錄和分區(qū)表損壞,硬盤將 無法啟動。
① KV3000
作為一款著名的殺毒軟件,KV3000同樣具有非常強大的主引導(dǎo)記錄和分區(qū)修復(fù)的功能。我們可以先用軟盤啟動后,執(zhí)行KV3000,按下F6鍵,就可查看已經(jīng)不能引導(dǎo)的硬盤隱含扇區(qū),即查看硬盤0面0柱1扇區(qū)主引導(dǎo)信息是否正常,如果在 硬盤的0面0柱1扇區(qū),沒有找到關(guān)鍵代碼,即硬盤分區(qū)表關(guān)鍵代碼“80”“55 AA ”,那么硬盤本身將不能引導(dǎo),即使軟盤引導(dǎo)后也不能進入硬盤。這時,可按動翻頁鍵PgDn或PgUp鍵,在硬盤的隱含扇區(qū)內(nèi)查找,如有,會在表中出現(xiàn)閃動的紅色“80”和“55AA”,并響一聲來提示你,下行會出現(xiàn)一行提示,“F9=Save To Side 0 Cylinder 0 Sector 1 !!!”。這時,按一下“F9”鍵,就可將剛找 到的、即在表中顯示出的原硬盤主引信息, 覆蓋到硬盤0面0柱1扇區(qū)中,然后, 機器會重新引導(dǎo)硬盤,恢復(fù)硬盤的起動性能。
② FDISK
用FDISK/MBR覆蓋主引導(dǎo)記錄的代碼區(qū),但不重建主分區(qū)表。適用于主引導(dǎo)記錄被引導(dǎo)區(qū)型病毒破壞或主引導(dǎo)記錄代碼丟失,但主分區(qū)表并未損壞的情況下 。注意:FDISK/MBR并不適用于清除所有引導(dǎo)型病毒,因此要慎用。
③ FIXMBR
FIXMBR是專門用于重新構(gòu)造主引導(dǎo)扇區(qū)的小工具,使用方法也簡單。直接運 行FIXMBR的情況下它將檢查MBR結(jié)構(gòu),如果發(fā)現(xiàn)系統(tǒng)不正常則會出現(xiàn)是否進行修復(fù)的提示。如果回答“YES”,它將搜索分區(qū)。當(dāng)搜索到相應(yīng)的分區(qū)以后,系統(tǒng) 會提示是否修改MBR,回答“YES”則開始自動修復(fù),如果搜索的結(jié)果不對,可使 用/Z開關(guān)符,重新啟動系統(tǒng)將恢復(fù)到原來的狀態(tài)。如果想詳細(xì)了解FIXMBR的使用方法,可以用/H開關(guān)來查看。
★ 修復(fù)硬盤分區(qū)表 ★
① KV3000
在KV3000的主菜單上,按下F10鍵,就可對系統(tǒng)的有關(guān)參數(shù)和硬盤分區(qū)表快 速測試, 如果硬盤分區(qū)表不正常,KV3000會先將壞分區(qū)表保存到軟盤上以防不測,再自動重建硬盤分區(qū)表,使硬盤起死回生。
但如果硬盤只有一個分區(qū),而且文件分配表(FAT表)、文件目錄表(ROOT表) 嚴(yán)重?fù)p壞,數(shù)據(jù)已經(jīng)都沒有了。那么,用這個功能即使恢復(fù)了C盤分區(qū)表,也不 能使C盤引導(dǎo),數(shù)據(jù)也不能恢復(fù)。這時需要配合其它的硬盤修復(fù)工具來恢復(fù)數(shù)據(jù)。如果硬盤還有D、E、...等幾個分區(qū),一般情況下,KV3000能找回后面沒有被 破壞掉的分區(qū),重建一個新的硬盤分區(qū)表,然后,再用DOS系統(tǒng)軟盤引導(dǎo)機器后,就可進入硬盤后面幾個分區(qū),將數(shù)據(jù)備出后,再將硬盤重新分區(qū)、格式化。
KV3000修復(fù)硬盤的詳細(xì)使用方法,大家可以查看KV3000殺毒軟件的使用說明文件,也可以到江民網(wǎng)站去查看。
② FDISK
用FDISK還可以新建立分區(qū)、重建主分區(qū)表,但這種方法不覆蓋主引導(dǎo)記錄的代碼區(qū)。如果要保證硬盤內(nèi)數(shù)不受破壞,分區(qū)時必需與原來的分區(qū)相一致,否 則數(shù)據(jù)不保。具體的使用方法我就不哆嗦了,建議大家使用FDISK的漢化版,很容易上手。
③ DiskMan
DiskMan過人之處就在于它的硬盤分區(qū)表恢復(fù)功能,并采用圖形界面,以圖 表方式表示分區(qū)表的詳細(xì)結(jié)構(gòu)。使用方法詳見《寶刀不老的小工具——DiskMan 》
★ 挽救硬盤FAT(文件分配表)和DIR(根目錄表) ★
如果FAT表損壞,就可能丟失所有文件,即便對DOS很精通的人,要修復(fù)FAT表 損壞的磁盤文件也不是件輕松的事情。
① NDD(Norton Utilities 8.0)
啟動NU工具包中的磁盤修復(fù)程序NDD,在其菜單中選擇Options/General確認(rèn) NDD將進行包括主引導(dǎo)區(qū)和CMOS在內(nèi)的全面檢查,然后在主菜單中選擇Diagnose Disk對硬盤進行診斷,NDD在發(fā)現(xiàn)錯誤時將會自動報告,并提示錯誤描述( Description)和推薦意見(Recommendation),可以根據(jù)情況選擇修復(fù)與否。修復(fù)時注意保存UNDO磁盤,以便恢復(fù)操作之用。在修復(fù)過程中,尤其是在表面測 試(Surface Test)過程中如果提示讀寫錯誤,則說明硬盤存在物理損壞,數(shù)據(jù) 可能會丟失。
在診斷、修復(fù)結(jié)束后重新啟動計算機,若能對C盤進行訪問則大功告成,可以通過備份數(shù)據(jù)、重裝操作系統(tǒng)簡單地恢復(fù)硬盤功能。否則只能進行恢復(fù)操作( UNDO),嘗試手工或通過其他方法恢復(fù)。但NDD(Norton Utilities 8.0)只能在DOS下運行,且不支持FAT32格式。
② SCANDISK
微軟操作系統(tǒng)自帶的類似NDD的硬盤檢測工具,大家對它應(yīng)該都不會陌生,因為我們在WIN 9X非法關(guān)機后重啟時它就會自動運行掃描硬盤,用法有點類似 NDD。
③ CHKDSK
同樣也是微軟操作系統(tǒng)自帶的DOS下專門用于檢查硬盤的工具,CHKDSK/F命 令格式專門用來撿回硬盤的丟失簇并釋放丟失的硬盤空間,有時我們可以在它運 行以后生成的*.CHK文件里找到一些重要的數(shù)據(jù)。
硬盤的FAT表與根目錄隨著用戶寫入和刪除文件而不斷變化,如果能經(jīng)常備份FAT表和根目錄,當(dāng)FAT表損壞時用回寫FAT表、根目錄的方法,可以使硬盤恢 復(fù)到上一次保存的狀態(tài)。當(dāng)硬盤的FAT表或根目錄損壞,需要將保存的FAT表、根 目錄數(shù)據(jù)回寫時,必須保證FAT表和根目錄的起始邏輯扇區(qū)號和長度(扇區(qū)個數(shù))正確。
★ 恢復(fù)誤刪除的分區(qū) ★
① FDISK & FORMAT
如果在誤刪除分區(qū)后沒有執(zhí)行過其他分區(qū)操作,按照下面的方法一般都能夠 恢復(fù)原來的數(shù)據(jù):執(zhí)行FIDSK分區(qū)程序,重建刪除的分區(qū),但是注意要保持分區(qū) 與原來分區(qū)在大小、位置上一致;重新啟動系統(tǒng)到MS—DOS模式,執(zhí)行“Format X:/u/q”(X為誤刪的擴展分區(qū)盤符)。這時系統(tǒng)首先會警告說:“這是一個大 硬盤,如果格式化,數(shù)據(jù)將全部丟失”,這時選擇“YES”;而后系統(tǒng)會告訴你 該分區(qū)無法進行快速格式化并問你是否進行“完整格式化”,回答“NO”。該步驟的關(guān)鍵是加入?yún)?shù)/q(快速格式化),這樣進行一次“假格式化”后,如果沒 有什么意外的話,應(yīng)該可以訪問該分區(qū)的數(shù)據(jù)了。
另外,該方法恢復(fù)的分區(qū)有可能在再次重啟系統(tǒng)后無法訪問,雖然仍可以按 上面的方法恢復(fù)數(shù)據(jù),但我們建議恢復(fù)分區(qū)后備份該分區(qū)所有數(shù)據(jù),而后執(zhí)行完整的格式化過程。
★ 硬盤零磁道損壞的搶救 ★
① DE (PCTOOLS 9.0)
如果運行ScanDisk掃描C盤在第一簇出現(xiàn)一個紅色的“B”,即說明C盤零磁道損壞!在DOS下運行DE,先進入Options菜單,選項Configuration,按空格去 掉Read Only(只讀模式)前面的“√”號(按Tab鍵切換),保存退出。接著選主菜單Select中的Drive;進去后在Drive type項選Physical,按空格選定,再 按Tab鍵切換到Drive項,選中hard disk,然后選OK回車。之后回到主菜單,打 開Select菜單,這時會出現(xiàn)Partition Table,選中并進入,之后就可以看見硬 盤的分區(qū)表信息。例如:該硬盤有兩個分區(qū),那么在硬盤的分區(qū)表信息中我們可以看到1分區(qū)就是C盤,該分區(qū)是從硬盤的0柱面開始的,那么將1分區(qū)的Beginnig Cylinder的0改成1就可以了。保存后退出。重新啟動進入BIOS,運行自動偵測硬 盤可以看到CYLS的個位數(shù)減少了一位(例如:782→781),保存退出,重新分區(qū) 格式化,大功告成。
但DE不支持FAT32格式且只在DOS下運行,而且PCTOOLS 9.0現(xiàn)在已經(jīng)不太好 找了,想當(dāng)年它與Norton Utilities 8.0在工具軟件之中是兩朵奇葩……
② PQMAGICT
大名鼎鼎的分區(qū)魔術(shù)師(Partition Magician)可能是大家最常用的硬盤分 區(qū)工具。PQMAGICT是它的DOS版的工具,用它來修復(fù)損壞的硬盤零磁道可謂易如 反掌。
假設(shè)一塊硬盤有兩個分區(qū)(C、D),用ScanDisk檢查D盤時顯示D盤零磁道損 壞,因此不能用FORMAT不能進行格式化,如果用FDISK重新調(diào)整邏輯D盤的大小, 使D盤的邏輯0磁道向前或向后移動,跨越這個壞磁道,但這樣一來,就會破壞C 盤上的所有數(shù)據(jù)。因此這時我們必須借助PQMAGICT的威力。首先在DOS下啟動 PQMAGICT(必須先把PQ COPY到C盤),選擇查看D盤,此時屏幕會顯示D盤的分區(qū)和容量信息,然后選擇Option菜單中的Reszie Selected Partition,用鼠標(biāo)拖 動左邊的容量標(biāo)尺,讓D區(qū)減少一點,或者直接手動輸入分配D區(qū)的容量大小,目 的是空出壞的區(qū)域,確定后PQMAGICT便開始對D區(qū)進行轉(zhuǎn)換,完成以后退出 PQMAGICT。這樣對C盤上的文件秋毫無犯,且D盤又重見天日了。
② SPecialFDisk
SPecialFDisk在建立主分區(qū)時可由使用者自定啟始柱面,故可跳過損壞的柱 面區(qū)域。此招是SPecialFDisk的一個必殺技,使用方法請詳見《寶刀不老的小工 具——SPecialFDisk》
★ 搶救被“邏輯鎖”鎖定的硬盤 ★
① DM
中了“邏輯鎖”的硬盤不能用軟盤、光驅(qū)、雙硬盤正常啟動,但我們可以利 用軟件DM為硬盤解鎖。因為DM是不依賴于主板BIOS識別硬盤的硬盤工具,就算在主板BIOS中將硬盤設(shè)為“NONE”,DM也可識別硬盤并進行分區(qū)和格式化等操作。 首先你要把DM拷到一張系統(tǒng)盤上,接上被鎖硬盤后開機,按DEL鍵進入BIOS設(shè)置 ,將IDE硬盤設(shè)為“NONE”(這是關(guān)鍵所在!)。保存設(shè)置后退出,系統(tǒng)即可“ 帶鎖”啟動。啟動后運行DM,你會發(fā)現(xiàn)DM可以識別出硬盤。選中該硬盤進行分區(qū) 格式化就可以了。但是,這種方法的弱點是硬盤上的數(shù)據(jù)將全部丟失。
硬盤軟故障的產(chǎn)生原因比較復(fù)雜,病毒、誤操作,甚至一次意外掉電都可能 使硬盤崩潰。因此平時一定要養(yǎng)成備份硬盤重要數(shù)據(jù)的習(xí)慣,在關(guān)鍵時刻才用得上。
分析排除篇
硬盤故障大致可分為硬故障和軟故障兩大類。 硬故障即PCBA板損壞、盤片劃傷、磁頭音圈電機損壞等。由于硬故障維修要 求的基本知識及維修條件較高,需要由專業(yè)技術(shù)人員才能解決,所以在本文中不作討論。
軟故障即硬盤數(shù)據(jù)結(jié)構(gòu)由于某種原因,比如說病毒導(dǎo)致硬盤數(shù)據(jù)結(jié)構(gòu)混亂甚 至不可被識別而形成的故障。一般來說,主板BIOS硬盤自動檢測(IDE HDD AUTO DETECTION)功能能夠檢測到硬盤參數(shù),均為軟故障。
一般情況下,硬盤在發(fā)生故障時系統(tǒng)會在屏幕上顯示一些提示信息,所以我 們可以按照屏幕顯示的提示信息找到故障原因,有針對性地實施解決方案。
★ 常見的硬盤啟動出錯信息及分析處理 ★
① Non-System disk or disk error,replace disk and press a key to reboot (非系統(tǒng)盤或盤出錯)
出現(xiàn)這種信息的原因一是CMOS參數(shù)丟失或硬盤類型設(shè)置錯誤造成的。只要進入CMOS重新設(shè)置硬盤的正確參數(shù)即可。二是系統(tǒng)引導(dǎo)程序未裝或被破壞。重新傳 遞引導(dǎo)文件并安裝系統(tǒng)程序。
② Invalid Partition Table(無效分區(qū)表)
造成該故障的原因一般是硬盤主引導(dǎo)記錄中的分表有錯誤,當(dāng)指定了多個自 舉分區(qū)(只能有一個自舉分區(qū))或病毒占用了分區(qū)表時,將有上述提示。
主引導(dǎo)記錄(MBR)中包括引導(dǎo)程序、分區(qū)表和結(jié)束標(biāo)志“55 AA”三個部分 ,共占一個扇區(qū)。主引導(dǎo)程序中含有檢查硬盤分區(qū)表的程序代碼和出錯信息、出 錯處理等內(nèi)容。當(dāng)硬盤啟動時,主引導(dǎo)程序?qū)z查分區(qū)表中的自舉標(biāo)志。若某個分區(qū)為可自舉分區(qū),則有分區(qū)標(biāo)志“80”,否則為“00”,系統(tǒng)規(guī)定只能有一個分區(qū)為自舉分區(qū),若分區(qū)表中含有多個自舉標(biāo)志時,主引導(dǎo)程序會給“Invalid Partition Table”的錯誤提示。最簡單的解決方法是用硬盤維護工具來修復(fù),例如:用NU 8.0 NDD修復(fù),它將檢查分區(qū)表中的錯誤,若發(fā)現(xiàn)錯誤,將會詢問是 否愿意修改,你只要不斷地回答“YES”即可修正錯誤,或者用備份過的分區(qū)表 覆蓋它也行。如果是由于病毒感染了分區(qū)表,即使是高級格式化也解決不了問題 ,可先用殺毒軟件殺毒,再用硬盤維護工具進行修復(fù)。
如果用上述方法也不能解決的話,還可利用FDISK重新分區(qū),但分區(qū)大小必須和原來的分區(qū)一樣,這一點尤為重要,分區(qū)后不要進行高級格式化,然后用 NDD進行修復(fù)。這樣既保證硬盤修復(fù)之后能啟動,而且硬盤上的數(shù)據(jù)也不會丟失。其實用FDISK分區(qū),相當(dāng)于用正確的分區(qū)表覆蓋掉原來的分區(qū)表。尤其當(dāng)用軟 盤啟動后不認(rèn)硬盤時,這招特靈。
③ Error Loading Operating System(裝入DOS引導(dǎo)記錄錯誤)
Missing Operating System(DOS引導(dǎo)記錄損壞)
造成該故障的原因一般是DOS引導(dǎo)記錄出現(xiàn)錯誤。DOS引導(dǎo)記錄位于邏輯0扇 區(qū),是由高級格式化命令FORMAT生成的。主引導(dǎo)程序在檢查分區(qū)表正確之后,根 據(jù)分區(qū)表中指出的DOS分區(qū)的起始地址,讀DOS引導(dǎo)記錄,若連續(xù)五次都失敗,則 給出“Error Loading Operating System”的錯誤提示;若能正確讀出DOS引導(dǎo) 記錄,主引導(dǎo)程序則會將DOS引導(dǎo)記錄送入內(nèi)存0:7c00h處,然后檢查DOS引導(dǎo)記 錄的最后兩個字節(jié)是否為“55 AA”,若不是這兩個字節(jié),則給出“Missing Operating System”的提示。一般情況下可以用硬盤修復(fù)工具(如NDD)修復(fù), 若不成功只好用FORMAT C:/S命令重寫DOS引導(dǎo)記錄。
④ No ROM Basic,System Halted(不能進入ROM Basic,系統(tǒng)停止響應(yīng))
造成該故障的原因一般是硬盤主引導(dǎo)區(qū)損壞或被病毒感染,或是分區(qū)表中無 自舉標(biāo)志,或是結(jié)束標(biāo)志“55 AA”被改寫。執(zhí)行FDISK/MBR可以生成正確的引導(dǎo) 程序和結(jié)束標(biāo)志覆蓋硬盤上的主引導(dǎo)程序。但FDISK/MBR不能對付所有由引導(dǎo)區(qū) 病毒感染而引起的硬盤分區(qū)表損壞的故障,詳見《引導(dǎo)型病毒的原理與 FDISK/MBR的正確使用》,應(yīng)該謹(jǐn)慎使用。對于分區(qū)表中無自舉標(biāo)志的故障,可 用NDD迅速恢復(fù)。
⑤ HDD controller failure Press F1 to Resume(硬盤控制器失效,按F1 鍵重啟)
出現(xiàn)上述信息應(yīng)該屬于硬件故障,應(yīng)該重點檢查硬盤有關(guān)的電源線、數(shù)據(jù)線 的接口有無松動、接觸不良、信號線接反等,其次還要檢查硬盤的跳線是否設(shè)置錯誤。
⑥ FDD contreller failure HDD contrller failure Press any key to Resume(軟、硬盤控制器失效,按任意鍵重新啟動)
也屬于硬件故障,通常是連接軟、硬盤的I/O部分接觸不良或有損壞,這個比較麻煩,輕的還可修理,嚴(yán)重的搞不好就得換配件了。
另外,當(dāng)運行了“HAPPY NEW YEAR 1999”硬盤“邏輯鎖”程序以后會在DOS 窗口出現(xiàn)“YOUR COMPUTER HAS BEEN LOCKED DOWN BY XXXXXX,PLEASE RESTART YOUR SYSTEM”的信息,系統(tǒng)在重新啟動自檢完后就會停止。著名的“KV300邏輯 炸彈”也屬于此類。
因為計算機在引導(dǎo)DOS系統(tǒng)時將會搜索所有邏輯盤的順序,當(dāng)DOS被引導(dǎo)時, 首先要去找主引導(dǎo)扇區(qū)的分區(qū)表信息,就是位于硬盤0面0頭1扇區(qū)的0BEH地址開始的地方,如果分區(qū)信息開始的地方為80H,這表示是主引導(dǎo)分區(qū),其它的為擴 展分區(qū)。主引導(dǎo)分區(qū)被定義為邏輯C盤,然后查找擴展分區(qū)的邏輯盤,被定義為D 盤,以此類推找到E、F、G盤……“邏輯鎖”就是在此下手,修改了正常的主引導(dǎo)分區(qū)記錄,將擴展分區(qū)的第一個邏輯盤指向自已,DOS在啟動時查找到第一個 邏輯盤后,搜索下一個邏輯盤時總是找到自已,這樣一來就形成死循環(huán)。這就是硬盤中了“邏輯鎖”后用軟驅(qū)、光驅(qū)、雙硬盤都不能正常啟動的原因。用相應(yīng)的 解鎖工具才能解開硬盤“邏輯鎖”,如果用DM軟件雖然可以解開,但解開之后的硬盤數(shù)據(jù)將不復(fù)存在。
對于一般用戶,當(dāng)硬盤發(fā)生軟故障時往往不知所措,但又想讓硬盤在短時間 內(nèi)恢復(fù)工作。如果問題不太嚴(yán)重的話,我們可以按照以下的逐一排除法來解決。
★ 硬盤軟故障排除的一般步驟 ★
① 檢查主板BIOS中硬盤工作模式,看是否正確設(shè)置硬盤。
② 用相應(yīng)操作系統(tǒng)的啟動盤啟動計算機。
③ 檢查硬盤分區(qū)結(jié)束標(biāo)志(最后兩個字節(jié))是否為“55 AA”;活動分區(qū)引 導(dǎo)標(biāo)志是否為“80”。我們可以利用一些工具來查看,例如:KV3000,可用其F6 功能查看,用F10功能自動修復(fù)。或用Fdisk/MBR重建分區(qū)表。
④ 用殺毒軟件查、殺病毒。
⑤ 如果硬盤無法啟動,可用系統(tǒng)盤傳送系統(tǒng)文件(SYS C:回車)。
⑥ 運行Scandisk命令或NU 8.0 NDD以檢查并修復(fù)FAT表或DIR區(qū)的錯誤。
⑦ 如果軟件運行出錯,可重新安裝操作系統(tǒng)及應(yīng)用程序。
⑧ 如果軟件運行依舊出,可對硬盤重新分區(qū)、高級格式化以后重裝系統(tǒng)。 必要時可對硬盤進行低級格式化。
硬盤實用技術(shù):硬盤的軟故障的判斷與排除
1、硬盤空間丟失
首先我們要正確認(rèn)識硬盤容量大小的有關(guān)問題。硬盤的實際容量一般都小于其標(biāo)稱容量。造成這種情況的主要原因是,生產(chǎn)廠家一般按每兆1000K字節(jié)計算容量,而大多數(shù)主板的BIOS及測試軟件是以1048K為一兆計算。這樣一來二者間便出現(xiàn)了大約5%的差異。而硬盤容量又有純粹由磁頭數(shù)、柱面數(shù)等物理參數(shù)計算得到的物理盤容量以及在經(jīng)過分區(qū)、格式化
等操作后實際可用空間的邏輯盤容量之分。此外在CMOS中選擇不同的工作模式(NORMA、LBA、LARGE),也會造成容量的不一致。由于有這些因素的影響,一般而言硬盤測試容量與標(biāo)稱容量存在5%-10%左右的差距是基本正常的。
和硬盤容量有關(guān)的是主板CMOS中NORMAL、LBA、LARGE的三種硬盤模式 ,簡單說由于最早的BIOS只支持不大于528M容量的硬盤,BIOS中的 C/H/S參數(shù)與硬盤實際的完全一樣,這時硬盤的模式就是NORMAL,后來為解決528M的限制出現(xiàn)了LARGE模式,它通過增加邏輯柱面的數(shù)目,使BIOS支持的容量擴大了一倍,但這是個過度的模式,很快就沒有使用了。隨著大容量硬盤的流行,現(xiàn)在CMOS的硬盤模式中,實際上只有LBA一項有實用意義,而設(shè)為NORMAL、LARGE都不能正常識別及使用大容量硬盤。
硬盤空間丟失的原因有很多,如誤操作、程序非正常退出、非正常關(guān)機、病毒感染、程序運行中的錯誤或者對硬件分區(qū)的不合理等情況都會造成硬盤空間的丟失。
1)、臨時文件造成硬盤空間的浪費
應(yīng)用程序在運行時非正常退出,會使很多.TMP類型的文件繼續(xù)存放在硬盤中,在Windows窗口環(huán)境中運行應(yīng)用程序時,會自動產(chǎn)生以~GRB開頭的用于存放有關(guān)屏幕信息的文件,別外,還有一個用于Windows本身臨時交換文件的win386.swp。當(dāng)程序正常退出運行之前,應(yīng)用程序會將這些文件刪除,而非正常退出時,應(yīng)用程序無法刪除它們。可以定期清理這些文件。
2)、簇的丟失使硬盤空間丟失
文件分配表(FAT)是軟盤或硬盤上的一個隱含表。FAT記錄如何將文件存儲在特定的(不一定是連續(xù)的)簇上。文件分配表采用一種簡單的方法不停地跟蹤數(shù)據(jù)。在FAT中,第一簇的入口是用于存儲文件的第二簇的地址。在第二個簇入口處則是第三個簇的地址,等等,直到包含文件結(jié)束碼的最終簇入口。 很明顯,如果FAT表數(shù)據(jù)因為某種原因遭到破壞,就會導(dǎo)致硬盤數(shù)據(jù)的邏輯連續(xù)性發(fā)生紊亂,從而發(fā)生硬盤空間丟失的問題。這種空間丟失的故障用一般的磁盤修復(fù)工具都可以解決,但數(shù)據(jù)往往無法修復(fù)。 由于傳統(tǒng)FAT格式的缺陷,若某個簇沒有在任何文件分配鏈中出現(xiàn),而且該簇在相應(yīng)的文件分配表中又被標(biāo)記為非零時,這時該簇既沒有被任何文件使用,又不可以再為其他文件所用,這樣就發(fā)生了"簇丟失"現(xiàn)象。簇的丟失必然導(dǎo)致硬盤空間的丟失。這種"丟失"空間的現(xiàn)象通常是由于程序在運行中非正常終止、在Win98環(huán)境中非正常關(guān)機等原因造成的。
3)、分區(qū)過大造成硬盤空間的浪費
對硬盤的邏輯分區(qū)是否合理,這不僅關(guān)系到硬盤文件的分類管理,而且也直接關(guān)系到硬盤空間的充分利用。下表就是使用FAT16的簇和硬盤物理空間的關(guān)系:
磁盤空間或分區(qū)大小 簇的大小
16M至128M 2K
128M至256M 4K
256M至512M 8K
512M至1GB 16K
1GB至2GB 32K
2GB至4GB 64K
我們知道文件的存儲是以簇為單位的,也就是說一個文件要占用一個或多個簇,而簇是由一個或多個扇區(qū)構(gòu)成。如果一個簇只有一個字節(jié)被一個文件占用,那么該簇的其他部分即使是空閑的,也不能被別的文件所利用,這樣空間就被浪費了。由此可見對硬盤分區(qū)在大小劃分上是否合理,直接關(guān)系到硬盤空間的使用情況。
4、)合理使用硬盤空間的設(shè)置
回收站空間設(shè)置直接影響到硬盤上可用空間的大小,最好你的回收站大小設(shè)置為硬盤空間的5%,并且你要定期清空你的回收站。再有一點就是,IE中的Internet文件臨時存放空間的設(shè)置,如果你將它設(shè)置得太大,它存儲的Internet文件就會占用你的硬盤空間。
5、)硬盤出現(xiàn)壞道
如果硬盤出現(xiàn)了壞道也會導(dǎo)致容量減少,這種問題就是硬盤的硬件問題了。壞道是有傳染性的。一旦發(fā)現(xiàn)一個壞道,基本表明你硬盤的壽命不長了。用軟件處理只是權(quán)宜之計。如果你的硬盤還在保修期內(nèi)的話,趕緊備份重要數(shù)據(jù),然后找經(jīng)銷商換。畢竟很多時候盤上的數(shù)據(jù)比硬盤本身更值錢。
2、加裝雙硬盤后出現(xiàn)故障
有些朋友在新加了一個硬盤,WIN98就無法啟動了,取下新加的硬盤后一切又正常了。這是因為你的WIN98裝在原硬盤的非C盤(如D盤)上,而加裝雙硬盤后在原硬盤存在多分區(qū)的情況下,要引起盤符交錯,導(dǎo)致原硬盤的盤符發(fā)生變化變,WIN98在啟動時找不到安裝時默認(rèn)的相關(guān)系統(tǒng)文件及眾多應(yīng)用程序,自然不可能正常啟動。
在多分區(qū)的情況下,硬盤分區(qū)的排列順序有些古怪:主硬盤的主分區(qū)仍被計算機認(rèn)為是C盤,而第二硬盤的主分區(qū)則被認(rèn)為是D盤,接下來是第一硬盤的其他分區(qū)依次從E盤開始排列,然后是第二硬盤的其他分區(qū)接著第一硬盤的最后盤符依次排列。要使加上第二硬盤后盤符不發(fā)生變化,解決的辦法有兩個:如果你只使用WIN98的話,比較簡單,在CMOS中將第二硬盤設(shè)為NONE即可,但在純DOS下不認(rèn)第二個硬盤。第二種方法是接上雙硬盤后,給第二個硬盤重新分區(qū),刪掉其主DOS分區(qū),只分?jǐn)U展分區(qū)。這樣盤符也不會交錯。當(dāng)然若第一硬盤只有一個分區(qū)的話,也不存在盤符交錯的問題。
3、硬盤無法引導(dǎo)
硬盤無法引導(dǎo)系統(tǒng)的故障是非常常見的。原因一般是因為操作系統(tǒng)的重要文件被病毒破壞,或操作失誤,導(dǎo)致破壞。引導(dǎo)區(qū)和分區(qū)表損壞。 一般情況下遇到此類問題處理的過程如下:首先你應(yīng)該確認(rèn)電源和信號電纜連接無誤(尤其注意信號電纜的方向不要接反),然后進入主板BIOS的硬盤設(shè)置,選擇自動識別硬盤,看能否正確識別硬盤,若BIOS在識別時長時間停留不動,最后無法識別該硬盤,則多半是硬盤硬件故障,你自己是無法處理的,趕緊退還你朋友了事^_^。如果主板能正確識別該盤你就不用著急了,首先向朋友問清楚該盤是否是新硬盤,若是新硬盤你應(yīng)該分區(qū)格式化后才能識別,如果是已做好的硬盤則很可能是因為該盤采用了FAT32分區(qū)。用DOS6.22啟動當(dāng)然是不能識別的,建議換用WIN98的啟動盤。
一旦出現(xiàn)無法引導(dǎo)的故障,首先應(yīng)該用軟盤啟動,如果硬盤還能識別,處理起來比較簡單, 一般用SYS A: C:命令即可。如果無效的話可以試試Ndd軟件包中的一個工具MAKEDISKBOOT。
如果問題比較嚴(yán)重的話,最好先想法備份出重要數(shù)據(jù),然后分區(qū)格式化。你先試試fdiak/mbr重寫主引導(dǎo)區(qū), 另外用FDISK檢查并激活分區(qū)。最后執(zhí)行format c:/s。
4、邏輯鎖的處理
被“邏輯鎖”鎖住硬盤是比較嚴(yán)重的故障。最直接的后果是,用普通將辦法無法啟動系統(tǒng)。其原因在于:
計算機在引導(dǎo)DOS系統(tǒng)時將會搜索所有邏輯盤的順序,當(dāng)DOS被引導(dǎo)時,首先要去找主引導(dǎo)扇區(qū)的分區(qū)表信息,位于硬盤的零頭零柱面的第一個扇區(qū)的OBEH地址開始的地方,當(dāng)分區(qū)信息開始的地方為80H時表示是主引導(dǎo)分區(qū),其他的為擴展分區(qū),主引導(dǎo)分區(qū)被定義為邏輯盤C盤,然后查找擴展分區(qū)的邏輯盤,被定義為D盤,以此類推找到E,F(xiàn),G.....“邏輯鎖”就是在此下手,修改了正常的主引導(dǎo)分區(qū)記錄將擴展分區(qū)的第一個邏輯盤指向自己,DOS在啟動時查找到第一個邏輯盤后,查找下一個邏輯盤總是找到是自己,這樣一來就形成了死循環(huán),這就是使用軟驅(qū),光驅(qū),雙硬盤都不能正常啟動的原因。實際上這“邏輯鎖”只是利用了DOS在啟動時的一個小小缺陷,便令不少高手都束手無策。知道了“邏輯鎖”的“上鎖”原理,要解鎖也就比較容易了。以前我看到有位朋友采用“熱拔插”硬盤電源的方法來處理:就是在當(dāng)系統(tǒng)啟動時,先不給被鎖的硬盤插上電源線,等待啟動完成后再給硬盤“熱插”上電源線,這時如果硬盤沒有燒壞的話,系統(tǒng)就可以控制硬盤了。當(dāng)然這是一種非常危險的方法,大家不要輕易嘗試,下面介紹兩種比較簡單和安全的處理方法。
方法一:修改DOS啟動文件
首先準(zhǔn)備一張DOS6.22的系統(tǒng)盤,帶上debug、pctools5.0、fdisk等工具。然后在一臺正常的機器上,使用你熟悉的二進制編輯工具(debug、pctools5.0,或者Windows下的ultraedit都行)修改軟盤上的IO.SYS文件(修改前記住改該文件的屬性為正常),具體是在這個文件里面搜索第一個“55aa”字符串,找到以后修改為任何其他數(shù)值即可。用這張修改過的系統(tǒng)軟盤你就可以順利地帶著被鎖的硬盤啟動了。不過這時由于該硬盤正常的分區(qū)表已經(jīng)被黑客程序給惡意修改了,你無法用FDISK來刪除和修改分區(qū),而且仍無法用正常的啟動盤啟動系統(tǒng),這時你可以用DEBUG來手工恢復(fù)。使用DEBUG手工修復(fù)硬盤步驟如下:
a:\>debug
-a
-xxxx:100 mov ax,0201 讀一個扇區(qū)的內(nèi)容
-xxxx:103 mov bx,500 設(shè)置一個緩存地址
-xxxx:106 mov cx,0001 設(shè)置第一個硬盤的硬盤指針
-xxxx:109 mov dx,0080 讀零磁頭
-xxxx:10c int 13 硬盤中斷
-xxxx:10e int 20
-xxxx:0110 退出程序返回到指示符
-g 運行
-d500 查看運行后500地址的內(nèi)容
這時候會發(fā)現(xiàn)地址6be開始的內(nèi)容是硬盤分區(qū)的信息,發(fā)現(xiàn)此硬盤的擴展分區(qū)指向自己,這就使DOS或Windows啟動時查找硬盤邏輯盤進去死循環(huán),在DEBUG指示符下用E命令修改內(nèi)存數(shù)據(jù) 具體如下:
E6BE
xx.0 xx.0 xx.0...............
.............................
.......................55 AA
55 AA表示硬盤有效的標(biāo)記,不要修改,xx0表示把以前的數(shù)據(jù)“xx”改成0
再用硬盤中斷13把修改好的數(shù)據(jù)寫入硬盤就可以了,具體如下:
A:\>debug
a 100 表示修改100地址的匯編指令
-xxxx:100 mov ax,0301 寫硬盤一個扇區(qū)
-xxxx: 這里直接按回車
-g 運行
-q 退出
然后運行 FDISK/MBR(重置硬盤引導(dǎo)扇區(qū)的引導(dǎo)程序),再重新啟動電腦就行了。
怎么樣?用這種方法處理夠簡單的吧?而且這種方法還有一個好處就是可以保住盤上的數(shù)據(jù)!如果你不需要保存數(shù)據(jù)的話,還有更加簡單的處理方法: 方法二:巧設(shè)BIOS,用DM解鎖
大家知道DM軟件是不依賴于主板BIOS的硬盤識別安裝軟件,(所以在不能識別大硬盤的老主板上也可用DM來安裝使用大容量硬盤)。就算在BIOS中將硬盤設(shè)為“NONE”,DM也可識別并處理硬盤。
首先你要找到和硬盤配套的DM軟件(找JS或去網(wǎng)上下載),然后把DM拷到一張系統(tǒng)盤上。接上被鎖硬盤,開機,按住DEL鍵,進CMOS設(shè)置,將所有IDE硬盤設(shè)為NONE(這是關(guān)鍵所在!),保存設(shè)置,重啟動,這時系統(tǒng)即可 “帶鎖”啟動。啟動后運行DM,你會發(fā)現(xiàn)DM可以繞過BIOS,識別出硬盤,選中該硬盤,分區(qū)格式化,就OK了。這么簡單?不過這種方法的弱點是硬盤上的數(shù)據(jù)將全部丟