专用名词解释
- BISO 基本输入输出系统(Basic Input/Output System),写死在电脑的主板上。
- BCD 启动设置数据(Boot Configuration Data)
- MBR 主引导记录(Master Boot Record),在磁盘第一个扇区。
- PBR 分区引导记录(Partition Boot Record),在每个分区的的第一个扇区。
- grub 常见的 linux 系统下的启动管理器。
- bootmgr 常见的 window 系统下的启动管理器。
MBR结构
- 第1-446字节:调用操作系统的机器码。
- 第447-510字节:分区表(Partition table),总共64个字节。
- 第511-512字节:主引导记录签名(0x55和0xAA)。
分区表结构:
- 第1个字节:如果为0x80,就表示该主分区是激活分区,控制权要转交给这个分区。四个主分区里面只能有一个是激活的。
- 第2-4个字节:主分区第一个扇区的物理位置(柱面、磁头、扇区号等等)。
- 第5个字节:主分区类型。
- 第 6-8个字节:主分区最后一个扇区的物理位置。
- 第9-12字节:该主分区第一个扇区的逻辑地址。
- 第13-16字节:主分区的扇区总数。
启动过程
- BISO 硬件自检,读取 BCD,根据设定好的顺序依次读取磁盘,直到找到启动磁盘(前512个字节以 0x55 和 0xAA 结尾的磁盘)。
- 读取启动磁盘的 MBR 找到活动分区,也就是安装操作系统的分区。
- 读取活动分区的 PBR 找到启动管理器。
- 启动管理器界面可以选择加载哪一个操作系统,并加载该系统的系统内核,然后系统的启动就和BISO没关系了。
参考文章:计算机是如何启动的?— 阮一峰