중첩된 파티션 테이블을 허용하는 방법이 있나요?

중첩된 파티션 테이블을 허용하는 방법이 있나요?

나는 다음과 같은 것을하고 싶다

sudo fdisk /dev/sdb # create 2 partitions
sudo fdisk /dev/sdb1 # create 2 more

그리고 다음과 같은 것으로 끝나죠

[daffy@daffydesk ~]$ lsblk /dev/sdb
NAME        MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sdb           8:16   0  27.8G  0 disk 
└─sdb1        8:17   0  13.9G  0 part
  └─sdb1p1      8:17   0   6.9G  0 part
  └─sdb1p2      8:17   0   7.0G  0 part
└─sdb2        8:17   0  13.9G  0 part

이것이 이론적으로 가능합니까?

답변1

아니요, 운영 체제가 파티션과 파티션 테이블을 해석하는 방식이 아니기 때문에 불가능합니다. 이는 이 접근 방식이 전혀 좋지 않고 분할 구조에 대한 가정도 깨뜨리기 때문입니다.

네가 원한다면1983년(!) MBR 구성표보다 더 많은 파티션(임의 생성 순서)이 허용됩니다. 최신 펌웨어에서 기본적으로 지원되는 GPT(20년, 40년 미만)를 사용할 수 있습니다(적어도 이후 2010) . 모든 곳에서 지원되는 더 나은 대안이 있다면 오래된 솔루션을 변경할 필요가 없습니다².

블록 장치 내에서 공간을 분할하려는 경우 장치 매퍼와 LVM이 이러한 목적으로 설계된 도구입니다. 따라서 이 사용 사례의 경우 MBR 파티션 테이블을 MBR 파티션에 넣는 것은 의미가 없습니다.

이것이 실제로 유용한 상황 중 하나는 파티션을 가져와서 이를 가상 머신의 전체 드라이브 이미지로 사용하려는 경우입니다. 그런 다음 언급한 루프백 장치 방법을 사용하면 됩니다. lsblk가 항목을 계층화하여 표시하는지는 중요하지 않으며 단지 표시일 뿐입니다. 그러나 실제로 사람들은 이런 일도 하지 않습니다. LVM 또는 네트워크 스토리지(CEPH 등)를 통해 액세스되는 일반 파일 시스템(일반적인 데스크탑 사용) 또는 블록 스토리지에 있는 이미지 파일만 사용합니다.


1 올바른 MBR 파티션의 고정 위치에 볼륨 부트 레코드가 있는데, 이는 MBR 파티션 테이블을 배치한 위치와 충돌합니다. 그러나 최신 운영 체제는 VBR에 관심이 없습니다. 또한 37년 전에 2MB 하드 드라이브용으로 설계된 파티션 구성표도 지원하지 않습니다.

² 특정 하드웨어(1983년 IBM PC)용으로 완전히 설계된 것이 여전히 범용 파티셔닝 방식이라는 점도 흥미롭습니다.모두테라바이트 디스크를 갖춘 x86_64 플랫폼이든, 4MB 플래시 메모리를 갖춘 MIPS 라우터이든 상관없습니다.

관련 정보