MBR 和 GPT 区别

在上一篇文章: 从 BIOS 到 UEFI:PC 固件的演变 中,我们讲述了电脑启动的第一个阶段,也就是 BIOS/UEFI 引导阶段。在这一阶段结束后,固件就会在磁盘上查找可启动的系统。

而这个查找引导程序的关键过程,正是由硬盘的分区表格式来决定的。分区表就像是固件在磁盘上阅读的第一份地图,它告诉固件磁盘的分区信息、可引导分区的具体位置,以及如何加载引导程序。

在深入对比 MBR 和 GPT 的差异之前,我们先来回顾并了解一下分区和分区表的概念。

分区(partition)

硬盘分区实质上是对硬盘的一种格式化,格式化后才能使用硬盘保存各种信息。一块硬盘可以被分割成多个分区,从 Windows 操作系统的角度来看,就是 C:、D: 和 E: 等。在 Linux 操作系统中,硬盘被称为 /dev/sda,注意,这里的 a 是指第一块硬盘的意思,一般一台计算机有一块硬盘。如果有第二块、第三块硬盘,则被命名为 /dev/sdb、/dev/sdc,以此类推。/dev/sda 中的 sd 意为 SCSI Disk,历史上用于 SCSI 硬盘,现在也用于 SATA 和 USB 存储设备。

在 Linux 操作系统中,U盘也被以类似方式命名。不同于 Windows 操作系统,Linux 操作系统中的分区用数字来表示,如硬盘 /dev/sda 分了3个区,这3个区分别命名为 /dev/sda1、/dev/sda2 和 /dev/sda3。

分区表(partition table)

分区数据存放在硬盘的分区表中。硬盘分区的方式有两种:

  • MBR,Master Boot Record,主引导记录
  • GPT,GUID Partition Table,全局唯一标识分区

MBR 一共支持4个分区,如果用户的计算机硬盘分区数量不超过4个,那么可以把他们都划分为主分区。如果计算机硬盘分区数量超过4个,那么最多只能有3个主分区,还有1个要划分为扩展分区,通过把扩展分区划分为若干个逻辑分区,可以让分区数量突破4个的数量上限。但这毕竟只是一个妥协方案,GPT 技术改进了这个缺点。

GPT 可以支持多达128个分区,而且每个分区最大支持 18 EB(1EB 相当于 100万TB)的空间,为未来的超大空间硬盘预留了充足的空间。如果用户购买的计算机预装的是 Windows 早期的操作系统(Windows 7 及以前),那么就采用 MBR 分区方案;如果用户购买的计算机预装的是较新的操作系统(Windows10 及以后),那么就采用 GPT 分区方案。

文件系统(file system)

硬盘在完成分区后还不能立即使用,必须要执行格式化操作来创建文件系统。文件系统会对各类数据进行分类,把数据组织成一个个独立的文件,这样就方便对文件数据进行控制和管理(如存储、修改、检索和保护等)。

Windows 操作系统主要使用的文件系统有 FAT、FAT32、NTFS 等,Linux 操作系统主要使用的文件系统有 ext2、ext3、ext4 等。

从 MBR 到 GPT 分区

主引导记录 (MBR) 作为一种老旧且历史悠久的分区表格式,它的诞生与古老的 BIOS 固件是紧密耦合在一起的。这种设计完美地适应了 1980 年代的计算机硬件。

然而,由于 MBR 的设计基于早期的硬件设计,它存在着两大致命的限制,使其不适用于现代大容量硬盘:

  1. 容量限制: MBR 最大只能支持 2TB 的硬盘容量。对于任何大于 2TB 的存储空间,MBR 将无法寻址。
  2. 分区数量限制: MBR 最多只支持 4 个主分区(或 3 个主分区加上 1 个扩展分区)。这限制了系统管理员和用户对磁盘灵活分区的需求。

随着硬件技术的飞速发展,特别是大容量硬盘成为主流,以及 BIOS 被 UEFI 固件所取代,业界迫切需要一种新的分区表格式。于是,伴随着 UEFI 固件的普及,更加强大和灵活的 GUID 分区表 (GPT) 格式也应运而生。

GPT提供了更加灵活的磁盘分区机制。优点是支持2TB以上的大硬盘;每个磁盘的分区个数几乎没有限制,分区大小也几乎没有限制。

目前,计算机系统的启动方式主要有两种:一种是 BIOS 配合 MBR 分区表格式的分区来启动,另一种就是 UEFI 配合 GPT 分区表格式的分区来启动(UEFI 也可以使用 Legacy 兼容模式来启动 MBR)。现在的大部分计算机都已经支持 UEFI固件,且都配备了大容量的硬盘,因此都是采用 UEFI + GPT 的启动方式来运行计算机。

因此在安装系统时,需要根据固件类型来对硬盘进行分区,简单来说就是,UEFI 对应 GPT,BIOS 对应 MBR。

查看硬盘分区格式

在 Windows 中可以在磁盘管理中右键磁盘查看属性,在卷选项卡中能够看到磁盘分区格式:

如果要对新的硬盘进行分区,可以在初始化磁盘中选择分区格式:

在安装系统时,也会使用 fdisk 或 DiskGenius 来对磁盘进行分区。

总结

总结而言,硬盘的分区格式与主板的固件标准是一对密不可分的技术组合:

  • 传统模式: BIOS 固件 配合 MBR 分区表启动。
  • 现代模式: UEFI 固件 配合 GPT 分区表启动。

因此,在您下次安装操作系统或初始化新硬盘时,只要确认了的计算机固件类型,就能做出正确的选择:

  • 如果电脑支持 UEFI 且硬盘大于 2TB,请务必选择 GPT。
  • 如果电脑只支持老式 BIOS,则只能选择 MBR。
相关推荐
学习路上_write3 小时前
stm32板子mpu6050读取的器件ID一直是0xFF
stm32·单片机·嵌入式硬件
what_20183 小时前
wins磁盘重新分配
windows
恒锐丰小吕3 小时前
无锡黑锋 HF6010 PWM/PFM控制DC-DC降压稳压器技术解析
嵌入式硬件·硬件工程
l3538o675733 小时前
国产POE降压恒压芯片方案选型:48v-52v输入转5v-12v/1-3A电源芯片
人工智能·科技·单片机·嵌入式硬件·电脑·智能家居
JSMSEMI113 小时前
SC6D10170H-JSM 碳化硅肖特基二极管
stm32·单片机·嵌入式硬件
Warren983 小时前
datagrip新建oracle连接教程
数据库·windows·云原生·oracle·容器·kubernetes·django
听风吟丶4 小时前
Spring Boot 自动配置深度解析:原理、实战与源码追踪
前端·bootstrap·html
LinHenrY12274 小时前
初识C语言(文件操作)
c语言·windows·microsoft
点灯小铭4 小时前
基于单片机的智能传送带自动计数与数据管理系统设计
单片机·嵌入式硬件·毕业设计·课程设计·期末大作业