随着技术的发展,现在存在许多存储和组织数据的方法。这带来了具有大量存储容量的新设备。要操作如此大量的容量,您需要在硬盘驱动器上使用适当的分区表。
GPT 和 MBR 是两种流行的,在您考虑保留数据时选择文件系统之前使用。作为系统管理员,您可能希望在分区时使用 MBR(主引导记录)或 GPT(GUID 分区表),因此您必须知道两者之间的区别。
为了正确理解它们的工作原理,在本教程中,我们将需要探索一些关于 MBR 和 GPT 的基本概念,以了解它们的优点、局限性和差异。
分区由写入硬盘指定部分的数据结构定义。当您必须在驱动器上存储分区信息时,您必须使用 MBR 或 GPT,它会告诉操作系统分区的确切位置和开始位置、哪个扇区属于每个分区以及哪个扇区是可引导的。这是在硬盘驱动器上创建分区之前我们必须在 MBR 和 GPT 之间进行选择的主要原因之一。
许多计算机与这两者兼容,但它们不能一起工作。通常,MBR 是以前使用的旧版本,它与 Bios 系统一起工作。GPT 是 UEFI(统一可扩展固件接口)系统附带的一种新产品。所以这意味着如果你想在硬盘上安装操作系统,如果你选择使用 MBR,那么 GPT 将无法工作,反之亦然。可以进行从一种转换到另一种的转换,但该过程会导致磁盘上的所有内容都被删除。
1)MBR
主引导记录的 MBR 将其数据存储在磁盘的第一个扇区中,并包含分区和文件系统信息,告诉 BIOS 这是一个引导驱动器,它可以在哪里找到可挂载的文件系统。您应该知道 MBR 仅支持最大 2TB 的驱动器。要对 MBR 磁盘进行操作,需要使用fdisk、cfdisk或parted命令
安装系统时,MBR 兼容性伴随着 bios 配置中的 Legacy BIOS 模式。这意味着您可以在开始时知道您是否执行和 MBR 安装。例如,在 Ubuntu 上,如果它在您启动安装时显示为紫色,您将知道这是 MBR 安装
如果你已经安装了 Ubuntu 等 Linux 系统,并且想检查它是否是 MBR,你可以使用gdisk -l命令
这样,您可以确认您正在使用 MBR。
MBR 架构有其特殊性,因为通常它只支持 4 个主分区。它最多可以支持四个分区,但是有一个特殊的条件来满足这个要求:
前三个分区应该是主分区,最后一个分区应该是扩展分区,可以细分为更小的分区,称为逻辑分区。
带有主分区的设备文件会附加一个数字,指示该硬盘上的分区。第一个主分区编号为 1,第二个主分区编号为 2,第三个主分区编号为 3,第四个主分区编号为 4。当您有扩展分区时,逻辑里面的卷以数字 5 开始命名
例如,我们可以检查fdisk -l另一个具有主分区和扩展分区的 MBR 磁盘上的命令结果
# fdisk -l
Disk /dev/sda: 20 GiB, 21474836480 bytes, 41943040 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x0000996b
Device Boot Start End Blocks Id System
/dev/sda1 2048 4196351 2097152 82 Linux swap / Solaris
/dev/sda2 * 4196352 30679039 13241344 83 Linux
/dev/sda4 30679040 41164799 5242880 5 Extended
/dev/sda5 30681088 36540415 2929664 83 Linux
为了正确理解 4 个主分区的限制,我们以安装 Ubuntu 的手动分区为例。对于这个例子,假设我们要创建 5 个分区,在这个过程中:
我们将首先创建/boot分区作为主分区
让我们对以下分区做同样的事情,/将它们设为主分区。这意味着我们将有 04 个主分区。我们将看到由于 MBR 分区数限制,剩余空间将无法使用/home/opt
可以看到,在达到 04 MBR 主分区的限制后,我们无法添加新分区。
MBR 的另一个特点是,一个位错误会导致磁盘无用。由于这些原因以及更多原因,统一可扩展固件接口 (UEFI)指定将 MBR 替换为 GUID 分区表 (GPT),从而克服了这些限制。
2) GPT
GPTfor GUID 分区表是英特尔 EFI 规范的一部分。GPT 是与 MBR 不同的格式,但出于兼容性原因,MBR 存储在第一个逻辑块中,而 GPT 存储在第二个块中。GPT 允许超过 2 TB 的磁盘和最多 128 个分区。
要对 GPT 磁盘进行操作,需要使用gdisk orparted命令。GPT fdisk使用的接口gdisk与 fdisk 非常相似。
当您想在 GPT 磁盘上安装系统时,您必须在 bios 配置中启用统一可扩展固件接口 (UEFI)。例如,如果您想在您的计算机上安装 Ubuntu,您将在启动时有 黑色背景色,如下所示
如果要检查是否使用 GPT 分区,仍然使用gdisk -l命令
这Mbr: protective是因为 GPT 使用了保护性 MBR,这是一个合法的 MBR 定义,它使 GPT 不知道实用程序认为磁盘拥有一个跨越整个磁盘的单个 MBR 分区。
使用 GPT,不需要主分区、扩展分区或逻辑驱动器,这意味着所有分区都是相同的。当然,您仍然可以考虑 初级 以获得更好的理解。但在实践中,GPT 分区通常从 1 开始连续编号,即使在分区编号中可能会出现一些间隙。让我们看看另一个使用 GPT 的磁盘
# gdisk -l /dev/sda
GPT fdisk (gdisk) version 1.0.1
Partition table scan:
MBR: protective
BSD: not present
APM: not present
GPT: present
Found valid GPT with protective MBR; using GPT.
Disk /dev/sda: 976773168 sectors, 465.8 GiB
Logical sector size: 512 bytes
Disk identifier (GUID): 02F5A939-659C-46B7-8392-40F60B005D04
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 976773134
Partitions will be aligned on 2048-sector boundaries
Total free space is 4077 sectors (2.0 MiB)
Number Start (sector) End (sector) Size Code Name
1 2048 1050623 512.0 MiB EF00
2 1050624 99878911 47.1 GiB 8300
3 99878912 138940415 18.6 GiB 8300
4 138940416 155541503 7.9 GiB 8200
5 155541504 184838143 14.0 GiB 8300
6 184838144 595970047 196.0 GiB 8300
7 595970048 976771071 181.6 GiB 8300 DATA
您可以看到我们不再提到扩展,而只有一个列表或许多分区,幸运的是,我们在编号上没有间隙。
现在让我们尝试在安装我们的系统(例如 Ubuntu)时创建超过 4 个分区。所以,我们也将开始创建/boot分区
现在对其他分区执行相同的操作,例如/, /home, /tmp,/var
您可以看到我们有 05 个 GPT 主分区,并且可以使用已识别的可用空间创建更多分区。
结论
作为系统管理员,您至少应该对 GPT 有点熟悉,因为 MBR 无法处理大于2TiB 的磁盘。您应该保留即使两者不同,也有一些相似之处以确保兼容性。Linux 服务器通常有多个硬盘,因此了解超过 2TB 的大型硬盘和许多较新的硬盘使用 GPT 代替 MBR 以允许对扇区进行额外寻址非常重要。