為什么我恢復的文件打不開/打開全是亂碼
你是否遇到過這種情況,即明明找到了自己丟失的文件,但恢復出來就是打不開,或者打開全是亂碼?下面我們來介紹一下出現這種情況的原因。
要了解這種現象出現的原因,首先我們要了解一個文件是怎么存放在硬盤分區中的。
例如,我們有一個叫“報表 .doc”的文件存放於 D盤,如圖 1:

在分區中,為了存放一個文件,系統首先在分區中類似於書的目錄的結構中( FAT32為目錄項, NTFS為 MFT項)寫入文件的文件名,大小,時間,屬性等信息,並且從可用空間里分配一塊區域用於存放文件內容,內容所占的位置也寫在目錄中,以便以后尋找。如上圖,“報表 .doc”占用了 21, 22, 23三塊空間,並且在目錄中有對它的描述。現在如果我們誤刪除這個文件,則會變成下圖:

我們看到,當我們刪除“報表 .doc”時,系統只是在這個文件目錄的位置加上了一個“已刪”標記,而關於它的一切其他數據和內容都還完好的保存在分區中,此時, 21, 22, 23三塊區域隨着“報表 .doc”的刪除,變為了 可用空間,用於存放文件位置信息的第 10塊區域因為被加了刪除標記,系統在寫入新文件時就可能重用這塊區域。如果我們在數據恢復時是圖 2的這種情況,恢復成功率是 100%,因為關於“報表 .doc”的一切信息均完好。
但是,如果我們意識到文件誤刪的時間較慢,從刪除文件到開始嘗試恢復之間還進行過其他操作,比如,在 D盤安裝了其他程序,則圖 2的這種情況將可能變為圖 3所示:

我們在D盤安裝了新的程序,它的其中一個文件“a.exe”正好被分配到了20和21塊,這時,“報表.doc”文件的第一部分內容就被覆蓋了,我們現在如果開始恢復文件,從第10塊得到文件的內容在21-23,在把21-23這3塊的信息保存成新文件,由於21已經被毫不相干的其他文件占據,所以文件被破壞,此時再用Word打開,就會提示文件損壞,或者直接顯示亂碼
為什么格式化可能無法恢復
首先我們了解下格式化與刪除
我們向硬盤里存放文件時,系統首先會在文件分配表內寫上文件名稱、大小,並根據數據區的空閑空間在文件分配表上繼續寫上文件內容在數據區的起始位置。然后開始向數據區寫上文件的真實內容,一個文件存放操作才算完畢。
刪除操作卻簡單的很,當我們需要刪除一個文件時,系統只是在文件分配表內在該文件前面寫一個刪除標志,表示該文件已被刪除,他所占用的空間已被"釋放", 其他文件可以使用他占用的空間。所以,當我們刪除文件又想找回他(數據恢復)時,只需用工具將刪除標志去掉,數據被恢復回來了。當然,前提是沒有新的文件寫入,該文件所占用的空間沒有被新內容覆蓋。
格式化操作和刪除相似,都只操作文件分配表,不過格式化是將所有文件都加上刪除標志,或干脆將文件分配表清空,系統將認為硬盤分區上不存在任何內容。格式化操作並沒有對數據區做任何操作,目錄空了,內容還在,借助數據恢復知識和相應工具,數據仍然能夠被恢復回來。
注意:格式化並不是100%能恢復,有的情況磁盤打不開,需要格式化才能打開。如果數據重要,千萬別嘗試格式化后再恢復,因為格式化本身就是對磁盤寫入的過程,只會破壞殘留的信息
數據恢復成功率的幾個影響因素
第二條:FAT或者FAT32分區,刪除或者格式化后,比較大的文件或者經常編輯修改的文件,恢復成功率要低一些,比如經常編輯修改的XLS或者CDR文件就很難完整恢復。那些文件拷進去后就不動的文件,恢復成功率比較高,比如PDF或者JPG,MPG等不經常修改的文件,恢復率還是比較高的。這是因為FAT和FAT32分區使用文件分配表來記錄每個文件的簇鏈碎片信息,刪除或者格式化后簇鏈碎片信息就被清空了, 那些經常編輯修改的文件由於它們的文件長度動態增長,在文件系統中一般都不會連續存放,所以文件碎片信息就無法恢復,文件恢復也就不完整了。
第三條:經過回收站刪除的文件,有時候會無法找到文件。NTFS下,從回收站中刪除的文件,文件名會被系統自動修改成De001.doc之類的名字,原來的文件名被破壞。當您的數據丟失后,不能直接找到文件名,記得別漏過這些被系統改名過的文件哦。 直接Shift+Del刪除的則不會破壞文件名。
第四條:重新分區或者刪除分區或者分區表破壞,一般后面的分區基本能完整恢復,越靠后的分區被破壞的可能性越低,所以重要數據最好放在比較靠后的分區里面,不要放在C,D盤里。
什么情況下丟失的數據不能或者不易恢復?(一)
數據恢復不是100%都能成功的,它依靠操作系統對硬盤寫入數據時的一些特性來工作,下面來介紹一些造成丟失數據無法恢復的常見幾種情況。
1、數據覆蓋
假設我們一個文件叫A,他在硬盤里存放方式如圖1



