硬盤是怎么樣數據恢復的呢?首先我們來了解一下硬盤的存儲原理,硬盤是通過0和1的數字信號來存儲的數據的,在硬盤中就表現為磁頭在變化的磁場中產生電阻值的變化,導致產生高電位和低電位的不同信號。在光盤中,則表現為凸出和凹陷的光盤介質表面產生強弱變化的光反饋信號,進而導致不同的高低電位信號。因此,硬盤結構和理論看起來雖然復雜,但是歸根到底就是盤面上表示0和表示1的磁信號。只要磁盤上還有表示0和1的磁信號并且還能被分辨出來,就基本上可以說這個盤片具備了數據恢復的條件。當然,用什么手段來恢復就是另外一個問題了。
了解數據恢復的基本原理
為了加深大家對數據恢復的理解,我們有必要簡單了解一下數據存儲的基本原理。這里以硬盤為例做簡單說明(軟盤、光盤及閃盤的數據存儲原理與硬盤大同小異)。先來看看硬盤的數據結構。當我們拿到一塊新硬盤時,必須先對其進行分區和格式化操作后才能使用。對于目前大多數朋友所使用的Windows操作系統來說,硬盤被操作系統劃分成主引導扇區、操作系統引導扇區、文件分配表、目錄區和數據區這5個部分。其中主引導扇區在每塊硬盤中都是唯一的,一塊硬盤上只能有一個主引導扇區,而其他部分則在硬盤的每個分區里都會存在。
軟盤、光盤、閃存盤和硬盤的數據存儲原理其實有較大不同。軟盤的存儲原理更像是錄音帶,直接通過電磁感應原理把磁場變化變成電流變化,對磁頭和磁介質等材料并沒有特殊要求。光盤上面也說了,至于閃盤,是直接用半導體儲存高電位和低電位信號來表示0和1的數據信息。同時,各種存儲介質所采用的文件格式也有很大區別。
主引導扇區位于整個硬盤的0磁道0柱面1扇區,它包括硬盤主引導程序MBR(Main Boot Record)和分區表DPT(Disk Partition Table)兩部分。主引導程序是由分區程序(如大家最常用的Fdisk)產生的,所以在不同的操作系統中,主引導程序可能會不同。它的作用就是檢查分區表是否正確并確定以哪個分區為引導分區,然后在程序結束時把該分區的啟動程序(即操作系統)調入內存執行。而對于分區表,大家應比較熟悉了,它以80H或00H為開始標志,以55AAH為結束標志,共64字節,位于0磁道0柱面1扇區的最末端。它規定著系統有幾個分區,每個分區的起始和終止扇區、大小及是否為活動分區等重要信息。
操作系統引導扇區即OBR(OS Boot Record),通常位于硬盤的0磁道1柱面1扇區(如果硬盤被設置為多重引導方式,則位于每個引導系統所在的主分區或擴展分區的第一個扇區)。它是操作系統可直接訪問的第一個扇區,也包括一個引導程序和一個被稱為BPB(BIOS Parameter Block)的分區參數記錄表。引導程序的主要任務是判斷本分區根目錄前兩個文件是否為操作系統的引導文件。如檢查通過,就將引導文件讀入內存,并把控制權交予該文件。BPB分區表參數塊則是記錄著本分區的起始扇區、結束扇區、文件存儲格式、硬盤介質描述符、根目錄大小、FAT個數、分配單元(Allocation Unit,以前也稱為簇)的大小等重要參數。不知大家注意過沒有,同一個硬盤,用生產廠家的原廠工具來分區與用Fdisk或Partition Magic之類的第三方工具來分區是有區別的。我們可以試一下,先用原廠工具來分區,然后啟動Partition Magic查看,發現什么問題沒有?通常用原廠工具分區的硬盤開頭或結尾部分,有可能還剩下4~8MB左右的未使用空間,而用Fdisk或Partition Magic分區則不會產生這種情況。這是硬盤廠家為防止硬盤因為引導區的信息出錯,或該處扇區物理損壞而產生的一系列麻煩而采取的一個小小的但是卻很有實用價值的措施。所以,一般用原廠工具分區,硬盤工作起來會比較穩定,在非法關機時也不容易掉鏈子;即使出現所謂的零磁道損壞(邏輯零磁道)、引導區出錯而導致系統不認盤等問題,用戶也不需使用Disk Editor、PCTools等軟件修復,只需一個原廠工具重新快速低格然后分區就一切如常了。
文件分配表即FAT(File Allocation Table),是系統的文件尋址系統,為了數據安全起見,FAT一般做兩個,第二FAT為第一FAT的備份。FAT區緊接在OBR之后,其大小由本分區的大小及文件分配單元的大小決定。FAT的格式有很多種,大家比較熟悉的有FAT12、FAT16和FAT32等格式。FAT12目前僅在軟盤驅動器中使用,FAT16只能用于2GB以下的分區;而FAT32使用最為廣泛,可管理的最大分區為32GB。
對于格式化、拷貝大文件過程中突然斷電的話,基本可肯定會出現分區表損壞的情況。不過現在大家知道原來分區表有兩個,同時如果使用原廠工具分區,非法關機時則不易丟失分區表信息。文件系統的格式除了FAT16和FAT32外,還有NTFS、ReiserFS、ext、ext2、ext3、ISO9660、XFS、Minx、VFAT、HPFS、NFS、SMB、SysV、PROC、JFS等。其實,日常我們接觸的都是DOS和Windows下的文件系統,而其他的文件系統則同我們相距較遠,這里就不多做介紹了。
根目錄即DIR(Directory),它緊接在第二FAT表之后。只有FAT還不能定位文件在磁盤中的位置,FAT還必須和DIR配合才能準確定位文件的位置。DIR記錄著每個文件(目錄)的起始單元(對于文件來說,這才是至關重要的)、文件的屬性等。操作系統在定位文件位置時,根據DIR中的起始單元,再結合FAT表就可知文件在磁盤的具體位置及大小了。
數據區即DATA,當將數據復制到硬盤時,數據就存放在DATA區。對于一塊儲存數據的硬盤來說,它占據了硬盤的絕大部分空間,但如沒有前面所提到的4個部分,DATA區就僅只是一塊填充著0和1的區域,沒有任何意義。特別是在SCSI硬盤這種具備完整的校驗和安全機制的硬盤上,數據區的信息里也還有很多附加標識信息和校驗信息,可作為數據恢復的手段。IDE硬盤上則確實較麻煩,要花不少功夫。不過目前很多發布數據恢復軟件的公司都在不斷研究這個問題,希望能通過優化算法,盡量提高數據恢復的成功率和恢復速度。
在硬盤上寫入文件時,首先在DIR區中寫入文件信息(包括文件名、后綴名、文件大小和修改日期),然后在DATA區找到閑置空間將文件保存,并將DATA區中存放文件的簇號寫入DIR區,從而完成整個寫入數據的工作。系統刪除文件時的操作則簡單許多,它只需將該文件在DIR區中的第一個字符改成E5,在文件分配表中把該文件占用的各簇表項清0,就表示將該文件刪除,而它實際上并不對DATA區進行任何改寫。通常的高級格式化程序,只是重寫了FAT表而已,并未將DATA區的數據清除;而對硬盤進行分區時,也只是修改了MBR和OBR, 并沒有改寫DATA區中的數據。正因為DATA區中的數據不易被改寫,從而也為恢復數據帶來了機會。事實上各種數據恢復軟件,也正是利用DATA區中殘留的種種痕跡,來恢復數據,這就是整個數據恢復的基本原理。
實戰數據恢復
一般存儲器中的數據被破壞,主要有以下幾方面的原因:
(1)自然災害,如水災、火災、雷擊、地震等造成計算機系統的破壞,導致存儲數據被破壞或完全丟失;
(2)使用人員的誤操作;
(3)計算機設備的硬件故障,包括存儲介質的老化、失效;
(4)病毒感染造成的數據破壞;
(5)“黑客”程序或軟件Bug對數據的破壞。
根據數據損壞的原因,采用不同的恢復方法。現在我們就針對目前使用最為廣泛的硬盤、光盤、軟盤及閃存等設備,來談談數據恢復的具體工作。
在所有正常損壞的方式中(上面說的幾種),甚至更極端一點,把硬盤從五樓高扔到地上,都不會導致P列表清除,除非有人吃飽了撐的,愿意花一百幾十塊讓人用PC3000之類的軟件清除P列表。因此,國外的數據恢復軟件都沒有在零售版本中為這種正常損壞下不可能發生的情況而專門放上這樣的功能。寫出這樣的軟件展示一下公司的實力是有意義的,畢竟數據還在硬盤里面放著,雖然清除P列表的同時,也等于同時改變甚至完全清除了目錄區的信息,大大增加了數據恢復的難度,但只要有針對性地采用一種新的算法和恢復方式,要恢復數據也并不是海底撈月;而且國外也不是沒有這樣的軟件,只是沒有零售版而已。
frecover命令的常用方法 frecover命令專門用來恢復采用fbackup備份的資料,其用法和fbac...
3.在主機I/O控制器中實現磁盤緩存 歷史上,關于實現緩存的研究和開發有很多,但大多數是...
現在每個用戶的硬盤中都存放著大量的有用數據,而硬盤又是易出毛病的。為了有效的保存硬...
任務管理器使用技巧,任務欄管理器是系統自帶的一個軟件,使用很是方便,點擊ctrl+alt+de...
華軍深圳數據恢復中心經常有客戶致電來咨詢,關于“為什么硬盤不認盤了呢?能數據恢復嗎?...
硬盤分區表或數據丟失,是非常讓人頭痛的事。所幸的是,現在有相當多的工具可以對數據進...
如今局域網已經相當普及了,如果有人不慎在局域網中刪除了硬盤中的文件,通過一般的軟件...