结尾标志(2字节)。那我们怎么看这里面的内容呢,哈哈。linux有很方便的方法。请大家接着往下看:
1、[root@centos5 ~]# dd if=/dev/sda of=mbr.bin bs=1 count=512
512+0 records in
512+0 records out
512 bytes (512 B) copied, 0.001414 seconds, 362 kB/s
(这里面主要是用到了dd这个工具,dd这个工具很强大。大家可以看下它的用法。)
2、[root@centos5 ~]# hexdump -C mbr.bin
00000000 eb 48 90 10 8e d0 bc 00 b0 b8 00 00 8e d8 8e c0 |.H..............|
00000010 fb be 00 7c bf 00 06 b9 00 02 f3 a4 ea 21 06 00 |...|.........!..|
00000020 00 be be 07 38 04 75 0b 83 c6 10 81 fe fe 07 75 |....8.u........u|
00000030 f3 eb 16 b4 02 b0 01 bb 00 7c b2 80 8a 74 03 02 |.........|...t..|
00000040 80 00 00 80 b7 4c 02 00 00 08 fa 90 90 f6 c2 80 |.....L..........|
00000050 75 02 b2 80 ea 59 7c 00 00 31 c0 8e d8 8e d0 bc |u....Y|..1......|
..@|<.t...R..}|
00000070 e8 34 01 f6 c2 80 74 54 b4 41 bb aa 55 cd 13 5a |.4....tT.A..U..Z|
00000080 52 72 49 81 fb 55 aa 75 43 a0 41 7c 84 c0 75 05 |RrI..U.uC.A|..u.|
00000090 83 e1 01 74 37 66 8b 4c 10 be 05 7c c6 44 ff 01 |...t7f.L...|.D..|
000000a0 66 8b 1e 44 7c c7 04 10 00 c7 44 02 01 00 66 89 |f..D|.....D...f.|
000000b0 5c 08 c7 44 06 00 70 66 31 c0 89 44 04 66 89 44 |\..D..pf1..D.f.D|
000000c0 0c b4 42 cd 13 72 05 bb 00 70 eb 7d b4 08 cd 13 |..B..r...p.}....|
000000d0 73 0a f6 c2 80 0f 84 ea 00 e9 8d 00 be 05 7c c6 |s.............|.|
|D..f1...@f.D.1..|
|........@.D.1...|
00000100 c0 e8 02 66 89 04 66 a1 44 7c 66 31 d2 66 f7 34 |...f..f.D|f1.f.4|
00000110 88 54 0a 66 31 d2 66 f7 74 04 88 54 0b 89 44 0c |.T.f1.f.t..T..D.|
00000120 3b 44 08 7d 3c 8a 54 0d c0 e2 06 8a 4c 0a fe c1 |;D.}<.T.....L...|
00000130 08 d1 8a 6c 0c 5a 8a 74 0b bb 00 70 8e c3 31 db |...l.Z.t...p..1.|
00000140 b8 01 02 cd 13 72 2a 8c c3 8e 06 48 7c 60 1e b9 |.....r*....H|`..|
00000150 00 01 8e db 31 f6 31 ff fc f3 a5 1f 61 ff 26 42 |....1.1.....a.&B|
||..}.@.....}.8..|
00000170 06 be 94 7d e8 30 00 be 99 7d e8 2a 00 eb fe 47 |...}.0...}.*...G|
00000180 52 55 42 20 00 47 65 6f 6d 00 48 61 72 64 20 44 |RUB .Geom.Hard D|
00000190 69 73 6b 00 52 65 61 64 00 20 45 72 72 6f 72 00 |isk.Read. Error.|
000001a0 bb 01 00 b4 0e cd 10 ac 3c 00 75 f4 c3 00 00 00 |........<.u.....|
000001b0 00 00 00 00 00 00 00 00 9b 6f 01 00 00 00 80 01 |.........o......|
000001c0 01 00 83 fe 3f 0c 3f 00 00 00 8e 2f 03 00 00 00 |....?.?..../....|
000001d0 01 0d 8e fe ff ff cd 2f 03 00 e5 9b 7c 02 00 00 |......./....|...|
000001e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
55 aa
00000200
看到没,55 aa就是结束标志。
看出一些门道来了:1、第一列数字逢8进位,故为8进制,8列亦印证,0o1000=0d512 Byte,512B为一个扇区的大小。
2、看到0xaa55了吗?这就是Boot Sector结束标志。
至此提一提另外一种说法:MBR
Main(Mater)Boot Record主引导记录,实际上只是Boot Sector的一部分,Boot Sector:
a、MBR,占头446B
b、DPT,Disk Partion Table主分区表,4个主分区信息,每个16B
c、Boot Record ID,2B,若为合法分区,其值为0x0000aa55。
硬盘MBR扇区
・主引导程序(偏移地址0000H--0088H),它负责从活动分区中装载,并运行系统引导程序。 ・出错信息数据区,偏移地址0089H--00E1H为出错信息,00E2H--01BDH全为0字节。 ・分区表(DPT,Disk Partition Table)含4个分区项,偏移地址01BEH--01FDH,每个分区表项长16个字节,共64字节为分区项1、分区项2、分区项3、分区项4。 ・结束标志字,偏移地址01FE--01FF的2个字节值为结束标志55AA,如果该标志错误系统就不能启动。 MBR的结构如下表所示字节偏移(16进制) | 字节数 | 描述 |
00~1BD | 446 | 引导代码 |
1BE~1CD | 16 | 分区表项1 |
1CE~1DD | 16 | 分区表项2 |
1DE~1ED | 16 | 分区表项3 |
1EE~1FD | 16 | 分区表项4 |
1FE~1FF | 2 | 签名值“55AA” |