999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

重建分區表與FAT32_DBR研究與實現

2016-02-27 00:44:08陳培德吳建平王麗清
計算機技術與發展 2016年10期
關鍵詞:方法

陳培德,吳建平,王麗清

(1.云南大學 信息學院,云南 昆明 650223;2.云南省高校數字媒體技術重點實驗室,云南 昆明 650223)

重建分區表與FAT32_DBR研究與實現

陳培德1,2,吳建平1,2,王麗清1,2

(1.云南大學 信息學院,云南 昆明 650223;2.云南省高校數字媒體技術重點實驗室,云南 昆明 650223)

通過對硬盤MBR分區表結構、FAT32文件系統整體布局以及FAT32_DBR結構的分析,以實驗的方式對硬盤MBR分區表、FAT32_DBR以及FAT1同時被破壞后進行修復研究。提出了恢復硬盤數據的兩種方法:修復硬盤FAT32_DBR和FAT1以及修復硬盤MBR分區表、FAT32_DBR和FAT1。實驗結果表明:當硬盤MBR分區表、FAT32_DBR和FAT1同時被破壞后,可以采用這兩種方法中的一種來恢復FAT32文件系統中的全部數據,解決了由于硬盤MBR分區表、FAT32_DBR和FAT1同時被破壞后數據難以恢復的難題。方法一只能恢復只有一個MBR分區表中的數據,而方法二可以恢復多個MBR分區表中的數據。

FAT32文件系統;分區表;子目錄;文件分配表

0 引 言

FAT32文件系統廣泛應用于U盤、硬盤、移動硬盤、照相機(或攝像機)的SD卡、手機的TF卡等外存儲器上,但是由于用戶操作不當、計算機病毒、斷電、誤操作、振動等各種原因導致FAT32文件系統被破壞的現象時有發生,從而引發數據丟失。其中:當MBR(即主引導記錄)分區表、FAT32_DBR(即DOS操作系統的引導記錄)和FAT1(即FAT32文件系統的第1個文件分配表)同時被破壞后,重建的難度非常大。

當MBR分區表被破壞后,在資源管理器中無法看到盤符,使用計算機管理中的磁盤管理查看時,出現“未分配”的提示[1]。

如果分區表完好,而只是FAT32_DBR被破壞,在資源管理器中可以看到盤符,但當單擊該盤符時,出現“磁盤未格式化”的提示[2]。

經過長期的實驗研究,總結了重建MBR分區表、FAT32_DBR和FAT1的基本思路與方法。

1 MBR分區表的基本結構

在Windows平臺下能夠支持的分區結構包括MBR分區、GPT磁盤分區和動態磁盤分區[1]。其中MBR分區仍然是外存儲器的主要分區形式。在MBR分區中,整個硬盤0扇區由主引導記錄、磁盤簽名、分區表和結束標志四部分組成。其中,最重要的就是分區表。在硬盤0號扇區中最多只能存放4個分區表。每個分區表項長度為16個字節[2],分為6部分,說明如下:

(1)引導標志占1個字節,其取值為0x00或0x80,如該分區不引操作系統,則取值為0x00[3]。

(2)在CHS(即柱面、磁頭和扇區)存儲方式下作為起始地址占3個字節,而在LBA(即邏輯塊存取方式)下這3個字節未定義,可以使用任意數據,目前Windows操作系統下硬盤使用的存取方式為LBA[4]。

(3)分區標志占1個字節,FAT32文件系統為0x0C或者0x0B。

(4)在CHS存儲方式下作為結束地址占3個字節,而在LBA下這3個字節未定義,可以使用任意數據[5]。

(5)相對扇區占4個字節,即分區表到DBR扇區數。

(6)總扇區數占4個字節,即分區所占扇區總數[6],如果分區為FAT32文件系統,總扇區數等于FAT32_DBR中的總扇區數。

2 FAT32整體布局及FAT32_DBR結構

