天天看點

硬碟資料恢複學習心得

硬碟的資料結構

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

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

   作業系統引導扇區

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

   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就表示将改檔案删除了.

    硬碟資料丢失後的解決方法

    伴随着科技的發展,80G、120G的硬碟在普通使用者中都已經屢見不鮮了。但是,在長時間的使用硬碟過程中,我們也在承受着硬碟随時也會出錯的風險,輕則硬碟的資料丢失,重則整個硬碟報廢,造成不可預料的嚴重後果。采用什麼辦法,才能解決常見的硬碟資料丢失故障,成為使用者十分關注的問題。

一、硬碟的分區

  對于你手中硬碟來說,首先要做的事情就是分區了。硬碟分區是否合理直接影響到以後工作的便利性和資料的安全性。我們最常見到的分區表錯誤也是硬碟的最嚴重錯誤,不同錯誤的程度會造成不同的損失。

  如果是沒有活動分區标志,則計算機無法啟動。但從軟驅或光驅引導系統後可對硬碟讀寫,可通過fdisk重置活動分區可進行修複。如果是某一分區類型錯誤,會造成某一分區的丢失。

  在一般情況下完成硬碟分區之後,會形成3種形式的分區狀态;即主分區、擴充分區和非DOS分區。

  在硬碟中非DOS分區(Non-DOS Partition)是一種特殊的分區形式,它是将硬碟中的一塊區域單獨劃分出來供另一個作業系統使用,對主分區的作業系統來講,是一塊被劃分出去的存儲空間。隻有非DOS分區内的作業系統才能管理和使用這塊存儲區域,非DOS分區之外的系統一般不能對該分區内的資料進行通路。

  主分區則是一個比較單純的分區,通常位于硬碟的最前面一塊區域中,構成邏輯C磁盤。其中的主引導程式是它的一部分,此段程式主要用于檢測硬碟分區的正确性,并确定活動分區,負責把引導權移交給活動分區的DOS或其他作業系統。此段程式損壞将無法從硬碟引導,但從軟區或光區之後可對硬碟進行讀寫。

  而擴充分區的概念是比較複雜的,極容易造成硬碟分區與邏輯磁盤混淆;分區表的第四個位元組為分區類型值,正常的可引導的大于32mb的基本DOS分區值為06,擴充的DOS分區值是05。如果把基本DOS分區類型改為05則無法啟動系統 ,并且不能讀寫其中的資料。

  如果把06改為DOS不識别的類型如efh,則DOS認為改分區不是DOS分區,當然無法讀寫。很多人利用此類型值實作單個分區的加密技術,恢複原來的正确類型值即可使該分區恢複正常。

  分區表中還有其他資料用于紀錄分區的起始或終止位址。這些資料的損壞将造成該分區的混亂或丢失,一般無法進行手工恢複 ,唯一的方法是用備份的分區表資料重新寫回,或者從其他的相同類型的并且分區狀況相同的硬碟上擷取分區表資料,否則将導緻其他的資料永久的丢失。

  由于微機作業系統僅僅為分區表保留了64個位元組的存儲空間,而每個分區的參數占據16個位元組,是以作業系統隻允許存儲4個分區的資料,實際使用中4個邏輯磁盤往往不能滿足需求;我們常說的硬碟擴充分區,它隻是一個指向下一個分區的指針,這種指針結構将形成一個單向連結清單。是以一旦單向連結清單發生問題,将會導緻邏輯磁盤的丢失。

二、硬碟的資料恢複

1、誤格式化硬碟資料的恢複

  在DOS高版本狀态下,格式化操作format在預設狀态下都建立了用于恢複格式化的磁盤資訊,實際上是把磁盤的DOS引導扇區,fat分區表及目錄表的所有内容複制到了磁盤的最後幾個扇區中(因為後面的扇區很少使用),而資料區中的内容根本沒有改變 。

  我們可以使用多種恢複軟體來進行資料恢複,比如使用Easyrecovery 6.0和Finaldata2.0等恢複軟體均可以友善的進行資料恢複工作。另外DOS還提供了一個miror指令用于紀錄目前的磁盤的資訊 ,供格式化或删除之後的恢複使用,此方法也比較有效。

