Partition
無法使用 Parted 創建邏輯分區
我在環回磁碟上擺弄
parted
命令,並嘗試使用 gpt 部分錶創建一些分區,但Error: Unable to satisfy all constraints on the partition.
在嘗試創建邏輯分區時我不斷得到$ sudo parted /dev/loop0 (parted) mktable gpt (parted) mkpart primary 1MiB 201MiB (parted) mkpart extended 201MiB -0MiB (parted) unit MiB print Model: Loopback device (loop) Disk /dev/loop0: 102400MiB Sector size (logical/physical): 512B/512B Partition Table: gpt Number Start End Size File system Name Flags 1 1.00MiB 201MiB 200MiB primary 2 201MiB 102400MiB 102199MiB extended (parted) mkpart logical 202MiB 1024MiB Error: Unable to satisfy all constraints on the partition.
但是,使用 msdos 部分錶重新創建相同的分區不會產生這樣的錯誤。所以知道有什麼問題嗎?
% sudo parted /dev/loop0 GNU Parted 2.3 Using /dev/loop0 Welcome to GNU Parted! Type 'help' to view a list of commands. (parted) mktable msdos (parted) mkpart primary 1MiB 201MiB (parted) mkpart extended 201MiB -0MiB (parted) mkpart logical 202MiB 1024MiB (parted) unit MiB print Model: Loopback device (loop) Disk /dev/loop0: 102400MiB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 1 1.00MiB 201MiB 200MiB primary 2 201MiB 102400MiB 102199MiB extended lba 5 202MiB 1024MiB 822MiB logical
擴展分區和邏輯分區僅對 msdos 分區表有意義。它的唯一目的是讓您擁有超過 4 個分區。使用 GPT,只有“主”分區,它們的數量通常限制為 128 個(但是,理論上磁碟標籤格式沒有暗示上限)。請注意,在 GPT 上,沒有一個分區可以重疊(與 msdos 相比,擴展分區顯然會與所有包含的邏輯分區重疊)。
關於 GPT 的下一件事情是分區可以有名稱,這帶來了混淆:mkpart 命令具有不同的語義,具體取決於您使用 GPT 還是 msdos 分區表。
對於 msdos 分區表,mkpart 的第二個參數是分區類型(主/邏輯/擴展),而對於 GPT,第二個參數是分區名稱。在你的情況下,它是“主要的”。“擴展”分別。‘合乎邏輯’。所以 parted 創建了兩個 GPT 分區,第一個名為“primary”,第二個名為“extended”。您嘗試創建的第三個分區(“邏輯”分區)將與“擴展”重疊,因此 parted 拒絕這樣做。
簡而言之,擴展分區和邏輯分區在 GPT 上沒有意義。只需創建任意數量的“正常”分區並為其命名即可。