從整體結構上看,FAT32文件系統由保留扇區(注:DBR位于保留扇區的第1個扇區,即FAT32文件系統的0號扇區)、FAT表(包括FAT1和FAT2)和數據區三部分組成。FAT32文件系統的總體布局[7]如圖1所示。

保留扇區FAT表FAT1FAT2數據區0號扇區、1號扇區、…………2號簇、3號簇、…

圖1 FAT32文件系統的總體布局

從圖1可知,FAT32_DBR位于FAT32卷的0號扇區,占一個扇區。一般情況下,在FAT32文件系統的6號扇區存儲著FAT32_DBR備份[8]。

FAT32_DBR在FAT32文件系統占有極其重要的地位,在FAT32_DBR中存儲著FAT32文件系統的重要參數[9]。如:每個扇區的字節數、每個簇的扇區數、保留扇區數、每個FAT表所占扇區數等,這些參數一旦被破壞或不正確,FAT32卷將會出現這樣或那樣一些故障,并顯示在屏幕上。如:出現“磁盤未格式化”、“文件或目錄損壞無法讀取”、“此卷不包含可識別的文件系統”以及“目錄出現亂碼”等提示信息[10]。

FAT32_DBR完成對FAT32文件系統參數的定義和引導系統的作用,FAT32_DBR結構定義如表1所示[11-12]。

表1 FAT32_DBR的結構

一般情況下,重建FAT32_DBR所需計算的參數見表2,其他參數可以使用同一版本的FAT32文件系統中的DBR參數[13]。

表2 重建FAT32_DBR所需計算的參數(1)

3 重建FAT1的基本思路和方法

當FAT32文件系統的FAT1被破壞后,可以通過FAT32文件系統的FAT2來恢復,其思路如下:

(1)查找第1個子目錄所在位置,并記錄下扇區號和所在簇號;

(2)查找第2個子目錄所在位置,并記錄下扇區號和所在簇號;

(3)通過這兩個子目錄所在扇區號和所在簇號,計算出每個簇的扇區數;

(4)計算出2號簇所在扇區號[14],即FAT32根目錄的開始扇區號;

(5)查找所并記錄下FAT2開始扇區號;

(6)通過2號簇所在扇區號和FAT2的開始扇區號,計算出每個FAT表所占扇區數;

(7)通過每個FAT表所占扇區數和FAT2的開始扇區號,計算出FAT1的開始扇區號,并通過FAT2恢復FAT1[15]。

下面以實驗的方式討論重建FAT32文件系統FAT1的基本方法:

(1)使用WinHex軟件菜單欄上的工具→打開物理磁盤功能打開該硬盤。

(2)查找第1個子目錄在硬盤位置,在整個硬盤8 328號扇區找到,如圖2所示。從圖2可知,第1個子目錄在FAT32的簇號為0x00000003(即3)。

圖2 第1個子目錄所在硬盤中的位置

(3)查找第2個子目錄在硬盤位置,在整個硬盤14 600號扇區找到,第2個子目錄在FAT32的簇號為0x0313(即787)。

(4)每個簇的扇區數等于兩個子目錄所在硬盤開始扇區號之差除以兩個子目錄在FAT32開始簇號之差。

每個簇的扇區數=(14 600-8 328)÷(787-3)=8

(5)假設2號簇在硬盤的開始扇區號為x,由(14 600-x)÷(787-2)=8,計算出x=8 320,FAT2的結束扇區號為8 319。

(6)查找FAT2在硬盤的開始扇區號,在6 285號扇區找到,如圖3所示。

圖3 FAT2的開始扇區號所在位置

每個FAT表所占扇區數=FAT2結束扇區號-FAT2開始扇區號+1=8 319-6 285+1=2 035

FAT1開始扇區號=FAT2開始扇區號-每個FAT表所占扇區數=6 285-2 035=4 250

(7)將光標移動到6 285號扇區的開始位置處定義塊首,將光標移動到8 319號扇區最后一個字節處定義塊尾。單擊“復制”按鈕。

(8)將光標移動到FAT1開始扇區(即4 250號扇區)的開始位置處,單擊“粘貼”按鈕,并存盤,即可恢復FAT1。

