U盤提示未格式化數(shù)據(jù)的恢復(fù)一例
同事拿來(lái)一32M的U盤,提示未格式化,插上電腦一看,容量都可以認(rèn)到,恢復(fù)有希望。打開WinHex,首先做好鏡像,接下來(lái)分析U盤內(nèi)容,轉(zhuǎn)到0扇區(qū),有MBR,在MBR中入指明DBR從32扇區(qū)開始,如下圖:
轉(zhuǎn)向32扇區(qū),出來(lái)內(nèi)容都是FFFF填充,如下圖:
繼續(xù)往下翻,發(fā)現(xiàn)下面的好多扇區(qū)都和32扇區(qū)一樣,都是FFFF填充。用WinHexr的搜索功能搜eb5890,也沒(méi)有找到,說(shuō)明DBR已經(jīng)被破壞了。接下來(lái)看看FAT表是否被破壞,用WinHex 的搜索功能搜找F8ff,結(jié)果在96扇區(qū)找到了一個(gè)FAT表,繼續(xù)往下找,沒(méi)再找到,就一個(gè)FAT表。
在這里算了一下,96-33=63,再用96+63=159,這里63是扇區(qū)的個(gè)數(shù),表示DBR開始的FAT1表到FAT2表之間的扇區(qū)數(shù),也就是FAT表的大小(現(xiàn)在只是猜想),轉(zhuǎn)到159扇區(qū),看到159扇區(qū)中數(shù)據(jù),前面的158扇區(qū)全部是0,說(shuō)明從159扇區(qū)開始是FDT,再下翻32扇區(qū),轉(zhuǎn)到191扇區(qū),正好有一個(gè)根目錄,至此,這個(gè)U盤的結(jié)構(gòu)已經(jīng)清楚了:
MBR 0扇區(qū)
DBR 32扇區(qū)
FAT1 33扇區(qū)開始,大小 63個(gè)扇區(qū),F(xiàn)AT2 96扇區(qū)開始,
FDT 159 扇區(qū)開始,數(shù)據(jù)區(qū)從191扇區(qū)開始。
接下格式化U盤,把U盤的DBR寫入到鏡像的32扇區(qū)中,
在這里要修改下一DBR參數(shù),按我們前面所算的,F(xiàn)AT1表從33扇區(qū) 開始,F(xiàn)at2表從96扇區(qū)開始,DBR在32扇區(qū),按照清源大俠的懶人改Fat表法,修改FAT表的個(gè)數(shù)、大小 ,保留扇區(qū)數(shù),這里分別設(shè)置為1、63、64,(原來(lái)的為2、248、8可以對(duì)照下面兩個(gè)圖,前面有星號(hào)表示是修改過(guò)的)然后保存并重新打開,怪事,竟然不對(duì),仔細(xì)算了一下,應(yīng)該沒(méi)錯(cuò)啊,做了幾次都不行。后來(lái)突然想到,是不是簇大小有問(wèn)題,格式化后的簇大小是01,按照公式算了一下,簇總數(shù)是63*512/2-2=16126,數(shù)據(jù)區(qū)大小是64000-2*63-32-32-1=63809,簇大小是63809-16126=3.95,我們?nèi)?,修改簇大小,保存再打開,數(shù)據(jù)完美恢復(fù)。