在x86平台下,以BIOS启动磁盘操作系统时,BIOS首先会载入MBR,然后将控制权交给装载进内存的bootloader。bootloader接着查找标记为bootable/active的分区,然后加载VBR(Volume Boot Record),然后继续引导过程。
MBR为磁盘的第一个扇区,大小512字节,主要包括以下几方面内容:
- bootloader, 440字节
- 磁盘签名
- 磁盘分区表
- MBR签名
下面分析一个具体的MBR, 它安装了syslinux bootloader。使用dd可以轻松获得磁盘的MBR,例如
使用xxd可以以16进制方式查看,也可以在vi中打开后执行:%!xxd来查看,方便编辑和保存。
440-443 磁盘签名, 0x85dc6b88
886b dc85
444-445 无用
0000
446-509 磁盘分区,4条记录,每条长16字节
解读第一条记录为例:
下面是fdisk -l /dev/sda的结果。