<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    您好朋友,感謝您關注xiaosilent,我在blogjava的博客已經停止更新,請訪問http://kuan.fm了解我的最新情況,謝謝!
    隨筆-82  評論-133  文章-0  trackbacks-0

    最近接觸到一個 0 磁道損壞的硬盤,做數據恢復,有機會學習了一下分區表的結構。在這里簡要的做點筆記。

    MBR Main Boot Record )位于硬盤第一個物理扇區(絕對扇區)柱面 0 ,磁頭 0 ,扇區 1 (簡化成( 0 0 1 ))處。由于 DOS 是由柱面 0 ,磁頭 1 ,扇區 1 開始,故 MBR 不屬于 DOS 扇區, DOS 不能直接訪問。 MBR 中包含硬盤的主引導程序和硬盤分區表。分區表有 4 個分區記錄區,這也就是我們為什么只能在硬盤里最多擁有 4 個主分區的原因了。記錄區就是記錄有關分區信息的一張表。它從主引導記錄( MBR )偏移地址 01BEH 處連續存放,每個分區記錄區占 16 個字節。

    下面用我的硬盤的分區表來詳細解釋一下分區表各區段的具體含義。

    偏移位置

    00

    01

    02

    03

    04

    05

    06

    07

    08

    09

    0a

    0b

    0c

    0d

    0e

    0f

    00000000

    33

    c0

    8e

    d0

    bc

    00

    7c

    fb

    50

    07

    50

    1f

    fc

    be

    1b

    7c

    …………

    000001b0

    00

    00

    00

    00

    00

    2c

    44

    63

    60

    65

    50

    65

    00

    00

    80

    01

    000001c0

    01

    00

    07

    fe

    bf

    fc

    3f

    00

    00

    00

    7e

    86

    bb

    00

    00

    00

    000001d0

    81

    fd

    0f

    c5

    fe

    ff

    bd

    86

    bb

    00

    43

    3b

    6b

    01

    00

    00

    000001e0

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    000001f0

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    00

    55

    aa

    ????????????? 000 ~ 1bd???? ? 446 字節)可執行代碼區段

    ????????????? 1be ~ 1cd?????? 016 字節)第一個分區入口(參數解釋見下)

    ????????????? 1ce ~ 1dd?????? 016 字節)第二個分區入口(同第一個分區)

    ????????????? 1de ~ 1ed?????? 016 字節)第三個分區入口(同第一個分區)

    ????????????? 1ee ~ 1fd???????? 016 字節)第四個分區人口(同第一個分區)

    ????????????? 1fe ~ 1ff 002 字節)引導記錄標志位(固定值: 55 aa

    要說明的是:這里講的“分區”,確切說是:主分區。擴展分區也當成主分區,擴展分區內部的分區信息不在 MBR 里面。

    要注意的是,在這里出現的數字均是 16 進制數。

    下面就分區記錄這 16 個字節再詳細解釋一下,以我的第一個分區為例:

    偏移位置

    00

    01

    02

    03

    04

    05

    06

    07

    08

    09

    0a

    0b

    0c

    0d

    0e

    0f

    000001b0

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    ?

    80

    01

    000001c0

    01

    00

    07

    fe

    bf

    fc

    3f

    00

    00

    00

    7e

    86

    bb

    00

    ?

    ?

    80??????????? 分區狀態( 80H 表示為激活分區, 00H 表示為非激活分區)

    01???? ???? 分區的開始磁頭

    01 00 ???? 分區的開始柱面和扇區(這個地方有點玄機,等會再詳細解釋)

    07???? ??? 分區的類型( 0c 表示為 FAT32 07 NTFS 0f 代表擴展)

    fe??????????? 分區的結束磁頭

    bf fc ????? ?????? 分區的結束柱面和扇區(表示同開始磁頭,等會詳解)

    3f 00 00 00 ??? MBR 到第一個分區扇區的扇區個數(分區前的扇區數)

    7e 86 bb 00???? 分區的總扇區數

    也就是說我的第一個分區是一個從( 0,1,1 )位置開始的可引導的 NTFS 格式的分區。結束位置是( 764,254,63 )容量為: 5.86G

    下面說一下這些數據具體是怎么得來的。

    1b00e 位置的 80 是分區狀態,上面已經說清楚了,這里就不再多說。

    1b00f 位置的 01 是分區開始的磁頭數,磁頭數是從 0 254 的整數,這里用的是 2 位的十六進制數表示。 (01)HEX=(1)DEC

    1c000-1c001 位置的 01 00 合在一起,表示的是分區開始的柱面和磁頭數。我們知道,一位的 16 進制數可以轉換成 4 位的二進制數。那么,將這兩個兩位的 16 進制數轉換分別轉換成 2 進制數就是: (01)HEX? =? (0000 0001)BIN ?(00)HEX=(0000 0000)BIN 。然后,取前面的 (01)HEX 的二進制的后六位,也就是 (000001)BIN ,他就代表了分區開始的扇區數,也就是 1 。這樣取了以后, (01)HEX 還剩下高位的兩個數,這兩個數放到 (00)HEX 轉成的二進制數的前面,就構成了一個 10 位的二進制數,表示的是分區開始的柱面數。到這里,分區開始位置就確定了。

    1c002 位置的 07 表示分區類型—— NTFS

    1c003-1c005 位置的 fe bf fc 表示分區的結束位置, fe 代表磁頭數。 (fe)HEX = (254)10 。然后, (bf)HEX = (1011 1111)BIN ?(fc)HEX = (1111 1100)BIN ,按照前面說的,取 1011 1111 的后六位,得到 (11 1111)BIN = (63)DEC 也就是說結束的扇區是 63 。最后, (10 1111 1100)BIN = (764)DEC ,即表示結束柱面為 764 ( 表示開始和結束位置的這幾位,可以說是分區表中最復雜的地方了,看了很多文章,都沒怎么講清楚,希望我這里講的比較清楚了。 )

    1c006-1c009 位置的 3f 00 00 00 表示的是分區前面的扇區數,我們需要倒過來看這串數字,也就是看成 (00 00 00 3f)HEX = (63)DEC ,說明分區開始前的扇區數是 63( 這個分區從 (0,1,1) 位置開始,前面當然就是一個磁頭的扇區數 63 )

    1c00a-1c00d 位置的 7e 86 bb 00 表示的是分區內的扇區總數,和上面一樣,倒過來看成是 (00 bb 86 7e)HEX = (12289662)DEC 。扇區總數=(結束柱面-起始柱面+ 1 )×磁頭數 (255) ×每柱面扇區數 (63) 。分區容量=扇區數×每扇區字節數 (512) 得到單位為字節,再每除以 1024 ,就向 KByte MByte GByte 轉換。

    posted on 2006-10-16 10:32 xiaosilent 閱讀(1294) 評論(1)  編輯  收藏 所屬分類: Linux相關

    評論:
    # re: 解讀硬盤分區表[未登錄] 2008-09-26 23:14 | thomas
    學習了,我一直看不懂分區表而頭痛,謝謝了!!  回復  更多評論
      
    主站蜘蛛池模板: 亚洲日韩精品国产3区| 亚洲精品国精品久久99热| 国产成人综合亚洲亚洲国产第一页 | 亚洲欧洲国产视频| 久久久久久AV无码免费网站| 国产亚洲3p无码一区二区| 中出五十路免费视频| 亚洲精品无码久久久久去q| 18禁男女爽爽爽午夜网站免费| 亚洲成av人片在线看片| 国产在线播放免费| 日韩毛片免费一二三| 亚洲熟伦熟女新五十路熟妇 | 亚洲午夜精品一区二区| 无码av免费网站| 亚洲熟女综合色一区二区三区| 日韩高清免费在线观看| 亚洲1区2区3区精华液| 亚洲精品和日本精品| 免费精品国产自产拍在| 亚洲av日韩专区在线观看| 久久青草亚洲AV无码麻豆| 亚洲成人免费网站| 一区免费在线观看| 亚洲国产日韩一区高清在线| 亚洲成片观看四虎永久| 毛片在线播放免费观看| 亚洲a视频在线观看| 国产免费av片在线无码免费看| h视频在线免费观看| 午夜影视日本亚洲欧洲精品一区| 色影音免费色资源| 看Aⅴ免费毛片手机播放| 亚洲色偷偷综合亚洲AVYP| 4虎永免费最新永久免费地址| 国产美女视频免费观看的网站 | 亚洲妇女水蜜桃av网网站| 亚洲中文字幕不卡无码| 国产成人高清精品免费软件 | 久久精品国产亚洲av日韩| 免费理论片51人人看电影|