虚拟 SD 卡 MBR 与分区表结构深度解析:基于 QEMU 生成的 2G RAW 镜像
Qemu可使用下面的命令产生一张虚拟2G容量的sd卡 :
qemu-img create -f raw sde.raw 2G
下面分析它的结构,请参考:使用qemu运行Linux 5.10.168-CSDN博客
一、MBR(主引导记录)的物理结构与功能
MBR 作为磁盘的首个扇区(512 字节),在 QEMU 生成的 2G 虚拟 SD 卡中遵循标准布局:
- 引导代码区(0x000-0x1BD,446 字节):包含 x86 汇编指令,负责初始化 CPU 寄存器、加载活动分区引导扇区。QEMU 生成的镜像中,此区域包含基础引导逻辑,末尾以 "MSDOS" 字符串(0x1B8-0x1BD)标识兼容旧系统。
- 分区表区(0x1BE-0x1FD,64 字节):存储 4 个分区表项,每项 16 字节,定义分区位置与属性。
- 结束标志(0x1FE-0x1FF,2 字节):固定为
0x55AA
,用于验证 MBR 有效性。
二、分区表项的核心字段解析
QEMU 生成的虚拟 SD 卡中,第一个分区表项数据为00 00 01 10