4 重建FAT32_DBR基本思路和方法

由于分區表被破壞,無法從分區表中獲得FAT32_DBR在硬盤中的位置,也無法從分區表中獲得FAT32_DBR中的總扇區數。

因此,FAT32_DBR的位置可以放置在硬盤0號扇區至FAT1之間的任一扇區。如果將FAT32_DBR存放在硬盤0號扇區,說明該硬盤沒有分區表,此時FAT32_DBR中保留扇區數為FAT1開始扇區前的扇區數;如果FAT32_DBR不存放在硬盤的0號扇區,說明該硬盤存在分區表,還需要恢復分區表。

FAT32_DBR中的總扇區數可以通過每個FAT所占扇區數和每個簇的扇區數估算出來。

重建FAT32_DBR可以分為兩種情況來考慮。

情況一:將FAT32_DBR存放在硬盤的0號扇區,其方法如下:

(1)由于每FAT表項占4個字節,而每個扇區為512個字節,所以每個扇區可以容納128個FAT表項。

(2)該FAT32文件系統每個FAT表占2 035個扇區,所以該FAT表可以容納260 480個FAT表項,由于FAT32文件系統的開始簇號為2,所以該FAT32的最大結束簇號為260 479。

可以估算該FAT32文件系統的總簇數為260 469,比最大結束簇號少10個簇,所以數據區所占簇號范圍為2~260 470,共計260 469個簇,由于每個簇的扇區數為8,所以,數據區所占扇區數為2 083 752。

(3)由FAT32_DBR存放在硬盤的0號扇區,所以保留扇區數為FAT1的開始扇區號,即4 250。

(4)DBR中總扇區數=數據區所占扇區數+每個FAT所占扇區數×FAT表的個數+保留扇區數=2 083 752+2 035×2+4 250=2 092 072。

(5)將計算出的每個簇的扇區數、保留扇區數等值,轉換為在FAT32_DBR中的存儲形式,如表3所示。

(6)將同一版本的FAT32_DBR復制到硬盤的0號扇區,并將每個簇的扇區數、保留扇區數等值修改為表3中的值后存盤,如圖4所示。

表3 重建FAT32_DBR所需計算的參數(2)

圖4 修改FAT32_DBR中的參數(1)

重新啟動Windows操作系統后,在資源管理器中即可看該硬盤的盤符,打開該硬盤即可看到恢復出來的文件。

情況二:FAT32_DBR沒有存放在硬盤的0號扇區,其方法如下:

方法(1)、(2)同情況一。

(3)由于FAT32_DBR沒有存放在硬盤的0號扇區,可以假設FAT32_DBR存放在硬盤的128號扇區(即FAT32的0號扇區,當然也可以存儲在其他扇區,但該值必須小于FAT1開始扇區號)。

FAT32_DBR中的保留扇區=FAT1的開始扇區號-FAT32_DBR所在扇區號=4 250-128=4 122

(4)FAT32_DBR中總扇區數=保留扇區數+每個FAT表所占扇區數×FAT表的個數+數據區所占扇區數=4 122+2 035×2+2 083 752=2 091 944。

(5)將計算出每個簇的扇區數、保留扇區數等值,轉換為在DBR中的存儲形式,如表4所示。

表4 重建FAT32_DBR所需計算的參數(3)

(6)將同一版本的FAT32_DBR復制到硬盤的128號扇區,并將每個簇的扇區數、保留扇區數等值修改為表4中的值后存盤,如圖5所示。

圖5 修改FAT32_DBR中的參數(2)

5 重建MBR分區表基本思路和方法

針對情況一,不需要重建MBR的分區表即恢復出FAT32文件系統中的所有數據。

針對情況二,還需要重建FAT32文件系統MBR分區表,其基本思路如下:

從FAT32_DBR所在扇區得到分區表的相對扇區和FAT32文件系統的總扇區數。

由圖5可知,FAT32_DBR在整個硬盤的128號扇區,在分區表中的存儲形式為“80 00 00 00”;而總扇區數為2 091 944,在分區表中的存儲形式為“A8 EB 1F 00”。

