Zohar's blog

MBR 扇区

Computercomputermbr sectionmbr

MBR Sector (Master Boot Record Sector) 是主引导记录扇区, 是硬盘上的第一个分区, 独立于其他文件系统。MBR 扇区 在磁盘上出现得比较多, 随着固件和硬件的发展, 将逐步被淘汰

MBR Sector 是什么

Master Boot Record Sector 是位于磁盘最前端的一段前导代码, 占一个扇区的空间大小, 因此被称为 MBR 扇区, 由于这一扇区承担有磁盘其他存储空间所不具备的特殊职能, 因此它独立于其他磁盘分区而存在

  • 位置: 磁盘 0 扇区 至 1 扇区
  • 大小: 512Byte (1 扇区)
  • 独立性: 不属于任何一个操作系统, 独立于所有磁盘分区, 不受其他磁盘分区操作影响

MBR Sector 的作用

保存磁盘主分区信息于 MBR Sector 的磁盘分区表中, 保存操作系统启动引导分区信息于 MBR Sector 的主引导记录中, 引导 BIOS 将控制权交给系统启动引导程序;

MBR Sector 的结构

MBR Sector 主要由三个部分组成:

  • MBR 主引导记录, 保存操作系统启动引导信息
  • DPT 磁盘分区表, 记录磁盘的主分区信息
  • 结束标志, 值为 AA55 , 为 MBR sector 的结束标志

MBR 主引导记录

位置: 0000 - 01BD
大小: 446Byte

组成 位置 作用
Master Boot Record 0000 - 0088 引导代码, 引导从活动分区装载运行引导程序
出错信息数据区 0089 - 01BD 记录数据, 0089 - 00E1 为出错信息, 00E2 - 01BD 为 0 字节

DPT 磁盘分区表

位置: 01BE - 01FD
大小: 64Byte

磁盘分区表占 64Byte, 中存储了 4 个主分区的信息, 每个分区信息占 16Byte, 因此, 使用 MBR Sector 的磁盘最多拥有 4 个主分区, 为解决主分区数量被绝对限制住的问题, 可将 16Byte 的数据拿来指向一个分区空间, 再在这个空间中进行独立分区和记录, 这个空间便被成为拓展分区, 拓展分区里的分区被称为逻辑分区, Linux 文件系统中对硬盘设备的命名规则与此相关

Linux FHS 对于磁盘/硬盘设备的命名为: /dev/sd\[a-p]\[1-n]
sd 标识硬盘/磁盘设备文件,
a-p 代表 16块不同的硬盘, 从 a 开始分配,
1-4 代表主分区或者拓展分区, 5-n 代表拓展分区所指向的逻辑分区, 从 5 开始编号

DPT 结构信息

长度 意义
1 Byte Boot Signature, 00 代表非活动分区, 08 代表活动分区
1 Byte Start Head, 起始磁头
6 Bit Start Sector, 起始扇区
10Bit Start Cylinder, 起始柱面
1 Byte Partiton Signature, 分区类型
1 Byte End Head, 结束磁头
6 Bit End Sector, 结束扇区
10Bit End Cylinder, 结束柱面
4 Byte Sector Preceding Partiton, 起始扇区地址
4 Byte Sector in Partiton, 分区包含扇区数

结束标志

位置: 01FE - 01FF
大小: 2Byte

01FE 存储 55 标志, 为结束标志, 01FF 存储 AA 标志, 二者组合检验 MBR sector 是否有效