Parted를 사용하여 논리 파티션을 생성할 수 없습니다.

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

답변1

확장 파티션과 논리 파티션은 msdos 파티션 테이블에만 의미가 있습니다. 유일한 목적은 4개 이상의 파티션을 가질 수 있도록 하는 것입니다. GPT에는 "기본" 파티션만 있으며 그 수는 일반적으로 128개로 제한됩니다(그러나 디스크 레이블 형식에 따른 이론적 상한은 없습니다). GPT에서는 파티션이 겹칠 수 없습니다(확장 파티션이 포함된 모든 논리 파티션과 분명히 겹칠 것으로 예상되는 msdos와 비교).

GPT에 대한 다음 사항은 파티션에 이름이 있을 수 있다는 것입니다. 그러나 여기서 혼동이 발생합니다. mkpart 명령은 GPT를 사용하는지 msdos 파티션 테이블을 사용하는지에 따라 의미가 다릅니다.

msdos 분할 테이블의 경우 mkpart에 대한 두 번째 인수는 파티션 유형(기본/논리/확장)이고, GPT의 경우 두 번째 인수는 파티션 이름입니다. 귀하의 경우에는 "기본"입니다. 각각 '확장'. "논리적". 따라서 parted는 두 개의 GPT 파티션을 생성합니다. 첫 번째 파티션은 "기본"으로 명명되고 두 번째 파티션은 "확장"으로 명명됩니다. 생성하려는 세 번째 파티션("논리" 파티션)은 "확장" 파티션과 겹치므로 parted는 작업 수행을 거부합니다.

즉, 확장 파티션과 논리 파티션은 GPT에서 의미가 없습니다. 원하는 만큼의 "일반" 파티션을 만들고 적절한 이름을 지정하기만 하면 됩니다.

관련 정보