【BIOS/UEFI 与 MBR/GPT 的区别详解】

BIOS/UEFI 与 MBR/GPT 的区别详解

一、概述

在装机、装系统或排查启动故障时,经常会遇到两组概念:BIOS/UEFI 和 MBR/GPT 。很多人容易把它们混为一谈,实际上它们是启动链条中不同层级的两件事:

  • BIOS / UEFI:固件(Firmware),是主板通电后最先运行的程序,负责硬件自检并引导操作系统。
  • MBR / GPT:硬盘分区表格式,决定了硬盘上的分区如何被组织和识别。

两者的关系可以概括为:固件(BIOS/UEFI)决定"怎么启动",分区表(MBR/GPT)决定"硬盘怎么分区" 。传统组合是 BIOS + MBR ,现代组合是 UEFI + GPT,但两者可以交叉搭配(详见第四节)。


二、BIOS 与 UEFI 的区别

2.1 基本定义

项目 BIOS UEFI
全称 Basic Input/Output System(基本输入输出系统) Unified Extensible Firmware Interface(统一可扩展固件接口)
推出年代 1981 年(IBM PC) 2005 年由 Intel/微软等联合推出
本质 固化在主板 ROM 上的 16 位程序 一个完整的固件接口规范,支持 32/64 位
界面 蓝底白字文本界面(Legacy) 图形界面,支持鼠标、中文
启动方式 读取磁盘第一个扇区的引导代码(MBR) 直接读取 FAT32 分区上的 .efi 启动文件

2.2 核心差异对比

对比项 BIOS UEFI
启动模式 Legacy(传统模式) UEFI 模式
引导文件 磁盘第 0 扇区的引导代码 ESP 分区(EFI System Partition)中的 .efi 文件
硬盘支持 仅支持 MBR,单盘最大 2 TB 支持 GPT,单盘最大 18 EB(约 180 亿 GB)
分区数量 MBR 最多 4 个主分区(或 3 主 + 1 扩展) GPT 最多 128 个主分区(Windows 下)
启动速度 慢(完整自检 POST) 快(支持快速启动、异步驱动初始化)
安全机制 无 支持 Secure Boot(安全启动),可防引导型恶意软件
硬盘寻址 16 位实模式,依赖 INT 13h 32/64 位保护模式,驱动直接访问
可扩展性 差,固定在 ROM 中 强,支持加载 UEFI 驱动和应用
网络能力 无 支持 UEFI 网络协议栈(可做 PXE 启动)
磁盘格式要求 无要求(可用 MBR) 官方要求 GPT 格式硬盘

2.3 工作方式的本质区别

BIOS 的启动流程:

  1. 通电自检(POST)
  2. 按启动顺序查找第一个可引导磁盘
  3. 将磁盘的 第 0 号扇区(512 字节,含 MBR) 加载到内存
  4. 执行其中的引导代码 → 依次加载引导程序 → 加载操作系统

UEFI 的启动流程:

  1. 固件初始化硬件(比 BIOS 快得多)
  2. 读取 NVRAM 中的启动项列表(Boot Order)
  3. 直接访问 ESP 分区 (FAT32 格式,通常是 100--500 MB),找到对应操作系统的 .efi 引导文件
  4. 由 .efi 程序加载操作系统内核

要点:BIOS 依赖"第一个扇区的引导代码",UEFI 依赖"分区里的引导文件"。这就是为什么 UEFI 启动要求磁盘必须是 GPT 格式(ESP 是一个分区,MBR 的复杂结构下不方便标准化管理)。


三、MBR 与 GPT 的区别

3.1 基本定义

项目 MBR GPT
全称 Master Boot Record(主引导记录) GUID Partition Table(GUID 分区表)
提出时间 1983 年(IBM PC DOS 2.0) 作为 UEFI 规范的一部分,随 UEFI 推广
分区表位置 磁盘第 0 扇区(与引导代码共占 512 字节) 磁盘首尾各存一份分区表,互为备份
扇区格式 传统 512 字节扇区 支持 512 / 4096 字节扇区

3.2 核心差异对比

对比项 MBR GPT
最大磁盘容量 2 TB(2^32 × 512 字节) 18 EB(2^64 × 512 字节)
分区数量 最多 4 个主分区;想分更多须创建扩展分区再挂逻辑分区 理论上无限,Windows 下默认 128 个,全为主分区,无需扩展分区
分区标识 无唯一 ID,靠起始位置识别 每个分区有全局唯一 GUID,避免冲突
分区表备份 只有一份,损坏即分区丢失 磁盘首尾各存一份,支持自动修复
校验机制 无 有 CRC32 校验,发现分区表损坏可使用备份恢复
引导方式 依赖第 0 扇区的引导代码 依赖 ESP 分区中的 .efi 文件
兼容性 几乎所有系统、虚拟机、老设备都支持 仅支持 UEFI 或较新系统的设备(Windows 7 及以前需 64 位 + UEFI 主板才能引导 GPT)

3.3 MBR 的经典局限

  • 2 TB 容量墙:分区起始地址用 32 位表示,超过 2 TB 的硬盘空间无法被寻址。
  • 4 主分区限制:为了突破只能创建 1 个"扩展分区",在扩展分区里再划分多个逻辑分区。但逻辑分区不能作为引导分区(部分系统受限),结构复杂且更易损坏。
  • 无容错:唯一的分区表(64 字节)就在第 0 扇区里,一旦损坏且没备份,整个磁盘的分区信息全部丢失。

