硬盘的前512字节到底放了些什么东西?
零磁道处于硬盘上一个非常重要的位置,硬盘的主引导记录区(MBR)就在这个位置上。MBR位于硬盘的0磁道0柱面1扇区,其中存放着硬盘主引导程序和硬盘分区表。在总共512字节的硬盘主引导记录扇区中,446字节属于硬盘主引导程序,64字节属于硬盘分区表(DPT),两个字节(55 AA)属于分区结束标志。由此可见,零磁道一旦受损,将使硬盘的主引导程序和分区表信息遭到严重破坏,从而导致硬盘无法自举。
很清楚了,446个字节存放的就是所谓stage1的引导程序,由于空间太小,所以这个stage1不可能干完所有的事情,所以才有stage1.5, stage2这样的程序存在。分区表只有64个字节来存放,估计存放的就是硬盘的多少柱面、多少磁道是一个分区,等等。这里有一个Linux Redhat操作系统下硬盘前512字节的信息:
0000000: eb48 90d0 bc00 7cfb 5007 501f fcbe 1b7c .H....|.P.P....|
0000010: bf1b 0650 57b9 e501 f3a4 cbbd be07 b104 ...PW...........
0000020: 386e 007c 0975 1383 c510 e2f4 cd18 8bf5 8n.|.u..........
0000030: 83c6 1049 7419 382c 74f6 a0b5 07b4 0302 ...It.8,t.......
0000040: ff00 0020 0100 0000 0002 faea 507c 0000 ... ........P|..
0000050: 31c0 8ed8 8ed0 bc00 20fb a040 7c3c ff74 1....... ..@|<.t
0000060: 0288 c252 be76 7de8 3401 f6c2 8074 54b4 ...R.v}.4....tT.
0000070: 41bb aa55 cd13 5a52 7249 81fb 55aa 7543 A..U..ZRrI..U.uC
0000080: a041 7c84 c075 0583 e101 7437 668b 4c10 .A|..u....t7f.L.
0000090: be05 7cc6 44ff 0166 8b1e 447c c704 1000 ..|.D..f..D|....
00000a0: c744 0201 0066 895c 08c7 4406 0070 6631 .D...f.\..D..pf1
00000b0: c089 4404 6689 440c b442 cd13 7205 bb00 ..D.f.D..B..r...
00000c0: 70eb 7db4 08cd 1373 0af6 c280 0f84 f300 p.}....s........
00000d0: e98d 00be 057c c644 ff00 6631 c088 f040 .....|.D..f1...@
00000e0: 6689 4404 31d2 88ca c1e2 0288 e888 f440 f.D.1..........@
00000f0: 8944 0831 c088 d0c0 e802 6689 0466 a144 .D.1......f..f.D
0000100: 7c66 31d2 66f7 3488 540a 6631 d266 f774 |f1.f.4.T.f1.f.t
0000110: 0488 540b 8944 0c3b 4408 7d3c 8a54 0dc0 ..T..D.;D.}<.T..
0000120: e206 8a4c 0afe c108 d18a 6c0c 5a8a 740b ...L......l.Z.t.
0000130: bb00 708e c331 dbb8 0102 cd13 722a 8cc3 ..p..1......r*..
0000140: 8e06 487c 601e b900 018e db31 f631 fffc ..H|`......1.1..
0000150: f3a5 1f61 ff26 427c be7c 7de8 4000 eb0e ...a.&B|.|}.@...
0000160: be81 7de8 3800 eb06 be8b 7de8 3000 be90 ..}.8.....}.0...
0000170: 7de8 2a00 ebfe 4752 5542 2000 4765 6f6d }.*...GRUB .Geom
0000180: 0048 6172 6420 4469 736b 0052 6561 6400 .Hard Disk.Read.
0000190: 2045 7272 6f72 00bb 0100 b40e cd10 ac3c Error.........<
00001a0: 0075 f4c3 0000 0000 0000 0000 0000 0000 .u..............
00001b0: 0000 0000 0000 0000 3785 40ae 0000 8001 ........7.@.....
00001c0: 0100 83fe bffc 3f00 0000 7e86 bb00 0000 ......?...~.....
00001d0: 81fd 82fe ff7b bd86 bb00 bf21 1f00 0000 .....{.....!....
00001e0: c17c 83fe ffff 7ca8 da00 45e9 cd03 0000 .|....|...E.....
00001f0: 0000 0000 0000 0000 0000 0000 0000 55aa ..............U.
最近找到了一张图,专门描述MBR的,很不错,放在这里作为对上面文字的补充说明: