代码之家  ›  专栏  ›  技术社区  ›  Arnaud F.

MBR结构,未检测到分区

mbr
  •  0
  • Arnaud F.  · 技术社区  · 4 年前

    我目前正在尝试解码存储卡的MBR以供学习。

    我读过很多文档,上面说分区表总是从MBR的0x1BE(前512个字节)开始。该结构的所有字段都正常,除了分区本身,因为在0x1BE中我发现了错误消息,但没有分区表:

            +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +a +b +c +d +e +f
    0x0000  eb 58 90 4d 53 44 4f 53 35 2e 30 00 02 40 32 02 ëX.MSDOS5.0..@2.
    0x0010  02 00 00 00 00 f8 00 00 3f 00 ff 00 00 20 00 00 .....ø..?.ÿ.. ..
    0x0020  00 f0 dc 01 e7 0e 00 00 00 00 00 00 02 00 00 00 .ðÜ.ç...........
    0x0030  01 00 06 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0x0040  80 00 29 15 c7 bc 50 4e 4f 20 4e 41 4d 45 20 20 ..).ǼPNO NAME
    0x0050  20 20 46 41 54 33 32 20 20 20 33 c9 8e d1 bc f4   FAT32   3É.Ѽô
    0x0060  7b 8e c1 8e d9 bd 00 7c 88 4e 02 8a 56 40 b4 41 {.Á.Ù½.|.N..V@´A
    0x0070  bb aa 55 cd 13 72 10 81 fb 55 aa 75 0a f6 c1 01 »ªUÍ.r..ûUªu.öÁ.
    0x0080  74 05 fe 46 02 eb 2d 8a 56 40 b4 08 cd 13 73 05 t.þF.ë-.V@´.Í.s.
    0x0090  b9 ff ff 8a f1 66 0f b6 c6 40 66 0f b6 d1 80 e2 ¹ÿÿ.ñf.¶Æ@f.¶Ñ.â
    0x00a0  3f f7 e2 86 cd c0 ed 06 41 66 0f b7 c9 66 f7 e1 ?÷â.ÍÀí.Af.·Éf÷á
    0x00b0  66 89 46 f8 83 7e 16 00 75 38 83 7e 2a 00 77 32 f.Fø.~..u8.~*.w2
    0x00c0  66 8b 46 1c 66 83 c0 0c bb 00 80 b9 01 00 e8 2b f.F.f.À.»..¹..è+
    0x00d0  00 e9 2c 03 a0 fa 7d b4 7d 8b f0 ac 84 c0 74 17 .é,. ú}´}.ð¬.Àt.
    0x00e0  3c ff 74 09 b4 0e bb 07 00 cd 10 eb ee a0 fb 7d <ÿt.´.»..Í.ëî û}
    0x00f0  eb e5 a0 f9 7d eb e0 98 cd 16 cd 19 66 60 80 7e ëå ù}ëà.Í.Í.f`.~
    0x0100  02 00 0f 84 20 00 66 6a 00 66 50 06 53 66 68 10 .... .fj.fP.Sfh.
    0x0110  00 01 00 b4 42 8a 56 40 8b f4 cd 13 66 58 66 58 ...´B.V@.ôÍ.fXfX
    0x0120  66 58 66 58 eb 33 66 3b 46 f8 72 03 f9 eb 2a 66 fXfXë3f;Før.ùë*f
    0x0130  33 d2 66 0f b7 4e 18 66 f7 f1 fe c2 8a ca 66 8b 3Òf.·N.f÷ñþÂ.Êf.
    0x0140  d0 66 c1 ea 10 f7 76 1a 86 d6 8a 56 40 8a e8 c0 ÐfÁê.÷v..Ö.V@.èÀ
    0x0150  e4 06 0a cc b8 01 02 cd 13 66 61 0f 82 75 ff 81 ä..̸..Í.fa..uÿ.
    0x0160  c3 00 02 66 40 49 75 94 c3 42 4f 4f 54 4d 47 52 Ã..f@Iu.ÃBOOTMGR
    0x0170  20 20 20 20 00 00 00 00 00 00 00 00 00 00 00 00     ............
    0x0180  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0x0190  00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
    0x01a0  00 00 00 00 00 00 00 00 00 00 00 00 0d 0a 52 65 ..............Re
    0x01b0  74 69 72 65 7a 20 6c 65 20 64 69 73 71 75 65 ff tirez le disqueÿ
    0x01c0  0d 0a 45 72 72 2e 20 64 69 73 71 75 65 ff 0d 0a ..Err. disqueÿ..
    0x01d0  50 72 65 73 73 65 7a 20 75 6e 65 20 74 6f 75 63 Pressez une touc
    0x01e0  68 65 20 70 6f 75 72 20 72 65 64 82 6d 61 72 72 he pour red.marr
    0x01f0  65 72 0d 0a 00 00 00 00 00 ac c0 ce 00 00 55 aa er.......¬ÀÎ..Uª
    

    0x1BE上没有0x80表示我的分区处于活动状态(我肯定有一个分区)。

    你能帮我找到桌子的分区在哪里吗?顺便说一句,为什么它在不同的位置。

    干杯,

    0 回复  |  直到 4 年前
        1
  •  0
  •   CudamanKevin    4 年前

    我认为这是一个卷引导记录(VBR),如下所述: https://en.wikipedia.org/wiki/Design_of_the_FAT_file_system#Reserved_sectors_area .

    非分区设备可能包含LBA 0处的VBR,而不是主引导记录(MBR)。

    与使用分区表访问卷ID(针对每个分区)不同,只有一个(隐含的)分区,卷ID包含在设备的第一个扇区(LBA 0)中。

    推荐文章