GPT 파티션 테이블에 확장 파티션이 있습니까?

GPT 파티션 테이블에 확장 파티션이 있습니까?

MBR 모델에서는 4개의 기본 파티션을 생성할 수 있으며, 그 중 하나는 확장 파티션이 될 수 있으며 확장 파티션은 논리 파티션으로 더 세분화됩니다.

Wikipedia의 GPT 회로도를 고려해보세요.

GPT

파티션 항목의 범위는 LBA 1부터 LBA 34까지입니다. 아마도 공간이 부족했을 것입니다. 이 파티션 수는 상당한 것으로 알고 있습니다. 디스크가 GPT를 사용하여 파티션된 경우 확장 파티션을 생성할 수 있습니까? 가능하다면 GPT 파티션 테이블당 몇 개의 확장 파티션을 생성할 수 있습니까?

이것이 LBA 1에서 LBA 34 범위에 있는 파티션 항목의 표준인지 확실하지 않습니다. 어쩌면 이 범위 이상으로 파티션 항목을 확장할 수 있을까요?

사실, 그것은 상당한 양의 분할이고, 나는 그렇게 할 생각이 없습니다.

답변1

128개의 파티션은 GPT의 기본 제한이며, 절반의 파티션을 사용하는 것은 실제로 고통스러울 수 있습니다.

Linux 자체에는 초기에 장치 네임스페이스에 몇 가지 제한이 있었습니다. /dev/sdX의 경우 파티션 수는 15개 이하로 가정합니다(sda의 경우 8,0, sdb의 경우 8,16 등). 더 많은 파티션이 있는 경우 블록 확장 기본이라고도 불리는 259,X를 사용하여 표시됩니다.

물론 다양한 방법으로 더 많은 파티션을 만들 수 있습니다. 루프 장치, LVM, GPT 내의 GPT까지. 때로는 파티션이 가상 머신에 블록 장치로 제공되어 파티션을 가상 디스크 드라이브로 보고 파티션을 나누는 경우 이러한 현상이 자연스럽게 발생합니다.

파티션 내의 이러한 파티션이 자동으로 선택될 것이라고 기대하지 마십시오.


gdisk@fpmurphy1이 의견에서 지적했듯이 제가 틀렸습니다. , expert menu, 을 사용하여 한계를 변경할 수 있습니다 resize partition table. 드라이브의 시작과 끝에 분할되지 않은 공간이 있는 경우 기존 파티션 테이블을 사용하여 이 작업을 수행할 수도 있습니다(512바이트 섹터는 4개의 추가 파티션 항목을 수용할 수 있음). 그러나 이것이 얼마나 널리 지원되는지는 잘 모르겠습니다. parted제가 시도한 다른 파티셔너에는 이에 대한 옵션이 없는 것 같습니다.


설정할 수 있는 최대 한도는 gdisk다음과 같으나 65536여기에는 문제가 있습니다.

Expert command (? for help): s   
Current partition table size is 128.
Enter new size (4 up, default 128): 65536
Value out of range

그런 다음...

Expert command (? for help): s   
Current partition table size is 128.
Enter new size (4 up, default 128): 65535
Adjusting GPT size from 65535 to 65536 to fill the sector

Expert command (? for help): s
Current partition table size is 65536.

뭐라고? 당신이 무슨 말을하든 상관 없습니다.

그러나 해당 파티션 테이블을 저장하려고 시도하면 gdisk몇 분 동안 루프에 갇히게 됩니다.

Expert command (? for help): w

--- gdisk gets stuck here ---
      PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND    
    22253 root      20   0   24004  11932   3680 R 100.0  0.1   1:03.47 gdisk      
--- unstuck several minutes later ---

Final checks complete. About to write GPT data. THIS WILL OVERWRITE EXISTING
PARTITIONS!!

Do you want to proceed? (Y/N): Your option? (Y/N): y
OK; writing new GUID partition table (GPT) to /dev/loop0.
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

다음은 parted성공적으로 완료된 작업에 대한 설명입니다.

# parted /dev/loop0 print free
Backtrace has 8 calls on stack:
  8: /usr/lib64/libparted.so.2(ped_assert+0x45) [0x7f7e780181f5]
  7: /usr/lib64/libparted.so.2(+0x24d5e) [0x7f7e7802fd5e]
  6: /usr/lib64/libparted.so.2(ped_disk_new+0x49) [0x7f7e7801d179]
  5: parted() [0x40722e]
  4: parted(non_interactive_mode+0x92) [0x40ccd2]
  3: parted(main+0x1102) [0x405f52]
  2: /lib64/libc.so.6(__libc_start_main+0xf1) [0x7f7e777ec1e1]
  1: parted(_start+0x2a) [0x40610a]


You found a bug in GNU Parted! Here's what you have to do:

Don't panic! The bug has most likely not affected any of your data.
Help us to fix this bug by doing the following:

Check whether the bug has already been fixed by checking
the last version of GNU Parted that you can find at:

    http://ftp.gnu.org/gnu/parted/

Please check this version prior to bug reporting.

If this has not been fixed yet or if you don't know how to check,
please visit the GNU Parted website:

    http://www.gnu.org/software/parted

for further information.

Your report should contain the version of this release (3.2)
along with the error message below, the output of

    parted DEVICE unit co print unit s print

and the following history of commands you entered.
Also include any additional information about your setup you
consider important.

Assertion (gpt_disk_data->entry_count <= 8192) at gpt.c:793 in function
_parse_header() failed.

Aborted                                                                   

따라서 parted8192개가 넘는 파티션 항목이 있는 GPT는 거부됩니다 . 이건 아무도 안하니 부패한거겠죠?

이는 기본값을 따르지 않을 때 발생합니다.

답변2

GPT에는 실제로 파티션 수에 제한이 없기 때문에 확장 파티션이 없습니다(지원되는 최소 파티션은 128개이며 파티션 테이블에 16,384바이트를 사용하므로 더 많은 공간을 예약하면 더 많은 파티션을 가질 수 있습니다).

하지만 그러면 다음과 같은 제한 사항에 직면하게 됩니다.

  • 귀하의 운영 체제(예: MS Windows에만 해당 128)
  • 파티션 작업을 위한 도구: gdisk, parted일부 다른 도구에도 제한이 있습니다( 128어쨌든 파티셔닝보다 높음).

답변3

제공하신 그림에서 볼 수 있듯이 GPT는 최대 128개의 파티션을 지원합니다. 확장 파티션이라는 개념이 없습니다.

답변4

우선 확장 파티션은 MBR 디스크에서만 사용할 수 있다는 점을 기억해야 합니다. GPT 파티션에서는 모든 파티션이 기본 파티션입니다. GPT는 최대 128개의 파티션을 지원합니다.

디스크 관리를 사용하여 확장 파티션을 생성하려면 할당되지 않은 공간이 있어야 합니다. 이미 3개의 기본 파티션이 있는 경우 4번째 파티션이 확장 파티션으로 생성됩니다.

명심해야 할 한 가지: MBR은 최대 4개의 기본 파티션만 지원합니다. 이미 4개의 기본 파티션이 있는 경우 다음을 수행할 수 있습니다.기본 파티션을 확장 파티션으로 변환데이터가 손실되지 않습니다.

관련 정보