「Linux Boot Process and Shutdown」- System startup/Hardware initilazation (BIOS/System start)

当计算机开机或重置时,首先执行 BIOS (Basic Input/Output System) 或 UEFI(Universal Extended Firmware Interface)代码,运行系列被称为 POST(Power on Self Test)的诊断。

按照固件配置顺序定位到软盘、光驱、硬盘等引导设备时,该阶段即将接近尾声结束。

此时 BIOS 开始检查可引导设备引导签名(魔数),引导签名位于零号扇区,在第 510 与 511 字节包含 0x55, 0xAA 字节序列。

当 BIOS 找到该扇区时,将该扇区加载到内存 0x0000:0x7c00(segment 0, address 0x7c00)。但是,某些 BIOS 加载到 0x07c0:0x0000(segment 0x07c0, offset 0),虽然解析为相同的物理地址,但这可能令人惊讶。较好的做法是在启动扇区的开始里强制制定 CS:IP。

在加载结束后,执行被传递给已载入内存的引导记录

相关链接

卓易云课堂:https://cloudclass.zqtong.com/hall