FAT32下檔案刪除的恢複思路與方法
內容提要:因為FAT32的檔案系統是由三部分進行管理檔案的
檔案目錄項 FAT表 資料區
一 首先瞭解FAT32分區下檔案刪除會對硬碟底層做了哪些操作.
1、檔案目錄項的首位元組被改成E5,該檔案的起始簇號的高位簇號被清零(本文只對高位簇號沒有被清零或高位簇號原來就是零的進行講解)
2、FAT 對應的簇鏈被清零
3、資料區沒有發生改變
下面我們來看一下WINHEX截取的圖片。我用VDISK虛擬了一個磁碟。裡面裝了一首MP3歌曲。現在就來看一下沒有刪除以前的那個MP3歌曲在檔案系統中是什麼樣的。檔案名稱是 10 朋友別哭.mp3
未刪除檔案以前的目錄項
FAT表一部分,
未刪除以前的資料區 一部分
下面我們再來看一下刪除檔案後發生的改變
檔案目錄項:首位元組被改成了E5
下載 (20.43 KB)
2008-9-30 12:44
FAT 表 已經被清零
資料區 無變化
這就是刪除以前和刪除後的變化。不知道大家看懂了沒有。下面我們就來恢複這個MP3歌曲。
恢複思路:找到該檔案的起始簇號。然後算出該檔案佔用的扇區數。這樣就能匯出該檔案
1、
轉到該檔案目錄項
我們知道,FAT32的起始簇號 是兩個部分組成一是從34H-35H位移 二是3A-3B位移,
34H-35H 為 00 00
此簇號為00 00。只是因為原來簇號就是00 00 我們刪除檔案以後高位被清零。所以我們看不出來改變了。因為我們按照高位在前,低位在後的原則
所以該檔案的起始簇號為 00 00 00 03H
起始簇號為3號簇
下面我們算一下該檔案的大小。 在目錄項的3C-3FH位移是檔案的大小,它的單位是位元組
94 7F B0 00 H
等於11597716位元組 大家都知道一個扇區是512位元組 那麼11597716 /512= 22651.7890625
四捨五入=22652扇區 該檔案就佔用了這麼多扇區。
好了,既然起始簇號和佔用扇區數已經算出來了,我們就開始恢複檔案吧
先跳轉到3號簇
3號簇對應的是1264號扇區 也就是該檔案的起始扇區
那麼該檔案的結束扇區就應該是(起始扇區+此檔案佔用的扇區數)也就是1264+22652=23916號扇區
首先在1264號扇區的首位元組點選塊開始
下載 (150.67 KB)
2008-9-30 12:44
然後在23916的最後一個位元組點選塊結束
然後在任意所選的扇區上點右鍵---編輯-----複製選塊-----置入新檔案
預設的名子是NONAME . 在任意位置點儲存。檔案的副檔名預設是DAT
然後把此檔案夾副檔名改為MP3就可以了。
此檔案恢複成功 。
批註:
本例中的檔案恢複成功基於2個前提:
1:目錄項的高位(0X09D034~0X09D035)在檔案刪除後未被清零或者原本就為零。
2:檔案內容連續存放