步驟2 尋找根目錄。尋找根目錄是為了確定FAT2的大小,從而可以使用FAT2恢復FAT1。
尋找根目錄的方法有多種:
u 一種是搜索回收站。在文件系統剛剛創建時,該文件系統下是沒有回收站“Recycled”目錄的。在第一次將數據刪除至回收站時,系統即會在根目錄下建立該目錄。因此,可以通過搜索字符“Recycled”來尋找根目錄。但理論上來講,如果在第一次分配給根目錄的2號簇裝滿目錄項前沒有進行過刪除操作,那么Recycled目錄就會建立在分配給根目錄的后續簇空間中,而這個簇可以是未分配的任何一個簇。在這種情況下,我們通過搜索“Recycled”找到的根目錄就不是根目錄的起始簇。
u 還有一種方法是估算法。由于FAT2起始于779號扇區,通常FAT32文件系統的FAT1起始于30~40號扇區的位置,由此可以估算出一個FAT表的大小扇區數,然后向后跳過該扇區數,手工查找根目錄。根目錄前為FAT2的結尾處,而這個結尾處一定會有大量的“00”存在,可以據此判斷是否正確地找到了根目錄的位置。
u 第三種方法是搜索卷標。如果為文件系統設置了卷標,則根目錄下的第一個目錄項一定是卷標目錄項。
u 第四種方法是搜索較早建立于根目錄下的目錄或文件名。
其他方法我們不再一一列舉,讀者可以在實際恢復中根據不同情況區別對待,靈活掌握。
為了向讀者介紹如何在Winhex中搜索字符,在此我們使用第四種方法。假定我們知道根目錄下有一個目錄的名字為“目錄1”,在Winhex工具欄中單擊搜索文本字符按鈕 或選擇菜單欄中的Search | Find Text,即可彈出文本搜索設置框。如圖10.38所示。
在設置框中進行如下設置:
u 在搜索文本框中輸入“目錄1”。
u 字符集選擇“ASCII/Code page”,這是因為FAT32使用ASCII碼存儲文本字符。如果在NTFS下,則需要選擇“Unicode”。
u 因為我們當前所處的位置是FAT2的起始扇區,要搜索的根目錄位于其后,因此在搜索方向中選擇“Down”,即向下搜索。
u 每個目錄項的大小為32個字節,所以我們只需要位于可以被32整除的偏移處的結果,因此偏移調制設置為“?MOD 32 = 0”。
設置完畢后單擊OK即開始搜索,最終在1520號扇區找到“目錄1”。同時還可以看到了其他兩個目錄的目錄項。也如圖10.39所示。