由于目前硬盤的存儲形式均為LBA,所以起始地址和結束地址均未定義,可以為任意值。

FAT32文件系統的分區標志為0X0C。

由于此硬盤不是引導盤,所以引導標志為00。

由此可以計算出NTFS文件系統的分區表如下:

0001 01 00 07 FE FF FF 80 00 00 00 A8 EB 1F 00

將該值填入到整個硬盤的0號扇區偏移地址0X01BE~0X01CD處后,存盤并退出WinHex。

重新啟動Windows 操作系統后,在資源管理器中即可看該硬盤的盤符,打開該硬盤即可看到恢復出來的文件。

6 結束語

文中提出兩種方法的核心在于通過分析MBR分區表和FAT32文件系統的結構,根據子目錄的開始扇區號和開始簇號計算出每簇的扇區數,并計算FAT32文件系統2號簇(即根目錄的開始簇號)的開始扇區號,從而計算出每個FAT表所扇區數,估算出FAT32的總扇區數,根據這些參數計算出FAT32_DBR中的相應參數,最終恢復了FAT32文件系統中的全部數據;用戶可以通過資源管理器看到恢復出來的全部數據。通過實踐證明,該方法不僅方便快捷,而且簡單實用。

[1] 劉 偉.數據恢復技術深度揭秘[M].北京:電子工業出版社,2010.

[2] 張鐘澍,陳代軍,李新萌.修復和維護你的硬盤[M].北京:北京希望電子出版社,2002:44.

[3] Schulman A,Michels R J,Kyle J,et al.Undocumented DOS a programmer’s guide to reserved MS-DOS functions and data structures[M].New York:Addison-Wesley Publishing Company,Inc,1990:129.

[4] 馬 林.數據重現:文件系統原理精解與數據恢復最佳實踐[M].北京:清華大學出版社,2009:44.

[5] 汪中夏,張京生,劉 偉.RAID數據恢復技術揭秘[M].北京:清華大學出版社,2010:103-105.

[6] 戴士劍,涂彥暉.數據恢復技術[M].北京:電子工業出版社,2005:226.

[7] Ivens K,Gardinier K.Windows2000:the complete reference 2001[M].Beijing:China Machine Press,2001:531.

[8] 劉乃琦,郭建東,張 可.系統與數據恢復技術[M].成都:電子科技大學出版社,2008:77.

[9] 陳培德,張共勝.微機組裝與維修實用技術教程[M].成都:電子科技大學出版社,1999.

[10] 郭文武,李宗遠,于 泳.硬盤數據恢復及維修[M].北京:國防工業出版社,2015.

[11] 李曉中,喬 晗,馬 鑫,等.數據恢復原理與實踐[M].北京:國防工業出版社,2011.

[12] 迅維網,羅 工.硬盤維修及數據恢復不是事兒[M].北京:電子工業出版社,2015.

[13] 韓松峰,??〕?數據恢復技術與應用[M].北京:電子工業出版社,2014.

[14] Hogan T.The programmer’s PC sourcebook[M].Redmond Washington,USA:Microsoft Press,1988:60.

[15] Solomon D A.Inside Windows NT[M].2nd ed.Redmond Washington,USA:Microsoft Corporation,1998:330.

Research and Implementation of Rebuilding Partition Table and FAT32_DBR

CHEN Pei-de1,2,WU Jian-ping1,2,WANG Li-qing1,2

(1.School of Information Science and Engineering,Yunnan University,Kunming 650223,China; 2.Key Laboratory of Digital Media Technology of Universities in Yunnan Province,Kunming 650223,China)

