从 BIOS 到 UEFI:搞懂 MBR、GPT、ESP 等开机引导知识
计算机按下电源键之后,到操作系统登录界面出现,中间到底发生了什么? 为什么有的硬盘用 MBR,有的用 GPT? 装系统时总会看到 ESP 分区、EFI 分区,这又是什么东西? 这篇文章尝试用相对直白的语言,系统地梳理 BIOS / UEFI、MBR / GPT、ESP 等概念,以及它们之间是如何配合完成“从按电源到进入系统”这一过程的。 1. 启动流程概览 先从整体流程看一下,一台现代 PC 从按下电源到进入操作系统,大致可以分成几步: 上电自检(POST):主板固件初始化硬件(CPU、内存、显卡等),检查是否正常。 寻找可启动设备:按启动顺序在硬盘、U 盘、网络等设备里找“可启动介质”。 加载启动加载程序: 传统:BIOS 从硬盘读取 MBR(磁盘开头 512 字节),跳转到其中的引导代码。 现代:UEFI 直接从指定分区(通常是 ESP)加载 .efi 启动程序。 启动加载程序接管:比如 GRUB、Windows Boot Manager、systemd-boot 等,负责展示启动菜单、加载内核。 加载操作系统内核:内核开始运行,并进一步初始化系统、挂载根文件系统,最终进入图形界面或登录界面。 接下来,我们按几个关键概念拆开讲。 2. BIOS:传统固件时代 BIOS(Basic Input/Output System) 是最早期 PC 上的固件接口,存放在主板的 ROM / Flash 芯片中。 上电后,由 CPU 固定从某个地址执行 BIOS 里的初始化代码。 核心职责: 硬件自检(POST) 提供简单的中断服务(读键盘、磁盘 IO 等) 在磁盘中寻找可启动设备,读取 MBR,执行其中的引导代码。 BIOS 的局限: 只能以传统的 16 位实模式 启动,内存寻址受限。 启动磁盘通常采用 MBR 分区表,单磁盘最大约 2TB、最多 4 个主分区。 扩展性、安全性(比如安全启动)、图形化配置等都比较弱。 这也是为什么后来出现了新的标准 —— UEFI。...