MBR vs GPT – 分區時需要知道的事情(截圖)

隨著技術的發展,現在存在多種存儲和組織數據的方式。 這帶來了具有大量存儲容量的新設備。 要處理如此大的容量,您需要在硬盤上使用適當的分區表。

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 命令

使用 gdisk 命令檢查 MBR 分區

有了這個,您可以確認您正在使用 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 分區作為主分區
創建主 MBR 引導分區
  • 讓我們對以下分區做同樣的事情 /, /home, /opt 通過使它們也成為主分區。 這意味著我們將有 04 個主分區。 我們將看到由於 MBR 分區數限制,剩下的空間將無法使用
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,你將在啟動時有一個黑色的背景色,如下所示

在 ubuntu 上安裝 GPT

如果要檢查是否使用 GPT 分區,仍然使用 gdisk -l 命令

使用 gdisk 命令檢查 GPT 分區

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 劃分

創建 tge GPT 啟動分區

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

創建其他 GPT 分區

您可以看到我們有 05 個 GPT 主分區,並且可以使用已識別的可用空間創建更多分區。

結論

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