2、零磁道損壞時的資料恢複

  硬碟的主引導記錄區(MBR)在零磁道上。MBR位于硬碟的0磁道0柱面1扇區,其中存放着硬碟主引導程式和硬碟分區表。在總共512位元組的硬碟主引導記錄扇區中,446位元組屬于硬碟主引導程式,64位元組屬于硬碟分區表(DPT),兩個位元組(55 AA)屬于分區結束标志。

  零磁道一旦受損,将使硬碟的主引導程式和分區表資訊将遭到嚴重破壞,進而導緻硬碟無法引導。0磁道損壞判斷:系統自檢能通過,但啟動時,分區丢失或者C槽目錄丢失,硬碟出現有規律的“咯吱……咯吱”的尋道聲,運作SCANDISK掃描C槽,在第一簇出現一個紅色的“B”,或者Fdisk找不到硬碟、DM死在0磁道上,此種情況即為零磁道損壞!

  零磁道損壞屬于硬碟壞道之一,隻不過它的位置相當重要,因而一旦遭到破壞,就會産生嚴重的後果。通常0磁道損壞的硬碟,可以通過PCTOOLS的DE磁盤編輯器(或者DiskMan)來使0磁道偏轉一個扇區,使用1磁道來作為0磁道來進行使用。而資料可以通過Easyrecovery來按照簇進行恢複,但資料無法保證得到完全恢複。

   硬碟主引導記錄(MBR)所在的扇區也是病毒重點攻擊的地方,通過破壞主引導扇區中的DPT(分區表),就可以輕易地損毀硬碟分區資訊,達到對資料的破壞目的。分區表的損壞是分區資料被破壞而使記錄被破壞的。是以,我們可以使用軟體來進行修複。

  硬碟分區之後,要備份一份分區表至軟碟、CD光牒或者移動存儲活動盤上。

  在恢複分區上,諾頓磁盤醫生NDD是絕對強勁的工具,可以自動修複分區丢失等情況,可以搶救軟碟壞區中的資料,強制讀出後搬移到其它空白扇區。在硬碟崩潰或異常的情況下,它可能帶給使用者一線希望。在出現問題後,用啟動盤啟動,運作NDD,選擇Diagnose進行診斷。NDD會對硬碟進行全面掃描,如果有錯誤的話,它會向你提示,然後隻要根據軟體的提示選擇修複項目即可,而且這些問題它都能輕輕松松地解決。

  另外,大家非常熟悉的中文磁盤工具DiskMan,在重建分區表方面具有非常實用的功能,用于修複分區表的損壞是最合适不過了。

  但是,重建分區表功能也不能保證做到百分之百的修複好硬碟分區表。是以要記住“求誰也不如求自己”還是保護好自己的硬碟吧!盡量避免硬體損傷以及病毒的侵擾,一定要做好分區表的備份工作;如果沒有做備份的話,請下載下傳一個DiskMan軟體,然後在工具選項中,選備份分區表,一般預設是備份到軟驅上面的。然後你應該把這個備份檔案刻錄到CD光牒或者是拷貝到U盤裡,千萬不要放到硬碟裡,那樣就與沒有備份的效果一個樣了!

誤删除之後的資料恢複

  在計算機使用過程中我們最常見的資料恢複就是誤删除之後的資料恢複了,但是在這個時候一定要記住,千萬不要再向該分區或者磁盤寫入資訊,因為剛被删除的檔案被恢複的可能性最大。  實際上當用fdisk删除了硬碟分區之後,表面現象是硬碟中的資料已經完全消失,在未格式化時進入硬碟會顯示無效驅動器。具體說就是删除了硬碟分區表資訊,而硬碟中的任何分區的資料均沒有改變。

  由于删除與格式化操作對于檔案的資料部分實質上絲毫未動,這樣,就給檔案恢複提供了可能性。我們隻要利用一些反删除軟體(它的工作原理是通過對照分區表來恢複檔案的),使用者可以輕松地實作檔案恢複的目的。

  同時誤格式化同誤删除的恢複方法在使用上基本上沒有大的差別,隻要沒有用Fdisk指令打亂分區的硬碟(利用FDISK指令對于40G以内的硬碟進行分區,還是很友善實用的,所有啟動盤上都有,主機闆支援也沒有任何問題),要恢複的檔案所占用的簇不被其他檔案占用,這樣,格式化前的大部分資料仍是可以被恢複的。

  如果你的Windows系統還可以正常使用的話,那麼最簡單的恢複方法就是用Windows版EasyRecovery軟體,它恢複硬碟資料的功能十分強大,不僅能恢複被從資源回收筒清除的檔案,而且還能恢複被格式化的FAT16、FAT32或NTFS檔案系統中的檔案。

  以上是當我們遇到硬碟資料丢失後如何進行資料恢複的幾種方法,相信這些對于電腦高手的朋友們來說真的不算什麼,但還有不少初學電腦的朋友在為硬碟資料的丢失而苦惱啊!通過今天簡單介紹的幾種方法,衷心希望能對大家有點幫助.

繼續閱讀