3.4 GPT 的优势

  • 大容量:轻松支持 2 TB 以上的大硬盘、大阵列。
  • 数量自由:128 个主分区够用绝大多数场景,全是主分区,结构扁平清晰。
  • 可靠性:双备份 + CRC 校验,分区表损坏可以自动从备份恢复。
  • 与 UEFI 深度配合:ESP 分区让多系统引导(Linux/Windows 共存)管理更规范。

四、四者的组合关系

组合 可行性 说明
BIOS + MBR ✅ 经典组合 老电脑的标配,至今仍在大量使用
UEFI + GPT ✅ 现代标配 新电脑、新系统的推荐组合
UEFI + MBR ⚠️ 可行 多数主板支持 CSM 兼容模式,用 UEFI 主板启动 MBR 磁盘;但不推荐,会失去 GPT 和 Secure Boot 优势
BIOS + GPT ⚠️ 受限 老 BIOS 无法引导 GPT 上的系统(Windows 如此);Linux 可以通过在磁盘前部放一个 BIOS Boot 分区实现,但操作复杂、几乎无人使用

常见场景速查

场景 建议组合 原因
2 TB 以下老电脑装 Windows 7 BIOS + MBR 兼容性最好
新电脑装 Windows 10/11 UEFI + GPT 启动快、支持 Secure Boot、突破 2 TB
Windows 11 安装 必须 UEFI + GPT + Secure Boot 微软硬性要求
大容量数据盘(4 TB/8 TB 机械盘) GPT(即使主板是 BIOS) 突破 2 TB 限制;BIOS 下 GPT 数据盘可正常读写,只是不能从它启动

五、查看和判断当前模式的方法

Windows 下

查看 BIOS/UEFI 模式:

  • Win + R 输入 msinfo32 → 查看"BIOS 模式"一项,显示 UEFI 或 传统(Legacy)。

  • 或在命令行执行:

    powershell 复制代码
    bcdedit | findstr "path"

    若路径为 \Windows\system32\winload.efi 则是 UEFI 启动;若为 winload.exe 则是 Legacy 启动。

查看磁盘分区表格式:

  • Win + X → 磁盘管理 → 右键磁盘 → 属性 → "卷"选项卡 → 查看"分区样式"。

  • 或命令行:

    powershell 复制代码
    diskpart
    list disk

    磁盘列表中带 * 号的表示 GPT 磁盘。

Linux 下

bash 复制代码
# 查看分区表格式
sudo fdisk -l /dev/sda
# 或
sudo parted -l

# 查看 UEFI 模式
ls /sys/firmware/efi   # 目录存在即为 UEFI 启动

六、转换注意事项

  1. MBR → GPT :Windows 10 1703 及以上可用 mbr2gpt.exe 无损转换系统盘;也可用 DiskGenius、傲梅分区助手等工具。
  2. GPT → MBR:超过 2 TB 的磁盘转为 MBR 会丢失超出部分的数据,必须先备份。
  3. 重装系统时 :UEFI 模式下安装 Windows 安装程序默认会把磁盘转为 GPT;如需保留 MBR 格式,需在 BIOS 中开启 CSM(Compatibility Support Module,兼容支持模块)。
  4. Secure Boot:切换启动模式时如果报错,通常是 Secure Boot 开启但引导介质未签名,可在 BIOS 中暂时关闭。

七、总结

一句话总结 内容
BIOS → UEFI 是固件的升级:从 16 位文本时代进入 32/64 位图形时代,启动更快、支持更大硬盘、更安全
MBR → GPT 是分区表的升级:突破 2 TB 容量墙和 4 主分区限制,带备份和校验,更可靠
最优实践 新设备一律 UEFI + GPT ,开启 Secure Boot;仅在兼容老系统时才退回到 BIOS + MBR
相关推荐
Mikko716 小时前
JVM 线上排查实战(六):JFR 怎么用?JDK 8 要不要加 UnlockCommercialFeatures、jfr 命令在哪、录的文件为什么读不了
java·运维·jvm·后端
蚰蜒螟16 小时前
一次挂载的完整旅程:Linux 内核 VFS 到 ext4 的调用链剖析
linux·运维·服务器
害人终害己16 小时前
Redis 日志:AUTH 认证信息
运维·服务器
a努力。17 小时前
Context-State-Memory三重信息架构揭秘
java·服务器·前端
天蓝蓝的本我17 小时前
linux本地部署Qwen3.8 27B
linux·运维·excel
n1121217 小时前
服务器被反复尝试登录之后:fail2ban 加密钥登录的五道加固
运维·服务器·服务器安全·fail2ban·ssh加固
洋不写bug17 小时前
网络编程(二)TCP回显服务器与客户端通信详解
服务器·网络·tcp/ip·tcp·网络通信·javaee·回显服务器
java_logo17 小时前
Docker 部署 DeepSeek Harness:轻松搭建局域网里的 AI Agent 平台
运维·docker·容器·ai agent·deepseek·轩辕镜像·deepseekharness
lisanmengmeng17 小时前
NRPE 添加命令(四)
linux·运维·服务器
想做小南娘,发现自己是女生喵18 小时前
i.MX6ULL嵌入式Linux入门学习文档
linux·运维·学习