硬盤數(shù)據(jù)恢復(fù)的基礎(chǔ)知識(shí)
1、系統(tǒng)工作機(jī)理的簡(jiǎn)單介紹
這一部分在原作中是最重要的一章,考慮到篇幅關(guān)系,進(jìn)行了大量的刪節(jié)。
①、DOS(DOS兼容系統(tǒng))硬盤數(shù)據(jù)的構(gòu)成
DOS磁盤系統(tǒng),可以按照邏輯分區(qū)的概念管理物理空間,不同分區(qū)可以裝載不同的OS系統(tǒng)。
示意如下:
硬盤空間
第一扇區(qū)|分區(qū)1|分區(qū)2|分區(qū)3|分區(qū)4
主引導(dǎo)扇區(qū)|引導(dǎo)扇區(qū)|引導(dǎo)扇區(qū)|引導(dǎo)扇區(qū)|引導(dǎo)扇區(qū)|
各分區(qū)公用|各個(gè)分區(qū)相對(duì)獨(dú)立,可安裝不同操作系統(tǒng)。
對(duì)FAT結(jié)構(gòu)的分區(qū)每一分區(qū)都有獨(dú)立的引導(dǎo)記錄,F(xiàn)DT表,F(xiàn)AT表等。同時(shí),系統(tǒng)還有一個(gè)最為重要的主引導(dǎo)記錄。在0柱0面1扇區(qū),今后我們用CYL代表柱、SIDE代表面,SEC代表扇區(qū)。以下一個(gè)FAT結(jié)構(gòu)分區(qū)的簡(jiǎn)圖。
保留區(qū)-磁盤參數(shù)表、DOS引導(dǎo)記錄
控制區(qū)-FAT表1、FAT表2根目錄區(qū)
數(shù)據(jù)區(qū)-數(shù)據(jù)區(qū)
以下簡(jiǎn)單介紹一下重要的部分:
主引導(dǎo)記錄又稱主分區(qū)表、MBR等等:MBR占一個(gè)扇區(qū),在CYL0、SIDE0、SEC1,由代碼區(qū)和數(shù)據(jù)區(qū)構(gòu)成。其中代碼區(qū)是一端標(biāo)準(zhǔn)的程序,完成BIOS自舉到OSBOOT之間的工作,為OS啟動(dòng)做最后的準(zhǔn)備。標(biāo)準(zhǔn)代碼區(qū)可以由FDISK/MBR重建,但對(duì)于多系統(tǒng)引導(dǎo)的不標(biāo)準(zhǔn)MBR,將被這一操作破壞。MBR的數(shù)據(jù)區(qū)記錄了分區(qū)情況。
系統(tǒng)扇區(qū):CYL0、SIDE0、SEC1-CYL0、SIDE0、SEC63,共62個(gè)扇
區(qū)引導(dǎo)區(qū)又稱BOOT區(qū):CYL0、SIDE1、SEC1這是我們過去稱的DOS引
導(dǎo)區(qū)。也占一個(gè)扇區(qū)。
文件分配表又稱FAT:是記錄文件占用簇的情況和連接關(guān)系的地方。一般有兩個(gè)FAT表,起到備份的作用。FAT12、FAT16的第一FAT表一般均在0-1-2,F(xiàn)AT32的第一FAT表在0-1-33。由于FAT表記錄文件占用扇區(qū)連接的地方,如果兩個(gè)FAT表都?jí)牧,后果不堪設(shè)想。
由于FAT表的長(zhǎng)度與當(dāng)前分區(qū)的大小有關(guān)所以FAT2的地址是需要計(jì)算的。根目錄區(qū)(ROOT、FDT):這里記錄了根目錄里的目錄文件項(xiàng)等,ROOT區(qū)跟在FAT2后面。
數(shù)據(jù)區(qū):跟在ROOT區(qū)后面,這才是數(shù)據(jù)內(nèi)容。其實(shí),MBR、隱含扇區(qū)、BOOT區(qū),重建都比較容易。數(shù)據(jù)恢復(fù)的關(guān)鍵在于恢復(fù)數(shù)據(jù)文件。由于FAT表記錄了文件在硬盤上占用扇區(qū)的鏈表,如果2個(gè)FAT表都完全損壞了。那么恢復(fù)文件,特別是占用多個(gè)不連續(xù)扇區(qū)文件就相當(dāng)困難了。
②、主引導(dǎo)記錄簡(jiǎn)單說明:
主引導(dǎo)記錄是硬盤引導(dǎo)的起點(diǎn),關(guān)于代碼區(qū)不多說了,其數(shù)據(jù)區(qū),比較重要的是2個(gè)標(biāo)志,80H和55AA,80H一般在偏移1BE處,80是分區(qū)激活的標(biāo)志的標(biāo)記表示系統(tǒng)可引導(dǎo),且整個(gè)分區(qū)表只能有一個(gè)80標(biāo)記。另一個(gè)就是結(jié)尾的55AA標(biāo)記,用來表示主引導(dǎo)記錄是一個(gè)有效的記錄。另外,各個(gè)分區(qū)自身的引導(dǎo)記錄,也是以55AA結(jié)束,這是我們查找分區(qū)的標(biāo)志。我們后面在介紹如何主引導(dǎo)記錄中,給出了一個(gè)完整的分區(qū)表的例子,大家可對(duì)照查看。數(shù)據(jù)區(qū)中,用10H字節(jié)表示一個(gè)分區(qū),最多可表示4個(gè)分區(qū),分別從1BE、1CE、1DE、1EE開始,我們后面給出了分區(qū)表項(xiàng)對(duì)應(yīng)地址的含義。大家可以對(duì)應(yīng)分析一下以下分區(qū)的情況。
800101000BFEBFFC3F00-00007E86BB00
①②③④⑤⑥
①:激活標(biāo)記,80表示可引導(dǎo)分區(qū)
②:分區(qū)開始的磁頭號(hào)為01、開始的扇區(qū)號(hào)為01、開始的柱面號(hào)為00,由于開始的扇區(qū)號(hào)為2進(jìn)制6位,而開始的柱面號(hào)為2進(jìn)制10位,因此扇區(qū)號(hào)所用字節(jié)的高兩位要加在柱面號(hào)高兩位。
③:分區(qū)的系統(tǒng)類型FAT32(0B),01是FAT12,04為FAT16,06為BIGDOS,07為NTFS,
其他參見分區(qū)類型表。
④:分區(qū)結(jié)束磁頭號(hào)254、分區(qū)結(jié)束扇區(qū)號(hào)63、分區(qū)結(jié)束柱面號(hào)764
⑤:首扇區(qū)的相對(duì)扇區(qū)號(hào)63
⑥:總扇區(qū)數(shù)12289622
2、常見手工處理工具與DOS外部命令介紹
DEBUG:古老和最為常見的調(diào)試跟蹤軟件,始終捆綁在微軟的DOS/WIN9X操作系統(tǒng)中。有19個(gè)子命令。有編寫執(zhí)行匯編指令,直接讀寫絕對(duì)扇區(qū)和內(nèi)存單元等功能,可以在最艱苦的條件下工作。DOS6.22以下的系統(tǒng),DEBUG.EXE在DOS目錄下,WIN9X系統(tǒng)中它在WINDOWS\COMMAND目錄下,它
也出現(xiàn)在WIN9X所生成的應(yīng)急盤中。DISKEDIT:常見16進(jìn)制編輯軟件,字符界面,可以以文件方式和扇區(qū)方式讀寫邏輯內(nèi)容,可以讀寫絕對(duì)扇區(qū),可以方便的查找編輯分區(qū)表、FAT表、ROOT區(qū)等重要扇區(qū)。這一點(diǎn)要比DEBUG更方便。但在一些重要扇區(qū)損壞的情況下,DISKEDIT可能無法啟動(dòng)。DISKEDIT軟件可以在著名的NortonUtilities軟件包中找到。最新的DISKEDIT出現(xiàn)在NU4中。
NDD:常見的FAT文件結(jié)構(gòu)磁盤修復(fù)工具,就是著名的NORTON磁盤醫(yī)生,可以自動(dòng)修復(fù)分區(qū)丟失等情況,可以搶救軟盤壞區(qū)中的數(shù)據(jù),強(qiáng)制讀出后搬移到其他空白扇區(qū)。希望大家不要再使用NORTONFORDOS7或8的NDD,這個(gè)版本由于不支持大分區(qū)、FAT32、長(zhǎng)文件名等技術(shù),會(huì)給你帶來大量的麻煩。建議大家使用NortonUtilities4或更高版本中的NDD.EXE,這是純DOS下的工具。在硬盤崩潰或異常的情況下,他可能可以帶給用戶以希望。WIN9X下的磁盤醫(yī)生調(diào)用的并不是這個(gè)程序,而
是NDD32.EXE.
FDISK:FDISK當(dāng)然是個(gè)危險(xiǎn)的命令,很多人非?謶郑聦(shí)上,F(xiàn)DISK命令的運(yùn)行并不影響任何分區(qū)內(nèi)的硬盤數(shù)據(jù),他對(duì)分區(qū)的設(shè)置操作,只改變主分區(qū)表的數(shù)據(jù)區(qū)。而特別是FDISK異常重要的隱含參數(shù)/MBR,可以重建主分區(qū)表的代碼區(qū),清除主引導(dǎo)型病毒等。這是非常有用的操作。DOS6.22以下的系統(tǒng),F(xiàn)DISK.EXE在DOS目錄下,WIN9X系統(tǒng)中它在WINDOWS\COMMAND目錄下,它也出現(xiàn)在WIN9X所生成的應(yīng)急盤中。
FORMAT:在一些人眼中,F(xiàn)ORMAT是最可怕的命令,但他并不是對(duì)硬盤清零,特別值得注意的是,很多文件恢復(fù)工具都建議你恢復(fù)前先FORMAT該分區(qū)起到保護(hù)的餓作用。DOS6.22以下的系統(tǒng),F(xiàn)ORMAT.COM在DOS目錄下,WIN9X系統(tǒng)中它在WINDOWS\COMMAND目錄下,它也出現(xiàn)在WIN9X所生成的應(yīng)急盤中。
HD-COPY:傳統(tǒng)的軟盤COPY工具,2.0版本以后加入了強(qiáng)制讀的功能,可以讀出一些損壞扇區(qū)的內(nèi)容。
SYS:SYS命令是重建BOOT區(qū)的最簡(jiǎn)潔的手段,也可以殺除BOOT區(qū)病毒。DOS6.22以下的系統(tǒng),sys.COM在DOS目錄下,WIN9X系統(tǒng)中它在WINDOWS\COMMAND目錄下,它也出現(xiàn)在WIN9X所生成的應(yīng)急盤中。
令我非常遺憾的是,至今我沒有發(fā)現(xiàn)比較出色的扇區(qū)級(jí)備份鏡象工具,我曾寫過一個(gè)HD-MIRROR,但由于錯(cuò)誤較多,我提供下載的第二天就停止了發(fā)布,另外fixc的作者noz寫過一個(gè)clone.exe,但可惜只適合相同的硬盤。我也曾以為GHOST可以做到這點(diǎn),事實(shí)上,你目前還不能指望他為你備份一塊深度破損的硬盤。。如果有一個(gè)有效的能以按扇區(qū)機(jī)制(而不是文件機(jī)制)壓縮備份一塊硬盤將之做成一個(gè)鏡象文件的話,那么我們的恢復(fù)工作就擁有了更多的保證和余地。我們可以更大膽的做恢復(fù)的嘗試。
3、一些自動(dòng)處理工具或軟件包
首先介紹國(guó)內(nèi)的一些免費(fèi)修復(fù)工具
FIXMBR:何公道先生寫的一個(gè)修復(fù)MBR的工具,適合處理邏輯分區(qū)丟失的情況,有一些可選參數(shù),支持FAT32、FAT16,不支持NTFS、LINUX等分區(qū),支持8.4G以上硬盤。可修復(fù)CIH發(fā)作后的擴(kuò)展邏輯分區(qū)。
VRVFIX:北信源公司的推出的修復(fù)硬盤共享工具,適合處理邏輯分區(qū)丟失的情況,處理的基本比較準(zhǔn)確。支持FAT32、FAT16,不支持NTFS、LINUX等分區(qū)。也不支持8。4G以上硬盤。
FIXC:國(guó)內(nèi)最早出現(xiàn)的可以修復(fù)部分被CIH破壞的C盤的工具,作者是NOZ,新版本也加入了修復(fù)分區(qū)信息的功能,支持FAT32、FAT16,有限支持NTFS,不支持8。4G以上硬盤。目前的版本已經(jīng)比較完善。
FIXHDPT:TBSOFT工作室的分區(qū)信息修復(fù)工具。支持FAT32、FAT16,不支持NTFS和LINUX,不支持8。4G以上硬盤,是歷史比較長(zhǎng)的工具之一。
RE(ReapirEasy):本人早期寫的分區(qū)表修復(fù)工具,支持FAT32、FAT16,有限支持NTFS,不支持8.4G
以上硬盤,和某些BIOS不兼容。其整體水準(zhǔn)低于前面列舉的工具。
國(guó)外一些系統(tǒng)維護(hù)的工具目前已經(jīng)達(dá)到了非常強(qiáng)大的程度。
NortonUtilities:歷史最悠久的系統(tǒng)維護(hù)工具。不僅可以數(shù)據(jù)恢復(fù),還可以系統(tǒng)加速和修補(bǔ)內(nèi)存錯(cuò)誤。目前最新的版本是NU4.5FOR9X、NU2FORNT等。
Tiramint:最為出色的災(zāi)難恢復(fù)工具之一,有NTFS、FAT32、FAT16、NOVELL4種版本。生成急救軟盤,可以對(duì)深度破壞的磁盤進(jìn)行交叉恢復(fù)。
4、常用的基本操作
①讀出主引導(dǎo)記錄:這是系統(tǒng)級(jí)數(shù)據(jù)恢復(fù)可能涉及最多的程序之一。
例:
DEBUG
-a100;從此處開始匯編
126C:0100movax,201;讀操作一個(gè)扇區(qū)
126C:0103movbx,300;送入地址300
126C:0106movcx,1;0面1扇
126C:0109movdx,80;80H為硬盤,頭為0
126C:010Cint13
126C:010Eint3
126C:010F
-g=100;執(zhí)行
AX=0050BX=0300CX=0001DX=0080SP=FFEEBP=0000SI=0000DI=0000
DS=126CES=126CSS=126CCS=126CIP=010ENVUPEIPLNZNAPONC
這里用了I/O中斷13,涉及的寄存器含義為
ah,操作方式,02H為讀,03H為寫
al,送扇區(qū)數(shù)
bx,送準(zhǔn)備裝入扇區(qū)的內(nèi)存偏移地址
cx送從哪一道哪一扇區(qū)開始,我們一般依靠改換CX來讀寫不同邏輯盤某個(gè)邏輯扇區(qū)。dx,送盤符和頭數(shù)
INT3是斷點(diǎn)中斷,使程序運(yùn)行到此停止。
②顯示引導(dǎo)區(qū)內(nèi)容:我們把扇區(qū)讀到某個(gè)內(nèi)存地址并不是目的。而是為了看到他的內(nèi)容,在DEBUG中D命令可以方便的查看內(nèi)存單元的內(nèi)容。續(xù)前例,如果我們要看到主引導(dǎo)區(qū)的內(nèi)容的話,既然裝載到300。
-d300l200就可以查看了,一個(gè)引導(dǎo)區(qū)的映象類似如下,可以直觀的看到我們前面所提到的代碼區(qū)和數(shù)據(jù)區(qū)。是否正常請(qǐng)大家自行分析一下
126C:030033C08ED0BC007CFB-5007501FFCBE1B7C3.....|.P.P....|
126C:0310BF1B065057B9E501-F3A4CBBEBE07B104...PW...........
126C:0320382C7C09751583C6-10E2F5CD188B148B8,|.u...........
126C:0330EE83C61049741638-2C74F6BE10074EAC....It.8,t....N.
126C:03403C0074FABB0700B4-0ECD10EBF2894625<.t...........F%
126C:0350968A4604B4063C0E-7411B40B3C0C7405..F...<.t...<.t.
126C:03603AC4752B40C64625-067524BBAA5550B4:.u+@.F%.u$..UP.
126C:037041CD1358721681FB-55AA7510F6C10174A..Xr...U.u....t
126C:03800B8AE0885624C706-A106EB1E886604BF....V$.......f..
126C:03900A00B801028BDC33-C983FF057F038B4E.......3.......N
126C:03A025034E02CD137229-BE4607813EFE7D55%.N...r).F..>.}U
126C:03B0AA745A83EF057FDA-85F67583BE2707EB.tZ.......u..''..
126C:03C08A98915299034608-13560AE812005AEB...R..F..V....Z.
126C:03D0D54F74E433C0CD13-EBB8000000000000.Ot.3...........
126C:03E05633F65656525006-5351BE1000568BF4V3.VVRP.SQ...V..
126C:03F05052B800428A5624-CD135A588D641072PR..B.V$..ZX.d.r
126C:04000A4075014280C702-E2F7F85EC3EB7449.@u.B......^..tI
126C:04106E76616C69642070-6172746974696F6Envalidpartition
126C:0420207461626C650045-72726F72206C6F61table.Errorloa
126C:043064696E67206F7065-726174696E672073dingoperatings
126C:0440797374656D004D69-7373696E67206F70ystem.Missingop
126C:045065726174696E6720-73797374656D0000eratingsystem..
126C:04600000000000000000-0000000000000000................
126C:04700000000000000000-0000000000000000................
126C:04800000008BFC1E578B-F5CB000000000000......W.........
126C:04900000000000000000-0000000000000000................
126C:04A00000000000000000-0000000000000000................
126C:04B00000000000000000-0000000000008001................
126C:04C001000BFEBFFC3F00-00007E86BB000000......?...~.....
126C:04D081FD0FFEFFFFBD86-BB00E0A975000000............u...
126C:04E00000000000000000-0000000000000000................
126C:04F00000000000000000-00000000000055AA..............U.
③反匯編主引導(dǎo)區(qū)內(nèi)容:判定MBR的代碼區(qū)是否正常,對(duì)于數(shù)據(jù)區(qū)的基本情況,我們可以通過直觀觀察得出,但對(duì)于存在引導(dǎo)型病毒,或者引導(dǎo)區(qū)出現(xiàn)異常代碼的情況,我們可能需要分析MBR中代碼區(qū)的指令。這一般要對(duì)已經(jīng)讀入內(nèi)存的引導(dǎo)區(qū)進(jìn)行反匯編。
反匯編用指令U
續(xù)前例:
-u300l15D;反匯編主引導(dǎo)扇區(qū)代碼區(qū)內(nèi)容
126C:030033C0XORAX,AX
126C:03028ED0MOVSS,AX
…………
126C:045C65DB65
126C:045D6DDB6D
④寫內(nèi)存單元,在我們的前例中,主分區(qū)類型是0B是FAT32的,假定這個(gè)類型實(shí)際是NTFS的,我們?cè)撊绾涡薷哪?由于主分區(qū)類型的偏移是4C3H,我們可以用E命令寫到內(nèi)存單元中,從附表中查得NTFS的類型為07。因此-e4c37再比如說,假定我們想把無效的分區(qū)表清零,那么,我們應(yīng)當(dāng)用另一個(gè)命令F,這個(gè)命令可以用填充一個(gè)內(nèi)存地址范圍。清零分區(qū)表的操作就是-f4be4ff00,以下兩個(gè)操作也比較常見。
重置80標(biāo)記,-e4be80
重置55AA標(biāo)記,-f4ff4fe55aa
不要忘記了,此時(shí)僅僅是改動(dòng)了內(nèi)存中的數(shù)據(jù),并未寫到硬盤上。因此需要用int13中斷把改寫的結(jié)果,寫回硬盤。
續(xù)前例,
-a100
126C:0100movax,301;寫操作一個(gè)扇區(qū)
-g=100;執(zhí)行
其實(shí),我們相當(dāng)于修改了剛才輸入的讀主引導(dǎo)扇區(qū)程序,使程序變?yōu)椤?
126C:0100movax,301;寫操作一個(gè)扇區(qū)
126C:0103movbx,300;從內(nèi)存地址300
126C:0106movcx,1;0面1扇
126C:0109movdx,80;80H為硬盤,頭為0
126C:010Cint13
126C:010Eint3;斷點(diǎn)
⑤絕對(duì)磁盤內(nèi)容的讀出與寫入
類似操作在FAT32結(jié)構(gòu)硬盤被CIH破壞的修復(fù)中比較常見,我們后面將講到恢復(fù)的基本思路就是用第二FAT表覆蓋第一FAT表。那么無疑要讀出第二FAT表的內(nèi)容,再回寫到第一FAT表的位置上。一般的來說,大量連續(xù)扇區(qū)的讀出寫入DISKEDIT進(jìn)行非常方便,如果用DEBUG做則要寫一段子程序,不過程序的主要技巧就是利用int25絕對(duì)磁盤讀中斷讀出的內(nèi)容,而用int26絕對(duì)磁盤寫做內(nèi)容寫入。
4、數(shù)據(jù)可恢復(fù)的前提
有人覺得這個(gè)題目說法比較奇特,但數(shù)據(jù)恢復(fù),作為一個(gè)數(shù)據(jù)再現(xiàn)的過程,一定要解決兩個(gè)問題,第一是從哪里恢復(fù)的問題,第二是怎么恢復(fù)的問題。解決了這兩個(gè)問題,我們事實(shí)上就把握了數(shù)據(jù)恢復(fù)的全部思想脈絡(luò)。而這一部分就是從哪里恢復(fù)的問題。
①、有效而及時(shí)的備份中是數(shù)據(jù)恢復(fù)最可靠的來源,在許多人倡導(dǎo)備份到秒的今天,恐怕不會(huì)有人懷疑這點(diǎn)。而有些備份機(jī)制則是系統(tǒng)內(nèi)建的,比如兩份FAT表。
②、數(shù)據(jù)的實(shí)際有效性的判定是關(guān)鍵,對(duì)我們來說,硬盤無法自舉、文件找不到、文件打不開等現(xiàn)象,其實(shí)并不與數(shù)據(jù)丟失畫等號(hào)。因?yàn)榇藭r(shí)往往數(shù)據(jù)只是從操作系統(tǒng)的角度是一種邏輯丟失,而從物理扇區(qū)意義上,它仍然存在或部分存在。最明顯的就是文件刪除的例子,事實(shí)上,這只是把文件首字節(jié),改為0E而已。而此時(shí)文件體依然存在。
③、數(shù)據(jù)損壞過程的可逆性分析:對(duì)數(shù)據(jù)的改變無非兩種,取代和變換,前者是不可逆的,而后者則是可逆的。我們以殺毒為例,對(duì)于大多文件性病毒來說,那些以附加而非代換方式感染的文件型病毒,理想的殺毒過程就是感染的逆過程。這種分析也常見與重要信息被隱藏搬移或者被加密的情況,但分析將比較復(fù)雜。
④、數(shù)據(jù)本身是否是標(biāo)準(zhǔn)信息:有些信息實(shí)際是通用或局部通用的,你無須考慮如何從本機(jī)搶救。只要相同或相近的系統(tǒng)版本就可以了,比如BOOT區(qū)、隱含扇區(qū)、WINDOWS的DLL文件等等。典型的例子如分區(qū)表的代碼區(qū),這是一段標(biāo)準(zhǔn)代碼,事實(shí)上,它就放在你的FDISK程序里面,你可以用DEBUG把他提取出來。
⑤、數(shù)據(jù)本身是否可以由其他信息統(tǒng)計(jì)再生:有些信息盡管丟失了,也沒有備份。但它實(shí)際可以從其他數(shù)據(jù)中間接求得。最典型的就是主分區(qū)表中的分區(qū)信息,即使你把他清零也不必害怕,因?yàn)槟憧梢詮哪銕讉(gè)分區(qū)中計(jì)算再生。
⑥、破壞的完成程度:事實(shí)上,F(xiàn)DISK、FORMAT都不會(huì)徹底破壞數(shù)據(jù),一般只有低格和扇區(qū)覆蓋操作才會(huì)徹底破壞數(shù)據(jù)。但有時(shí),破壞過程或者誤操作過程會(huì)因人工終止、死機(jī)等原因不能完成。最明顯的就是CIH病毒的例子,由于CIH是以1024字節(jié)為單位覆蓋扇區(qū),這當(dāng)然是不可逆過程,于是我們最初都認(rèn)為,破壞是很難恢復(fù)的,除非人工終止。事實(shí)上,當(dāng)病毒覆蓋某些扇區(qū)時(shí)會(huì)與9X系統(tǒng)發(fā)生沖突,從而造成死機(jī),使數(shù)據(jù)得到了保護(hù)。
1、硬件或介質(zhì)問題的情況
①、硬盤壞:硬盤自檢不到的情況一般是硬件故障,又可分為主版的硬盤控制器(包括IDE口)故障和硬盤本身的故障。如果問題在主板上,那么數(shù)據(jù)應(yīng)當(dāng)沒有影響。如果出在硬盤上,也不是一定不能修復(fù)。硬盤可能的故障又可能在控制電路、電機(jī)和磁頭以及盤片。如果是控制電路的問題,一般修好它,就可以讀出數(shù)據(jù)。但如果電機(jī)、磁頭和盤片故障,即使修理也要返回原廠,數(shù)據(jù)恢復(fù)基本沒有可操作性。
②、軟盤壞:當(dāng)軟盤數(shù)據(jù)損壞時(shí),可以有幾種處理,一種是用NDD修復(fù),他會(huì)強(qiáng)制讀出你壞區(qū)中的東西,MOVE到空白扇區(qū)中,這就意味著如果你的磁盤很滿操作是沒法進(jìn)行的。你也可以用HDCOPY2.0以上版本READ軟盤,他也會(huì)進(jìn)行強(qiáng)讀,使讀入緩沖區(qū)的數(shù)據(jù)是完好的,你再寫入一張好磁盤就可以了。當(dāng)然這些方式,要看盤壞的程度。如果0磁道壞,數(shù)據(jù)也并非無法搶救,早先可以通過扇區(qū)讀的方式,把后面的數(shù)據(jù)讀出,不過一般來說,你依然可以HDCOPY來實(shí)驗(yàn)。
2、系統(tǒng)問題的情況
①、在硬盤崩潰的情況下,我們經(jīng)常要和一些提示信息打交道。我們要了解他典型提示信息的含義,注意這些原因僅僅分析邏輯損壞而不是硬盤物理壞道的情況。
提示信息
可能原因
參考處理
InvalidPartitionTable
分區(qū)信息中1BE、1CE、1DE處不符合只有一個(gè)80而其他兩處為0用工具設(shè)定,操作在前面已經(jīng)講了。
ErrorLoadingOperatingSystem
主引導(dǎo)程序讀BOOT區(qū)5次沒成功。
重建BOOT區(qū)
MissingOperatingSystemDOS
引導(dǎo)區(qū)的55AA標(biāo)記丟失
用工具設(shè)定,把前面讀寫主引導(dǎo)區(qū)程序的DX=80改為180即可
Non-SystemDiskorDiskError
BOOT區(qū)中的系統(tǒng)文件名與根目錄中的前兩個(gè)文件不同
SYS命令重新傳遞系統(tǒng),
DiskBootFailure
讀系統(tǒng)文件錯(cuò)誤SYS命令重新傳遞系統(tǒng),
InvalidDriverSpecifcationg
如果試圖切換到一個(gè)確實(shí)存在的邏輯分區(qū)出現(xiàn)以下信息,說明主分區(qū)表的分區(qū)記錄被破壞了。
根據(jù)各分區(qū)情況重建分區(qū)表,或者用自動(dòng)修復(fù)工具修復(fù)。注意分區(qū)丟失是最常見的故障之一,此時(shí)不要緊張,一般的說此時(shí)數(shù)據(jù)并沒有問題,如果你不了解處理的方法。你可以選擇我前面介紹的自動(dòng)修復(fù)分區(qū)工具進(jìn)行處理,他們大多只改寫主分區(qū)表的數(shù)據(jù)區(qū),不會(huì)影響你的其他數(shù)據(jù)。特別提醒大家,這些工具有的不支持8.4G硬盤,有的與BIOS對(duì)硬盤的識(shí)別有關(guān)系。如果你在一臺(tái)機(jī)器上不行,可以換臺(tái)BIOS不同的機(jī)器實(shí)驗(yàn)一下。
Badormissingcommandinterpreter
這是說找不到COMMAND.com,或者COMMAND文件壞了。
如果你COPY過去COMMAND文件還是如此,一般來說是感染了某種病毒。
InvalidmediatypereadingdriveX,Abort,Retry,Fail?
該盤沒有高級(jí)格式化,或BOOT區(qū)中I/O參數(shù)表被破壞。
這里情況較多,手工處理比較復(fù)雜,特別指出,此時(shí)DISKEDIT可能無法運(yùn)行,建議用工具修復(fù)。
IncorrectDOSVersion
可能是文件版本不統(tǒng)一,對(duì)9X來說,有9595osr/2,98,98oem/2等版本,重新SYS時(shí),不要弄錯(cuò)了。
用正確版本的啟動(dòng)盤重新SYS系統(tǒng)
另外說明一下,對(duì)于比較老的機(jī)器還有1071和notfoundrombasic、ROMBASICOK等提示,在目前機(jī)器中以消失。另外,當(dāng)代碼區(qū)完全被破壞的情況下,系統(tǒng)關(guān)于無系統(tǒng)的提示是來自BIOS的,這條提示與BIOS的種類有關(guān)。另外,F(xiàn)DISK/MBR對(duì)代碼區(qū)的重建是我們經(jīng)常采用的。再介紹一種比較極端的情況,就是硬盤自檢正常,而用軟盤和硬盤都無法正常啟動(dòng)的情況,這可能是,病毒或惡意程序利用,DOS3以上版本啟動(dòng)中都要檢索分區(qū)表這一特點(diǎn),把分區(qū)表置為死循環(huán)。造成啟動(dòng)中死機(jī)。網(wǎng)上曾經(jīng)流傳過DOS6.22k修改方案,其實(shí)是修改西文MS-DOS6.22的IO.SYS,把C20306E80A00077203替換為:C20390E80A00728090就可以啟動(dòng)被類似情況鎖住的硬盤。
②、9X無法正常進(jìn)入或工作:以下僅僅是對(duì)可能的軟故障分析,沒有考慮硬件故障.進(jìn)入圖形界面前死機(jī)情況比較復(fù)雜,可能與加載的某些驅(qū)動(dòng)有關(guān)可以在STARTMSWINDOWS時(shí),用F8激活菜單,設(shè)置為stepbystep,看是哪項(xiàng)使系統(tǒng)死機(jī)。而后從CONFIG或者SYSTEM。INI中刪除進(jìn)入圖形界面后死機(jī)一般這與開機(jī)加載的程序有關(guān)進(jìn)入安全模式(此時(shí)自動(dòng)運(yùn)行的程序?qū)⒉荒芗虞d),對(duì)注冊(cè)表中的HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run*中的鍵值和啟動(dòng)組中加載的程序進(jìn)行分析。必要的予以刪除。顯示IEXPLORE.EXE錯(cuò)誤,不能進(jìn)行任何操作
可能有某個(gè)系統(tǒng)的動(dòng)態(tài)連接庫(kù)損壞覆蓋安裝WIN9X,或從其他機(jī)器上COPY損壞的連接庫(kù)。(確定哪個(gè)庫(kù)損壞一般比較困難)
頻繁出現(xiàn)出錯(cuò)各種信息
一般是虛擬內(nèi)存不足造成的看C盤是否剩余空間過少,或者打開的應(yīng)用程序和窗口太多。
2、全盤崩潰和分區(qū)丟失
首先重建MBR代碼區(qū),再根據(jù)情況修正分區(qū)表。修正分區(qū)表的基本思路是查找以55AA為結(jié)束的扇區(qū),再根據(jù)扇區(qū)結(jié)構(gòu)和后面是否有FAT等情況判定是否為分區(qū)表,最后計(jì)算填回,主分區(qū)表,由于需要計(jì)算,過程比較煩瑣,就不仔細(xì)介紹了,希望大家用前面介紹的工具,比如NDD處理。如果文件仍然無法讀取,要考慮用TIRAMINT等工具進(jìn)行修復(fù)。如果在FAT表徹底崩潰的情況下,恢復(fù)某個(gè)指定文件,可以用DISKEDIT或DEBUG查找已知信息。比如文件為文本,文件中包含“軟件狗”,那么我我們就要把他們轉(zhuǎn)換為內(nèi)碼C8EDBCFEB9B7進(jìn)行查找。
3、文件丟失、誤格式化的情況
一般的來說,文件刪除僅僅是把文件的首字節(jié),改為E5H,而并不破壞本身,因此可以恢復(fù)。但由于對(duì)不連續(xù)文件要恢復(fù)文件鏈,由于手工交叉恢復(fù)對(duì)一般計(jì)算機(jī)用戶來說并不容易,在這篇縮略版中就不講了,建議用工具處理,如果已經(jīng)安裝了NortonUtilities,可以用他來查找。另外,RECOVERNT等工具,都是恢復(fù)的利器。特別注意的是,千萬不要在發(fā)現(xiàn)文件丟失后,在本機(jī)安裝什么恢復(fù)工具,你可能恰恰把文件覆蓋掉了。特別是你的文件在C盤的情況下,如果你發(fā)現(xiàn)主要文件被你失手清掉了,(比如你按SHIFT刪除),你應(yīng)該馬上直接關(guān)閉電源,用軟盤啟動(dòng)進(jìn)行恢復(fù)或把硬盤串接到其他有恢復(fù)工具的機(jī)器處理。誤格式化的情況可以用等工具處理。
4、文件損壞的情況
一般的說,恢復(fù)文件損壞需要清楚的了解文件的結(jié)構(gòu),并不是很容易的事情,而這方面的工具也不多。不過一般的說,文件如果字節(jié)正常,不能正常打開往往是文件頭損壞。
就文件恢復(fù)舉幾個(gè)簡(jiǎn)單例子。
類型特征處理
ZIP、TGZ等壓縮包無法解壓
ZIP文件損壞的情況下可以用一個(gè)名為ZIPFIX的工具處理。不過如果你的文件是從FTP站點(diǎn)上下載的,那么有可能是你沒有定義下載模式為BIN。
自解壓文件無法解壓
可能是可執(zhí)行文件頭損壞,可以用對(duì)應(yīng)壓縮工具按一般壓縮文件解壓。
DBF文件死機(jī)后無法打開
典型的文件頭中的記錄數(shù)與實(shí)際不匹配了,把文件頭中的記錄數(shù)向下調(diào)整,遺憾的是公式我找不到了。
5、硬盤被加密或變換:
此時(shí)千萬不要FDISK/MBR,SYS等處理,否則可能數(shù)據(jù)再也無法找回,一定要反解加密算法,或找到被移走的重要扇區(qū)。對(duì)于那些加密硬盤數(shù)據(jù)的病毒,清除時(shí)一定要選擇能恢復(fù)加密數(shù)據(jù)的可靠殺毒軟件。
6、文件加密后密碼遺忘:
對(duì)于很多字處理軟件的文件加密和ZIP等壓縮包的加密,你是不能靠加密逆過程來完成的,因?yàn)槟菑睦碚撋鲜钱惓@щy的。目前有一些相關(guān)的軟件,他們的思想一般都是用一個(gè)大字典集中的數(shù)據(jù)循環(huán)用相同算法加密后與密碼的密文匹配,直到一致時(shí)則說明找到了密碼。你可以去尋找這些軟件,當(dāng)然,有些軟件是有后門的,比如DOS下的WPS,Ctrl+qiubojun就是通用密碼。Undiskp的作者馮志宏是解文件密碼的個(gè)中高手,大家不妨去他的主頁(yè)看看。
7、系統(tǒng)用戶密碼遺忘的處理:
最簡(jiǎn)單的方法就是用軟盤啟動(dòng)(NT的你也可以把盤掛接在其他NT上),找到支持該文件系統(tǒng)結(jié)構(gòu)的軟件(比如針對(duì)NT的NTFSDOS),利用他把密碼文件清掉、或者是COPY出密碼檔案,用破解軟件套字典來處理。前者時(shí)間短但所有用戶信息丟失,后者時(shí)間長(zhǎng),但保全了所有用戶信息。對(duì)UNIX系統(tǒng),我建議你一定先做一張應(yīng)急盤。