跳过正文

BIOS 与 UEFI 的前世今生

BIOS UEFI
目录

在我们每天使用 Linux 系统的过程中,很少有人会去关心系统在启动时都发生了什么。但如果你是一位系统爱好者、开发者或者准运维工程师,了解 BIOS 和 UEFI,以及它们如何与 Linux 协同工作,是非常重要的一步。

什么是 BIOS 和 UEFI?
#

  1. BIOS(Basic Input/Output System)

BIOS 是一种传统的固件接口,自 1980 年代以来一直被用于 IBM PC 兼容系统。它在计算机开机时运行,完成以下几件事:

  • 进行 POST(电源自检)
  • 初始化硬件
  • 查找启动设备
  • 加载启动加载器(如 GRUB)

BIOS 通常是以 16 位实模式运行,受内存寻址限制,且对硬盘支持能力较差(最多只能支持 2TB 的硬盘)。

BIOS Boot up Process

  1. UEFI(Unified Extensible Firmware Interface)

UEFI 是 BIOS 的现代替代品,由 Intel 主导开发。与 BIOS 相比,UEFI 具备以下优势:

  • 图形化界面、鼠标支持
  • 更快的启动速度
  • 支持超过 2TB 的硬盘(使用 GPT 分区表)
  • 安全启动(Secure Boot)机制,增强安全性
  • 运行在 32 位或 64 位环境,支持更多内存

UEFI 使用一个称为 EFI 系统分区(ESP) 的 FAT 文件系统来存放启动程序(如 grubx64.efi)。

BIOS Boot up Process

Linux 下的启动流程(UEFI 与 BIOS 对比)
#

BIOS 模式下的 Linux 启动流程:

[BIOS] -> [MBR] -> [GRUB/GRUB2] -> [Linux Kernel] -> [init/systemd]
  • BIOS 读取硬盘的 MBR(主引导记录)
  • MBR 中的 bootloader(如 GRUB)加载并执行
  • GRUB 载入内核 (vmlinuz) 和 initramfs
  • 内核启动,交给 init/systemd 进程

UEFI 模式下的 Linux 启动流程:

[UEFI Firmware] -> [EFI System Partition] -> [GRUB2 .efi 文件] -> [Linux Kernel] -> [init/systemd]
  • UEFI 固件查找 ESP 分区中的 .efi 文件(启动器)
  • 加载 GRUB 的 EFI 版本(如 grubx64.efi)
  • GRUB 启动 Linux 内核

BIOS Boot up Process

如何判断你的系统使用的是 BIOS 还是 UEFI?
#

可以在 Linux 系统中通过以下方法判断:

ls /sys/firmware/efi

如果该目录存在,则表示系统使用的是 UEFI 模式启动;如果不存在,说明系统在 BIOS(Legacy)模式下启动。

Linux 安装时的分区建议(UEFI vs BIOS)
#

BIOS 模式下:

  • /boot 分区(可选,方便 GRUB 管理)
  • 根 / 分区
  • swap 分区(可选)

UEFI 模式下:

  • ESP 分区(FAT32 格式,约 100~512MB,挂载到 /boot/efi)
  • /boot 分区(可选)
  • 根 / 分区
  • swap 分区(可选)

GRUB 在 BIOS 与 UEFI 下的不同表现
#

  • 在 BIOS 模式下,GRUB 安装到 MBR(如 /dev/sda)。
  • 在 UEFI 模式下,GRUB 安装为一个 .efi 文件,放入 EFI 系统分区。

安装时的 GRUB 命令也不同:

# BIOS 模式安装 GRUB
grub-install /dev/sda

# UEFI 模式安装 GRUB
grub-install --target=x86_64-efi --efi-directory=/boot/efi --bootloader-id=GRUB

Secure Boot 与 Linux 的关系
#

UEFI 引入了 Secure Boot,目的是防止恶意软件在启动过程中加载。默认状态下,某些发行版(如 Ubuntu)会提供签名的 bootloader,确保能在开启 Secure Boot 的环境中正常启动。

如果你使用的是自定义内核或启动器,可能需要关闭 Secure Boot 或手动签名。

总结
#

对比点 BIOS UEFI
启动分区 MBR(最多2TB) GPT(可支持更大硬盘)
启动方式 读取 MBR,引导 GRUB 加载 ESP 分区中的 .efi 文件
内存模式 实模式(16位) 保护模式(32/64位)
分区限制 最多支持 4 个主分区 支持多个分区,无主扩展限制
启动速度 相对较慢 更快
安全启动 不支持 支持 Secure Boot

如果你正在准备装 Linux 系统,建议优先选择 UEFI 模式安装,除非硬件不兼容。未来的主板几乎都默认启用了 UEFI,并逐渐淘汰 Legacy BIOS。

相关文章

服务器下的PECI接口简介
PECI BIOS BMC
UEFI 获取磁盘信息
UEFI SATA IDE EDK2
ARM Neoverse N2核微架构分析
Arm Neoverse N2 ARM Server