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
賺錢方法
捕魚
主站蜘蛛池模板: 91探花在线观看国产最新| AⅤ色综合久久天堂AV色综合 | 亚洲国产91人成在线| 麻豆国产在线观看一区二区 | 亚洲精品亚洲人成在线| 免费高清毛片| 国产一区二区三区在线精品专区| 欧洲日本亚洲中文字幕| 97成人在线视频| 亚洲精品制服丝袜二区| 台湾AV国片精品女同性| 国产精品亚洲片在线va| 青青草91视频| 免费激情网站| 婷婷激情亚洲| 欧美日韩v| 国产人人干| 国产男女XX00免费观看| 欧美成人综合在线| 久久综合色视频| 亚洲最新在线| 夜色爽爽影院18禁妓女影院| 成人精品视频一区二区在线| 亚洲国产中文精品va在线播放 | 亚洲欧美精品一中文字幕| 日韩精品无码免费专网站| 国产精品嫩草影院av| 久久国产亚洲欧美日韩精品| 亚洲精品第一页不卡| 亚洲成人黄色在线| 3344在线观看无码| 亚洲国产综合第一精品小说| 青青久视频| 欧美国产视频| 中文字幕一区二区视频| 色天堂无毒不卡| 日本国产精品| 亚洲精品自在线拍| 狠狠v日韩v欧美v| 亚洲成网777777国产精品| 国产极品美女在线| 全裸无码专区| 99免费视频观看| 亚洲—日韩aV在线| 毛片免费观看视频| 日韩av电影一区二区三区四区 | 看你懂的巨臀中文字幕一区二区| 久热精品免费| 亚洲视频影院| 国产后式a一视频| 亚洲欧美综合另类图片小说区| 国产剧情伊人| 国产精品毛片一区| 国产一级裸网站| 波多野结衣久久精品| 人妻精品全国免费视频| 国产尹人香蕉综合在线电影| 成人国产一区二区三区| 久久免费成人| 无码粉嫩虎白一线天在线观看| 特级做a爰片毛片免费69| 久久人妻xunleige无码| 又粗又硬又大又爽免费视频播放| 久久人妻xunleige无码| 黄色网页在线播放| 日韩经典精品无码一区二区| 欧美有码在线| 一级香蕉视频在线观看| 伊人久久青草青青综合| 一级香蕉视频在线观看| 伊人久久青草青青综合| 亚洲午夜片| 午夜a视频| 天堂网亚洲系列亚洲系列| 亚洲AⅤ永久无码精品毛片| 欧美日本一区二区三区免费| 99久久精品国产麻豆婷婷| 日韩福利在线观看| 欧美日韩导航| 日韩免费毛片| 国产极品美女在线播放| 免费高清毛片|