免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
硬盤數據恢復
信息來源:邪惡八進制信息安全團隊(www.eviloctal.com
文章作者:風之詠者(ikusabe)

硬盤的數據結構
初買來一塊硬盤,我們是沒有辦法使用的,你需要將它分區(qū)、格式化,然后再安裝上操作系統才可以使用。一個完整硬盤的數據應該包括五部分:MBR,DBR,FAT,DIR區(qū)和DATA區(qū)。其中只有主引導扇區(qū)是唯一的,其它的隨你的分區(qū)數的增加而增加。

主引導扇區(qū)

主引導扇區(qū)位于整個硬盤的0磁道0柱面1扇區(qū),包括硬盤主引導記錄MBR(Main Boot Record)和分區(qū)表DPT(Disk Partition Table)。其中主引導記錄的作用就是檢查分區(qū)表是否正確以及確定哪個分區(qū)為引導分區(qū),并在程序結束時把該分區(qū)的啟動程序(也就是操作系統引導扇區(qū))調入內存加以執(zhí)行。至于分區(qū)表,很多人都知道,以80H或00H為開始標志,以55AAH為結束標志,共64字節(jié),位于本扇區(qū)的最末端。值得一提的是,MBR是由分區(qū)程序(例如DOS 的Fdisk.exe)產生的,不同的操作系統可能這個扇區(qū)是不盡相同。如果你有這個意向也可以自己去編寫一個,只要它能完成前述的任務即可,這也是為什么能實現多系統啟動的原因(說句題外話:正因為這個主引導記錄容易編寫,所以才出現了很多的引導區(qū)病毒)。

操作系統引導扇區(qū)

OBR(OS Boot Record)即操作系統引導扇區(qū),通常位于硬盤的0磁道1柱面1扇區(qū)(這是對于DOS來說的,對于那些以多重引導方式啟動的系統則位于相應的主分區(qū)/擴展分區(qū)的第一個扇區(qū)),是操作系統可直接訪問的第一個扇區(qū),它也包括一個引導程序和一個被稱為BPB(BIOS Parameter Block)的本分區(qū)參數記錄表。其實每個邏輯分區(qū)都有一個OBR,其參數視分區(qū)的大小、操作系統的類別而有所不同。引導程序的主要任務是判斷本分區(qū)根目錄前兩個文件是否為操作系統的引導文件(例如MSDOS或者起源于MSDOS的Win9x/Me的IO.SYS和MSDOS.SYS)。如是,就把第一個文件讀入內存,并把控制權交予該文件。BPB參數塊記錄著本分區(qū)的起始扇區(qū)、結束扇區(qū)、文件存儲格式、硬盤介質描述符、根目錄大小、FAT個數、分配單元(Allocation Unit,以前也稱之為簇)的大小等重要參數。OBR由高級格式化程序產生(例如DOS 的Format.com)。

文件分配表

FAT(File Allocation Table)即文件分配表,是DOS/Win9x系統的文件尋址系統,為了數據安全起見,FAT一般做兩個,第二FAT為第一FAT的備份, FAT區(qū)緊接在OBR之后,其大小由本分區(qū)的大小及文件分配單元的大小決定。關于FAT的格式歷來有很多選擇,Microsoft 的DOS及Windows采用我們所熟悉的FAT12、FAT16和FAT32格式,但除此以外并非沒有其它格式的FAT,像Windows NT、OS/2、UNIX/Linux、Novell等都有自己的文件管理方式。

目錄區(qū)

DIR是Directory即根目錄區(qū)的簡寫,DIR緊接在第二FAT表之后,只有FAT還不能定位文件在磁盤中的位置,FAT還必須和DIR配合才能準確定位文件的位置。DIR記錄著每個文件(目錄)的起始單元(這是最重要的)、文件的屬性等。定位文件位置時,操作系統根據DIR中的起始單元,結合FAT表就可以知道文件在磁盤的具體位置及大小了。在DIR區(qū)之后,才是真正意義上的數據存儲區(qū),即DATA區(qū)。

數據區(qū)

DATA雖然占據了硬盤的絕大部分空間,但沒有了前面的各部分,它對于我們來說,也只能是一些枯燥的二進制代碼,沒有任何意義。在這里有一點要說明的是,我們通常所說的格式化程序(指高級格式化,例如DOS下的Format程序),并沒有把DATA區(qū)的數據清除,只是重寫了FAT表而已,至于分區(qū)硬盤,也只是修改了MBR和OBR,絕大部分的DATA區(qū)的數據并沒有被改變,這也是許多硬盤數據能夠得以修復的原因。但即便如此,如MBR/OBR/FAT/DIR之一被破壞的話,也足夠咱們那些所謂的DIY老鳥們忙乎半天了……需要提醒大家的是,如果你經常整理磁盤,那么你的數據區(qū)的數據可能是連續(xù)的,這樣即使MBR/FAT/DIR全部壞了,我們也可以使用磁盤編輯軟件(比如DOS下的DiskEdit),只要找到一個文件的起始保存位置,那么這個文件就有可能被恢復(當然了,這需要一個前提,那就是你沒有覆蓋這個文件……)。

硬盤分區(qū)方式

我們平時說到的分區(qū)概念,不外乎三種:主分區(qū)、擴展分區(qū)和邏輯分區(qū)。主分區(qū)是一個比較單純的分區(qū),通常位于硬盤的最前面一塊區(qū)域中,構成邏輯C磁盤。在主分區(qū)中,不允許再建立其它邏輯磁盤。

擴展分區(qū)的概念則比較復雜,也是造成分區(qū)和邏輯磁盤混淆的主要原因。由于硬盤僅僅為分區(qū)表保留了64個字節(jié)的存儲空間,而每個分區(qū)的參數占據16個字節(jié),故主引導扇區(qū)中總計可以存儲4個分區(qū)的數據。操作系統只允許存儲4個分區(qū)的數據,如果說邏輯磁盤就是分區(qū),則系統最多只允許4個邏輯磁盤。對于具體的應用,4個邏輯磁盤往往不能滿足實際需求。為了建立更多的邏輯磁盤供操作系統使用,系統引入了擴展分區(qū)的概念。

所謂擴展分區(qū),嚴格地講它不是一個實際意義的分區(qū),它僅僅是一個指向下一個分區(qū)的指針,這種指針結構將形成一個單向鏈表。這樣在主引導扇區(qū)中除了主分區(qū)外,僅需要存儲一個被稱為擴展分區(qū)的分區(qū)數據,通過這個擴展分區(qū)的數據可以找到下一個分區(qū)(實際上也就是下一個邏輯磁盤)的起始位置,以此起始位置類推可以找到所有的分區(qū)。無論系統中建立多少個邏輯磁盤,在主引導扇區(qū)中通過一個擴展分區(qū)的參數就可以逐個找到每一個邏輯磁盤。

需要特別注意的是,由于主分區(qū)之后的各個分區(qū)是通過一種單向鏈表的結構來實現鏈接的,因此,若單向鏈表發(fā)生問題,將導致邏輯磁盤的丟失。

數據存儲原理

既然要進行數據的恢復,當然數據的存儲原理我們不能不提,在這之中,我們還要介紹一下數據的刪除和硬盤的格式化相關問題……

文件的讀取

操作系統從目錄區(qū)中讀取文件信息(包括文件名、后綴名、文件大小、修改日期和文件在數據區(qū)保存的第一個簇的簇號),我們這里假設第一個簇號是0023。

操作系統從0023簇讀取相應的數據,然后再找到FAT的0023單元,如果內容是文件結束標志(FF),則表示文件結束,否則內容保存數據的下一個簇的簇號,這樣重復下去直到遇到文件結束標志。

文件的寫入

當我們要保存文件時,操作系統首先在DIR區(qū)中找到空區(qū)寫入文件名、大小和創(chuàng)建時間等相應信息,然后在Data區(qū)找到閑置空間將文件保存,并將Data區(qū)的第一個簇寫入DIR區(qū),其余的動作和上邊的讀取動作差不多。

文件的刪除

Win9x的文件刪除工作卻是很簡單的,簡單到只在目錄區(qū)做了一點小改動?D?D將目錄區(qū)的文件的第一個字符改成了E5就表示將改文件刪除了。

附錄:

Fdisk和Format的一點小說明

和文件的刪除類似,利用Fdisk刪除再建立分區(qū)和利用Format格式化邏輯磁盤(假設你格式化的時候并沒有使用/U這個無條件格式化參數)都沒有將數據從DATA區(qū)直接刪除,前者只是改變了分區(qū)表,后者只是修改了FAT表,因此被誤刪除的分區(qū)和誤格式化的硬盤完全有可能恢復……

系統啟動流程

各種不同的操作系統啟動流程不盡相同,我們這里以Win9x/DOS的啟動流程為例。

第一階段:系統加電自檢POST過程。POST是Power On Self Test的縮寫,也就是加電自檢的意思,微機執(zhí)行內存FFFF0H處的程序(這里是一段固化的ROM程序),對系統的硬件(包括內存)進行檢查。

第二階段:讀取分區(qū)記錄和引導記錄。當微機檢查到硬件正常并與CMOS設置相符后,按照CMOS設置從相應設備啟動(我們這里假設從硬盤啟動),讀取硬盤的分區(qū)記錄(DPT)和主引導記錄(MBR)。

第三階段:讀取DOS引導記錄。微機正確讀取分區(qū)記錄和主引導記錄后,如果主引導記錄和分區(qū)表校驗正確,則執(zhí)行主引導記錄并進一步讀取DOS引導記錄(位于每一個主分區(qū)的第一個扇區(qū)),然后執(zhí)行該DOS引導記錄。

第四階段:裝載系統隱含文件。將DOS系統的隱含文件IO.SYS入內存,加載基本的文件系統FAT,這時候一般會出現Starting Windows 9x...的標志,IO.SYS將MS.SYS讀入內存,并處理System.dat和User.dat文件,加載磁盤壓縮程序。

第五階段:實DOS模式配置。系統隱含文件裝載完成,微機將執(zhí)行系統隱含文件,并執(zhí)行系統配置文件(Config.sys),加載Config.sys中定義的各種驅動程序。

第六階段:調入命令解釋程序(Command.com)。系統裝載命令管理程序,以便對系統的各種操作命令進行協調管理(我們所使用的Dir、Copy等內部命令就是由Command.com提供的)。

第七階段:執(zhí)行批處理文件(Autoexec.bat)。微機將一步一步地執(zhí)行批處理文件中的各條命令。

第八階段:加載Win.com。Win.com負責將Windows下的各種驅動程序和啟動執(zhí)行文件加以執(zhí)行,至此啟動完畢。





主分區(qū)表數據及分析

在英文字典中,對主引導區(qū)的定義如下:

Master Boot Record:The Master Boot Record is located at the physical beginning of a hard disk, editable using the Disk Editor. It consists of a master bootstrap loader code (446 bytes) and four subsequent, identically structured partition records. Finally, the hexadecimal signature 55AA completes a valid Master Boot Record.

硬盤的主引導記錄在硬盤的0磁頭0柱面1扇區(qū)。主引導記錄由三部分組成:


主引導程序;

四個分區(qū)表;

主引導記錄有效標志字。


表1 主引導記錄結構

說明:


分區(qū)表自偏移1BEH處開始,分區(qū)表共64個字節(jié),表中可填入四個分區(qū)信息,每十六個字節(jié)為一個分區(qū)說明項,這16個字節(jié)含義詳見表2。

必須注意:扇區(qū)號的高二位占用柱面號所在字節(jié)的最高二位,即柱面號為10位,扇區(qū)號6位。


表2 分區(qū)結構信息

重要公式:02H為X,03H為Y。柱面=(X>>6)*16^2+Y;

以我的硬盤為例:有九個可用分區(qū),二個不可用分區(qū);兩個Primary NTFS分區(qū),第二個為active;七個Extened 分區(qū),第五個為NTFS其他為FAT32.

主分區(qū)表數據:位置cylinder0, head 0,sector1



主分區(qū)表分析:

Master bootstrap loader code

0000H -00D9H 33 C0 8E D0 BC 00 7C FB 50 。。。主引導記錄代碼,表示住分區(qū)表



01BEH -01CDH 分區(qū)1結構信息

multi(0)disk(0)rdisk(0)partition(0)
知該分區(qū)Boot Sector位于:起始磁頭為0頭,起始柱面為70D,起始扇區(qū)為1扇區(qū)。



01CEH -01DDH 分區(qū)2結構信息

multi(0)disk(0)rdisk(0)partition(1)
活動分區(qū)指示符為80H,表示該分區(qū)為可自舉分區(qū)。
系統標志為07表示OS/2 HPFS, Windows NT NTFS, Advanced Unix系統。知該分區(qū)Boot Sector位于:起始磁頭為0頭,起始柱面為304D,起始扇區(qū)為1扇區(qū)。



01DEH -01EDH 分區(qū)3結構信息

Extended partition
系統標志字節(jié)為0F,說明是擴展分區(qū)Extended partition (using INT 13 extensions)。
從擴展分區(qū)說明項知下一個分區(qū)表位于:起始磁頭為0頭,起始柱面為435D,起始扇區(qū)為1扇區(qū)。


01EEH -01FDH 分區(qū)4結構信息

分區(qū)說明項數據均為00H沒有定義。



01FEH -01FFH 55 AAH 主引導記錄有效標志

擴展分區(qū)數據及分析

擴展分區(qū)一分區(qū)表數據:位置cylinder435D, head 0,sector1



擴展分區(qū)表分析



01BEH -01CDH 分區(qū)1結構信息

multi(0)disk(0)rdisk(0)partition(3)
知該分區(qū)位于:起始磁頭為1頭,起始柱面為435D,起始扇區(qū)為1扇區(qū)(分區(qū)表占用磁頭0)。
系統標志字0BH表示 Windows 95+ FAT32



01BEH -01CDH 分區(qū)1結構信息

系統標志字節(jié)為05H,說明是擴展DOS分區(qū)。于是知下一個分區(qū)表位于:起始磁頭為0頭,起始柱面為777D,起始扇區(qū)為1扇區(qū)。

Partition Table Entry #3 數據均為00H沒有定義。
Partition Table Entry #4 數據均為00H沒有定義。

其他擴展分區(qū)同理。

附錄:Fdisk的MBR參數

MBR 系 FDISK.COM(EXE) 一項未公布的開關,隱含于 MS DOS 3.30,延至 MS DOS 8.0(Windows ME)。實踐中,有籍以修復主引導信息,重點在主引導程序。

FDISK /MBR 命令流程的分支有二:

讀得主引導扇區(qū)檢驗標志(字) AA55h,操作單一,僅向主引導扇區(qū)位移 0-1BDH 寫入當前系統固有的主引導程序,安全可靠。

難能可貴的是它不觸動主引導信息其余模塊(分區(qū)表、檢驗標志),以及隨后的 DOS 引導信息、文件分配表、根目錄,省事許多。檢出檢驗標志非 AA55h,寫主引導程序、初始化分區(qū)表及登錄檢驗標志,在 MS DOS 7.0 - 8.0 環(huán)境中,常規(guī)以系統支持的最大容量分配給基本 DOS 分區(qū)的方式登錄分區(qū)表。分區(qū)表初始化(可能幸存的分區(qū)表被清除)的后果不難想象; 目前硬盤大都設置有其它分區(qū),即使在高版本 DOS 環(huán)境中運作,常規(guī)建立的分區(qū)表每難能符合實際需求,后續(xù)工作量也相當可觀。

不過,它也不觸動位于其后的 DOS 引導信息、文件分配表及根目錄,高版本 FDISK /MBR 命令適用于修復僅設基本 DOS 分區(qū)的硬盤分區(qū)表及檢驗標志受損,或主引導信息全毀。

可見,在運行 FDISK /MBR 命令之前,需查明檢驗標志是否 AA55h,酌情處理,切忌盲動。

經由 DOS 軟盤引導,認硬盤,檢驗標志必健在。

另外,在 FDSIK 主菜單中選 4. Display Partition Information,列出分區(qū)信息,進一步證實檢驗標志正常; 若現 No partitition defined,檢驗標志每變異,而分區(qū)表或許尚健在。




深入邏輯分區(qū)

邏輯分區(qū)結構

現在深入每一個邏輯分區(qū),邏輯分區(qū)結構如下:

FAT12/16
Logical sector =0 Logical sector=1
(Floppy disk=1~9) Logical sector=1+sectors_per_FAT
(Floppydisk=10~18) Logical sector=1+sectors_per_FAT*2
(Floppy disk=19~32) Logical sector=1+sectors_per_FAT*2+sectors_of_rootdirectories
(Floppy disk=33~)
DOS Boot Sector FAT1 FAT2 ROOT Directory Data area(where files and subdirectories are stored)

FAT32
Usually 32 sectors Logical sector =0032h Logical sector =0032h+ 2*sectors_per_FAT
DOS Boot Recore 3 Sectors Reserved sectors Copy of record Reserve sectors FAT1 FAT2 Data area(where files and all bdirectories are stored)

在邏輯分區(qū)當中用邏輯的cluster和sector。換算關系為:
cluster=logical_sector/sectors_per_cluster;
這里sectors_per_cluster是在BIOS Parameter Block里得到的。
Sector=( logical_sector mod sectors_per_track)+1;
Head=( logical_sector / sectors_per_track)mod total_heads;
Cylinder= logical_sector(sectors_per_track* total_heads);
logical_sector=( cluster-2)*sectors_per_cluster+sector_of_file_area_offset;
logical_sector=(sector-1)+head*sector_per_track+sector*sector_per_track*heads;
每個扇區(qū)長度=512字節(jié)
總簇數=邏輯盤容量/簇容量
總簇數=FAT表長度(字節(jié))/每個表項長度(字節(jié))-2
FAT表長度=邏輯盤容量/簇容量*每個表項長度

Dos引導記錄塊位于邏輯0 sector中包含三部分:
(1) 磁盤IO參數表BPB;
(2) 磁盤基數表;
(3) 引導區(qū)代碼。

描述邏輯盤結構的BPB表

FAT16的BPB(BIOS Parameter Block)表,描述邏輯盤結構組成,包含隱藏扇區(qū)數目(從0-1-1開始計算)、FAT扇區(qū)數、FAT拷貝數、硬盤磁頭總數、根目錄表項最大值等。FAT32系統中,BPB表的偏移與FAT16不同,但表項基本相同。整個隱藏扇區(qū)部分都作為邏輯盤的描述區(qū)域。

硬盤BPB主要結構說明:

(Cylinder柱面/磁道-Side/Head磁頭-Sector扇區(qū)地址以下簡稱為?-?-?)

主分區(qū)
名稱 地址 長度(扇區(qū))
主引導記錄(Main Boot Record) 0-0-1 1
系統扇區(qū)(System Secotrs) 0-0-2,0-0-63 62
引導扇區(qū)(Boot) 0-1-1 1

擴展分區(qū)
名稱 地址 長度(扇區(qū))
擴展分區(qū)(Extend Partition) ?-y-1 1
系統扇區(qū)(System Secotrs) ?-y-2,?-y-63 62
引導扇區(qū)(Boot) ?-(y+1)-1 1
其后各項與主分區(qū)相同……

隱藏扇區(qū)(Hidden Secotrs):
FAT16 0-1-1 1
FAT32 0-1-1 32

文件分配表(File Allocation Table):
FAT16 0-1-2 根據邏輯盤容量變化
FAT32 0-1-33 根據邏輯盤容量變化

說明:

1. FAT16的每個表項由2字節(jié)(16位)組成,通常每個表項指向的簇包含64個扇區(qū),即32K字節(jié)。 邏輯盤容量最大為2047MB。

2. FAT32的每個表項由4字節(jié)(32位)組成,通常每個表項指向的簇包含8個扇區(qū),即4K字節(jié)。邏輯盤容量最小為512MB。

3. 對于C分區(qū),在MBR的偏移01c2H處,FAT16為06H,FAT32為0CH。

深入邏輯分區(qū)之文件分配表(FAT)

FAT是DOS、Windows9X系統的文件尋址格式,位于DBR之后。

在解釋文件分配表的概念的時候,我們有必要談談簇(Cluster)的概念。文件占用磁盤空間,基本單位不是字節(jié)而是簇。一般情況下,軟盤每簇是1個扇區(qū),硬盤每簇的扇區(qū)數與硬盤的總容量大小有關,可能是4、8、16、32、64……同一個文件的數據并不一定完整地存放在磁盤的一個連續(xù)的區(qū)域內,而往往會分成若干段,像一條鏈子一樣存放。這種存儲方式稱為文件的鏈式存儲。由于硬盤上保存著段與段之間的連接信息(即FAT),操作系統在讀取文件時,總是能夠準確地找到各段的位置并正確讀出。

為了實現文件的鏈式存儲,硬盤上必須準確地記錄哪些簇已經被文件占用,還必須為每個已經占用的簇指明存儲后繼內容的下一個簇的簇號。對一個文件的最后一簇,則要指明本簇無后繼簇。這些都是由FAT表來保存的,表中有很多表項,每項記錄一個簇的信息。由于FAT對于文件管理的重要性,所以為了安全起見,FAT有一個備份,即在原FAT的后面再建一個同樣的FAT。初形成的FAT中所有項都標明為“未占用”,但如果磁盤有局部損壞,那么格式化程序會檢測出損壞的簇,在相應的項中標為“壞簇”,以后存文件時就不會再使用這個簇了。FAT的項數與硬盤上的總簇數相當,每一項占用的字節(jié)數也要與總簇數相適應,因為其中需要存放簇號。FAT的格式有多種,最為常見的是FAT16和FAT32。

當一個磁盤Format后,在其邏輯0扇區(qū)(即BOOT扇區(qū))后面的幾個扇區(qū)中存在著一個重要的數據表?D文件分配(FAT),文件分配表一式兩份,占據扇區(qū)的多小憑磁盤類型大小而定。顧名思義,文件分配表是用來表示磁盤問件的空分配信息的。它不對引導區(qū),文件目錄的信息進行表示,也不真正存儲文件內容。

我們知道磁盤是由一個一個扇區(qū)組成的,若干個扇區(qū)合為一個簇,文件存取是以簇為單位的,哪怕這個文件只有1個字節(jié)。每個簇在文件分配表中都有對應的表項,簇號即為表項號,每個表項占1.5個字節(jié)(磁盤空間在10MB以下)或2個字節(jié)(磁盤空間在10MB以上)。為了方便起見,以后所說的表項都是指2個字節(jié)的。

FAT表的開始由介質描述符+一串“已占用”標志組成:


FAT16硬盤----F8 FF FF 7F

FAT32硬盤----F8 FF FF 0F FF FF FF 0F

每個有效的FAT結構區(qū)包含兩個完全相同的拷貝:FAT1、FAT2
文件分配表結構如1(H表示16進制)


第0字節(jié):表頭,表磁盤類型。FFH雙面軟盤,每次道8扇區(qū)FEH單面軟盤,每磁道8扇區(qū)FDH雙面軟盤,每磁道9扇區(qū)FCCH單面軟盤,每磁道9扇區(qū)FC8H硬盤

第1~2字節(jié):(表項號1)表示第一簇狀態(tài),因第一簇被系統占據,故此兩字節(jié)為FFFFH

第3~4字節(jié):(表項號2)表示第二簇狀態(tài),若為FFFH表此簇為壞的,DOS已標記為不能用;0000H表示此簇為空,可以用;FFF8H表不能示該簇為文件的最后一簇;其余數字表示文件的下一個簇號,注意高字節(jié)在后,低字節(jié)在前。

第5~6字節(jié):(表項號3)表示第三簇狀態(tài),同上。

注意

不要把表項內的數字誤認為表示當前簇號,而應是該文件的下一個簇的簇號。.高字節(jié)在后,低字節(jié)在前是一種存儲數字方式,讀出時應對其進行調整。是如兩字節(jié)12H,34H,應調整為3412H。

文件分配表與文件目錄(FDT)相配合,可以統一管理整個磁盤的文件。它告訴系統磁盤上哪些簇是壞的或已被使用,哪些簇可以用,并存儲每個文件所使用的簇號。它是文件的“總調度師”。

當DOS寫文件時,首先在文件目錄中檢查是否有相同文件名,若無則使用一個文件目錄表項,然后依次檢測FAT中的每個表項對應的簇中,同時將該簇號寫入文件目錄表項相的26-27字節(jié),如文件長度不止一簇,則繼續(xù)向后尋找可用簇,找到后將其簇號寫入上一次找到的表項中,如此直到文件結束,在最后一簇的表項里填上FFF8H,形成單向鏈表。

DOS刪除文件時只是把文件目錄表中的該文件的表項第0個字節(jié)改為E5H,表此項已被刪除,并在文件分配表中把該文件占用的各簇的表項清0,并釋放空間。其文件的內容仍然在盤上,并沒有被真正刪除,這就是undelete.exe,unerase.exe等一類恢復刪除工具能起作用的原因。

文件分配表在系統中的地位十分重要,用戶最好不要去修改它,以免誤操作帶來嚴重的后果。



深入邏輯分區(qū)之文件目錄表(FDT)

文件目錄表(File Directory Table),即根目錄區(qū),又稱為ROOT區(qū)

緊跟在FAT2的下一個扇區(qū),長度為32個扇區(qū)(256個表項)。如果支持長文件名,則每個表項為64個字節(jié),其中,前32個字節(jié)為長文件鏈接說明;后32個字節(jié)為文件屬性說明,包括文件長度、起始地址、日期、時間等。如不支持長文件名,則每個表項為32個字節(jié)的屬性說明。

值得注意的是:


FAT32沒有儲存目錄的目錄區(qū),而 FAT16儲存根目錄并把子目錄放到數據區(qū)。

表示目錄的目錄項指出根目錄地址同時長度字節(jié)為0,表示文件的目錄項指出數據地址。



注意:DOS7前的怪字符為E5H,表示被刪除,被刪除文件仍舊能夠找到開始簇,數據恢復就依靠這一特點。

數據區(qū)(Data Area): 緊跟在FDT的下一個扇區(qū),直到邏輯盤的結束地址。它存儲著所有的數據,而且即使文件目錄被破壞仍舊可能從磁盤里把信息讀出,這也就是硬盤數據的理論依據。

到現在為止,硬盤數據結構的理論部分已經講完。數據恢復主要是手動找出FAT、目錄、數據的對應關系或直接找到數據,現在已經有完善的磁盤編輯器幫助我們做到這一點,使工作大大簡化了。

有只能化的恢復工具能不依靠FAT而恢復被刪除文件,比如RECOVERNT,估計是依靠Win2000的文件使用記錄。這種方法在沖啟動之前恢復文件的可能性很大。從理論上講只要數據不被覆蓋總能被恢復的。

實戰(zhàn)硬盤數據恢復

上面對硬盤數據恢復的理論知識進行了完整介紹,下面再簡單介紹兩種常見的硬盤故障的數據恢復辦法。

FAT表引起的讀寫故障

硬盤文件分配表龐大無法手工修復,只能依靠工具。FAT表記錄著硬盤數據的存儲地址,每一個文件都有一組FAT鏈指定其存放的簇地址。FAT表的損壞意味著文件內容的丟失。慶幸的是DOS系統本身提供了兩個FAT表,如果目前使用的FAT表損壞,可用第二個進行覆蓋修復。但由于不同規(guī)格的磁盤其FAT表的長度及第二個FAT表的地址也是不固定的,所以修復時必須正確查找其正確位置,一些工具軟件如NU等本身具有這樣的修復功能,使用也非常的方便。采用DEBUG也可實現這種操作,即采用其m命令把第二個FAT表移到第一個表處即可(不建議這樣做)。如果第二個FAT表也損壞了,則也無法把硬盤恢復到原來的狀態(tài),但文件的數據仍然存放在硬盤的數據區(qū)中,可采用CHKDSK或SCANDISK命令進行修復,最終得到*.CHK文件,這便是丟失FAT鏈的扇區(qū)數據。如果是文本文件則可從中提取出完整的或部分的文件內容。

軟盤文件分配FAT表修復

在運行某個程序時,有時會在屏幕上看到:File allocation table bad,drive A(文件分配表壞)的錯誤信息,導致程序不能正常運行。

我們知道,在磁盤中有兩個文件分配表:FAT1和FAT2。FAT1用于日常工作,FAT2備用。因此,在FAT1損壞時,可用FAT2表修補。具體方法是:運行DEBUG,將FAT2讀入緩沖區(qū),用緩沖區(qū)的FAT2數據覆蓋磁盤中的FAT1。

例:修復3寸1.44M軟盤,在A驅。在DOS環(huán)境下進入debug環(huán)境。在“-”提示符下進行如下操作:
-L 100 0 0A 9
-W 100 0 1 9
-q

其它類型的軟盤的修復方法參照下表進行。起止邏輯扇區(qū) 5.25"低密 5.25"高密 3.5"低密 3.5"高密
BOOT區(qū) 0 0 0 0
FAT1 1-2 1-7 1-3 1-9
FAT2 3-4 8-0EH 4-6 0A-12H

例如我們要修復5.25"高密軟盤的FAT,則需將上述參數改為:
-L 100 0 8 7
-W 100 0 1 7
-q
本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
硬盤數據恢復入門教程(邏輯盤BPB表篇)
DOS操作系統下的磁盤結構(1)(概述DOS操作系統的引導過程操作系統下磁盤的引導扇區(qū))
硬盤軟故障完全修復手冊——數據結構篇
硬盤分區(qū)表知識——詳解硬盤MBR
硬盤修復方法大全
系統工作機理的簡單介紹
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服