解析 ‘UEFI’ 与 ‘Legacy BIOS’:内核是如何从磁盘的第一扇区被加载到内存并跳转执行的?

各位同仁,各位对底层系统架构充满好奇的工程师们,大家好。 今天,我们将一同踏上一段深入计算机系统核心的旅程,去探究一个看似简单却充满精妙设计的议题:当您按下电源按钮,内核是如何从冰冷的磁盘被加载到内存,并最终掌管整个系统的?我们将聚焦于两种截然不同却又殊途同归的引导方式——传统的Legacy BIOS与现代的UEFI,剖析其背后的机制,辅以代码片段,力求呈现一个逻辑严谨、技术透彻的解析。 一、 计算机启动的序章:CPU模式与内存寻址 在深入探讨BIOS与UEFI之前,我们必须先建立一个基础共识:CPU的工作模式及其内存寻址方式。这是理解引导过程的关键。 1.1 处理器工作模式 x86架构的CPU有多种工作模式,它们决定了CPU可以访问的内存范围、寻址方式以及支持的指令集: 实模式 (Real Mode): 16位模式。 CPU上电后首先进入的模式。 内存寻址采用分段机制:段基址 * 16 + 偏移量,最大寻址空间1MB(实际上是1MB + 64KB – 16字节,即A20线未开启时可寻址到1MB,开启后可寻址到1MB + 64KB)。 只能运行16位代码。 Legacy B …