2、FAT32中文件不連續儲存




什么情況下丟失的數據不能或者不易恢復?(二)
3、文件的目錄項(MFT項)被覆蓋
在前面兩種情況中我們都提到了一個叫“目錄項(MFT項)”的東西,它是文件系統用來記錄文件名,文件大小,文件創建、修改、訪問時間,文件屬性等等基本信息的數據結構,一般被儲存在各分區的特殊區域。訪問一個文件時,系統必定從這些數據中找到目標文件,根據其中信息才能獲取文件的內容。
當一個文件被刪除時,它原來內容所占的區域會變為可用空間,它的目錄項(MFT項)也會標為未使用,也就是說,以后創建的新文件的目錄項(MFT)項就可能會占據這個位置。我們還是以上面NTFS文件系統中的一個例子進行說明,如圖8:



4、錯誤的格式化分區,或使用分區鏡像工具還原了分區
從上面3種情況我們了解到,一個文件是否能恢復成功,取決於數據時候被覆蓋,文件前后關聯信息是否完好。下面我們來分析一下格式化分區或者用分區鏡像工具(例如:ghost)還原分區后數據恢復的情況。
(1) FAT分區格式化,破壞力:*****
在FAT分區進行格式化時,系統將會清空所有的FAT表,這對不連續儲存文件的恢復來說是毀滅性的。FAT分區格式化后,大部分數據恢復工具都能搜索出之前文件,但只有那些連續儲存的文件能夠正常恢復。
(2) FAT分區鏡像還原,破壞力:*****
在進行分區還原時,鏡像工具寫入了鏡像分區中的數據,導致一部分數據被徹底覆蓋,鏡像越大,覆蓋的數據區域也就越大,有恢復希望的數據就越少。並且在還原時,FAT表中會寫入鏡像分區的內容,有時就會使一部分數據恢復工具誤認為FAT表有效,而將文件指向了錯誤的地方。
(3) NTFS分區格式化,破壞力:**
NTFS格式化時會重寫MFT項的前十幾個,而這些項目是文件系統內部的隱藏文件,與用戶數據關系不大,原本的用戶文件的MFT項依然存在,數據恢復的可能性就非常大。一般如果沒有在格式化后的磁盤寫入數據,並且原本分區並不是很滿的話,數據是能全部恢復的。如果原本分區很滿,那么MFT項本身可能分段,造成格式化后找不到一部分MFT項。
(4) NTFS分區鏡像還原,破壞力:****
NTFS還原分區后也會被覆蓋部分數據,根據被覆蓋部分的大小決定能恢復的數據多少。還原分區時也寫入的新的MFT項,造成靠前的MFT項被覆蓋,從而是數據恢復變得困難。
從這里仍然看出,NTFS文件系統更有利於數據的恢復。使用鏡像還原分區后,由於新數據的寫入,恢復難度也大大增加。格式化分區時如果選擇的不是“快速格式化”,則系統會清理掉大量原本分區的數據,而使數據恢復陷入困境。
總結:數據恢復永遠離不開一個本質——即數據是否被覆蓋。一旦原本數據被覆蓋,一切恢復手段都是浮雲。