隨著技術的發展,現在存在多種存儲和組織數據的方式。 這帶來了具有大量存儲容量的新設備。 要處理如此大的容量,您需要在硬盤上使用適當的分區表。
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 上 example, 如果你開機安裝時顯示紫色,你就知道是MBR安裝
如果您已經安裝了 Ubuntu 等 Linux 系統,並且想檢查它是否是 MBR,您可以使用 gdisk -l
命令

有了這個,您可以確認您正在使用 MBR。
MBR 架構有其特殊性,因為它通常只支持 4 個主分區。 它最多可以支持四個分區,但有一個特殊條件可以滿足此要求:
- 前三個分區應該是主分區,
- 最後一個分區應該是一個擴展分區,可以細分為更小的分區,稱為邏輯分區。
帶有主分區的設備文件會附加一個數字,指示該硬盤上的分區。 第一個主分區的編號為 1,第二個主分區的編號為 2,第三個主分區的編號為 3,第四個主分區的編號為 4。當您有擴展分區時,邏輯其中的捲以數字 5 開頭
我們可以檢查 example 的結果 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 個主分區的限制,讓我們作為一個 example 在安裝 Ubuntu 期間手動分區期間。 為了這 example,假設我們要創建 5 個分區,在此過程中:
- 我們將首先創建
/boot
分區作為主分區

- 讓我們對以下分區做同樣的事情
/
,/home
,/opt
通過使它們也成為主分區。 這意味著我們將有 04 個主分區。 我們將看到由於 MBR 分區數限制,剩下的空間將無法使用

可以看到,在達到04 MBR主分區的限制後,我們無法添加新的分區。
MBR 的另一個特殊性是單個位錯誤會使磁盤變得無用。 出於這些以及更多原因,統一可擴展固件接口 (UEFI) 指定將 MBR 替換為 GUID 分區表 (GPT),從而克服了這些限制。
2) GPT
用於 GUID 分區表的 GPT 是英特爾 EFI 規範的一部分。 GPT 與 MBR 的格式不同,但出於兼容性原因,MBR 存儲在第一個邏輯塊中,GPT 存儲在第二個邏輯塊中。 GPT 允許超過 2 TB 的磁盤和最多 128 個分區。
要在 GPT 磁盤上操作,您需要使用 gdisk
或者 parted
命令。 這 gdisk
用於 GPT fdisk 並使用與 fdisk 非常相似的接口。
當您想在 GPT 磁盤上安裝系統時,您必須在 bios 配置中啟用統一可擴展固件接口 (UEFI)。 為了 example, 如果你想在你的電腦上安裝 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
您可以看到我們不再提及 Extended,而只有一個列表或多個分區,幸運的是,我們沒有編號的間隙。
現在讓我們嘗試在安裝我們的系統(例如 Ubuntu)時創建 4 個以上的分區 example. 所以,我們也將開始創建 /boot
劃分

現在對其他分區做同樣的事情 /
, /home
, /tmp
, /var

您可以看到我們有 05 個 GPT 主分區,並且可以使用已識別的可用空間創建更多分區。
結論
作為系統管理員,您至少應該對 GPT 有點熟悉,因為 MBR 無法處理大於 2TiB 的磁盤。 您應該保留即使兩者不同,也有一些相似之處以確保兼容性。 Linux 服務器通常有多個硬盤,因此了解超過 2TB 的大硬盤和許多較新的硬盤使用 GPT 代替 MBR 以允許額外的扇區尋址很重要。