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

硬碟資料恢復入門教程範文

計算機硬體 閱讀(2.57W)

初買來一塊硬碟,我們是沒有辦法使用的,你需要將它分割槽、格式化,然後再安裝作業系統才可以使用。一個完整硬碟的資料應該包括五部分:MBR,DBR,FAT,DIR區和DATA區。其中只有主引導扇區是唯一的,其它的隨你的分割槽數的增加而增加。

硬碟資料恢復入門教程範文

主引導扇區

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

作業系統引導扇區

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

檔案分配表

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

目錄區

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

資料區

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

硬碟分割槽方式

我們平時說到的分割槽概念,不外乎三種:主分割槽、擴充套件分割槽和邏輯分割槽。主分割槽是一個比較單純的分割槽,通常位於硬碟的最前面一塊區域中,構成邏輯C磁碟。在主分割槽中,不允許再建立其它邏輯磁碟。

擴充套件分割槽的概念則比較複雜,也是造成分割槽和邏輯磁碟混淆的主要原因。由於硬碟僅僅為分割槽表保留了64個位元組的儲存空間,而每個分割槽的引數佔據16個位元組,故主引導扇區中總計可以儲存4個分割槽的資料。作業系統只允許儲存4個分割槽的資料,如果說邏輯磁碟就是分割槽,則系統最多隻允許4個邏輯磁碟。對於具體的應用,4個邏輯磁碟往往不能滿足實際需求。為了建立更多的邏輯磁碟供作業系統使用,系統引入了擴充套件分割槽的概念。本文引用自所謂擴充套件分割槽,嚴格地講它不是一個實際意義的分割槽,它僅僅是一個指向下一個分割槽的指標,這種指標結構將形成一個單向連結串列。這樣在主引導扇區中除了主分割槽外,僅需要儲存一個被稱為擴充套件分割槽的分割槽資料,通過這個擴充套件分割槽的資料可以找到下一個分割槽(實際上也就是下一個邏輯磁碟)的起始位置,以此起始位置類推可以找到所有的分割槽。無論系統中建立多少個邏輯磁碟,在主引導扇區中通過一個擴充套件分割槽的引數就可以逐個找到每一個邏輯磁碟。

需要特別注意的是,由於主分割槽之後的各個分割槽是通過一種單向連結串列的結構來實現連結的,因此,若單向連結串列發生問題,將導致邏輯磁碟的丟失。

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

檔案的讀取

作業系統從目錄區中讀取檔案資訊(包括檔名、字尾名、檔案大小、修改日期和檔案在資料區儲存的第一個簇的簇號),我們這裡假設第一個簇號是0023。

作業系統從0023簇讀取相應的資料,然後再找到FAT的0023單元,如果內容是檔案結束標誌(FF),則表示檔案結束,否則內容儲存資料的下一個簇的簇號,這樣重複下去直到遇到檔案結束標誌。

檔案的寫入

當我們要儲存檔案時,作業系統首先在DIR區中找到空區寫入檔名、大小和建立時間等相應資訊,然後在Data區找到閒置空間將檔案儲存,並將Data區的第一個簇寫入DIR區,其餘的動作和上邊的讀取動作差不多。

檔案的刪除

Win9x的檔案刪除工作卻是很簡單的,簡單到只在目錄區做了一點小改動——將目錄區的檔案的第一個字元改成了E5就表示將改檔案刪除了。