To analyze and research the MBR partition table,the whole layout of FAT32 File System and DBR in the FAT32 File System,the MBR partition table,FAT32_DBR and FAT1 are repaired when they are damaged at one time by the mode of experiment.The two methods are put forward for recovering the data,the first one is to repair FAT32_DBR and FAT1 in hard disk,the second is to repair MBR partition table,FAT32_DBR and FAT1 in hard disk.The results of experiment indicate that one of two methods could be used to recover all data in FAT32 File System.Solved the problem that the data could be recovered difficultly as MBR partition table,FAT32_DBR and FAT1 damaged at one time.The practice is proved that the first method is only used to recover the all data in a partition table and the second one is to used to recover the all data in many partitions.

FAT32 file system;partition table;subdirectory;file allocation table

2015-12-31

2016-04-21

時間:2016-09-26

云南省2015年度高校數字媒體技術重點資助項目(2015KFKT002)

陳培德(1966-),男,工程師,研究方向為文件系統與數據恢復技術。

http://www.cnki.net/kcms/detail/61.1450.TP.20160926.0951.002.html

TP311.12

A

1673-629X(2016)10-0188-04

10.3969/j.issn.1673-629X.2016.10.041

猜你喜歡
方法
中醫特有的急救方法
中老年保健(2021年9期)2021-08-24 03:52:04
高中數學教學改革的方法
河北畫報(2021年2期)2021-05-25 02:07:46
化學反應多變幻 “虛擬”方法幫大忙
變快的方法
兒童繪本(2020年5期)2020-04-07 17:46:30
學習方法
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
最有效的簡單方法
山東青年(2016年1期)2016-02-28 14:25:23
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
賺錢方法
捕魚
主站蜘蛛池模板: 五月综合色婷婷| 超碰色了色| 午夜a视频| 国产乱人乱偷精品视频a人人澡 | 国产精品yjizz视频网一二区| 国禁国产you女视频网站| 在线看片免费人成视久网下载| av在线无码浏览| 日韩成人午夜| 欧美成人综合视频| 日本在线亚洲| 亚洲一级无毛片无码在线免费视频| 日韩精品视频久久| 婷婷色在线视频| 日本高清成本人视频一区| 亚洲自偷自拍另类小说| 天天色天天操综合网| 潮喷在线无码白浆| V一区无码内射国产| 无遮挡国产高潮视频免费观看| 欧美成人一级| 亚洲成在线观看 | 日本免费福利视频| 中文字幕日韩丝袜一区| 99国产精品一区二区| 国内毛片视频| 国产精品不卡片视频免费观看| 亚洲精品无码在线播放网站| 色哟哟精品无码网站在线播放视频| 国产精女同一区二区三区久| 亚洲精选高清无码| 成人欧美日韩| 无码内射中文字幕岛国片| 亚洲第一页在线观看| 成年人免费国产视频| 色有码无码视频| 国产情精品嫩草影院88av| 久久精品这里只有精99品| 国产网友愉拍精品| 欧美日本在线观看| 91高清在线视频| 日韩一区二区三免费高清| 久久精品免费国产大片| 国产高清不卡视频| 欧美成人影院亚洲综合图| 蜜桃视频一区二区| 亚洲中文字幕av无码区| 91精品亚洲| 99视频全部免费| 国产日韩欧美精品区性色| 欧美午夜精品| www.99在线观看| 国产精品久久久免费视频| 国产毛片基地| 伊人久久婷婷| 色婷婷亚洲十月十月色天| 中文字幕在线观| 国产丝袜第一页| 亚洲第一在线播放| 91探花在线观看国产最新| 亚洲免费三区| 麻豆精品国产自产在线| 波多野结衣中文字幕久久| 九色视频一区| 无码国产偷倩在线播放老年人| 青青青亚洲精品国产| 第一区免费在线观看| 午夜视频日本| 亚洲熟妇AV日韩熟妇在线| 91小视频在线播放| 99久久精品国产综合婷婷| 婷婷亚洲综合五月天在线| 日本少妇又色又爽又高潮| 岛国精品一区免费视频在线观看| 久久国产精品电影| 成人午夜免费观看| 亚洲中文字幕久久精品无码一区 | 无码福利日韩神码福利片| 欧美中文字幕一区| 无码高潮喷水在线观看| 青草精品视频| 亚洲成人高清在线观看|