MBR 디스크에 기본 파티션이 네 개만있는 이유는 무엇입니까?


23

CentOS.org에서 문서를 읽고 있습니다.

섹션 25.1.2. 파티션 : 하나의 드라이브를 여러 드라이브로 전환 하는 경우 다음 내용이 있습니다.

파티션 테이블은 4 개의 섹션 또는 4 개의 기본 파티션으로 나뉩니다. 기본 파티션은 하나의 논리 드라이브 (또는 섹션) 만 포함 할 수있는 하드 드라이브의 파티션입니다. 각 섹션은 단일 파티션을 정의하는 데 필요한 정보를 보유 할 수 있습니다. 즉, 파티션 테이블은 최대 4 개의 파티션을 정의 할 수 있습니다.

네 개의 파티션 만있을 수 있는지 이해가되지 않습니다 . 이것이 처음에 설계된 방식입니까? 실제로 4 개의 기본 파티션 만있을 수 있습니까?

답변:


36

이것이 처음에 설계된 방식입니까? 실제로 4 개의 기본 파티션 만있을 수 있습니까?

그렇습니다. MBR 디스크의 앞면에있는 파티션 테이블 (GPT 스타일 디스크와 반대)은 공간이 소중한 귀중한 1980 년대부터 시작된 매우 엄격한 데이터 구조를 가지고 있습니다. 당시의 디자인 결정 방식은 4 개의 파티션 만 허용하는 것이었지만 그 중 하나는 더 많은 '논리적'파티션을 포함 할 수있는 디스크의 다른 지점에 대한 포인터 인 '확장'파티션이되도록 허용했습니다.

(이것이 MBR 포맷 된 디스크가 2TB + 디스크, 512 바이트 크기 클러스터 및 파티션 크기 = 2TB 최대 디스크 크기에 대한 클러스터 수를 포함하는 32 비트 필드에 문제가있는 것과 같은 이유입니다. 4KB 클러스터 크기는 문제를 해결하는 방법입니다. )

GPT는 이러한 제한이없는 업데이트 된 파티션 처리 방법입니다.


1
또한 IDE 유형 디스크에만 제한이 있습니다. 예를 들어, SCSI는 8 개이며, 세 번째는 전체 장치에 걸쳐있는 오버랩 파티션입니다.
MadHatter는 Monica

18
@MadHatter 파티션 테이블 자체는 스토리지 유형에 구애받지 않습니다. 약간 다른 개념 인 Solaris 슬라이스를 설명하고있는 것 같습니다.
the-wabbit

3
나는 그것이 사실이라고 생각하지는 않았지만, 대부분의 SCSI 파티셔닝 경험은 Solaris에서 온 것입니다. 정정에 절하고 감사합니다!
MadHatter는 Monica

4
실제로 확장 파티션은 훨씬 나중에 나왔습니다 . IBM PC DOS 2.0은 1983 년 3 월 HDD 지원의 일부로 MBR을 도입했지만 확장 파티션을 사용할 수있게 된 시점은 1987 년 4 월 3.3 일 이었습니다 .
CVn

실제로 "확장 파티션"은 단순히 다른 MBR 스타일 파티션 테이블을 가리키며,이 테이블에는 4 개의 항목 만 포함될 수 있습니다 (각각 4 개의 항목을 포함 할 수있는 다른 파티션 테이블을 가리키는 확장 파티션 항목 일 수 있음) 각각은 확장 파티션이 될 수 있습니다 ...)) 실제로 일부 운영 체제는 슬롯 4의 확장 파티션 만 허용하고 슬롯이 하나 있으면 슬롯 2와 3은 비워 두어야합니다. 따라서 실제로 끝내는 것은 독창적입니다. 슬롯 1 차 및 4 슬롯의 다음 테이블에 링크 파티션 테이블의리스트를 링크
르그 W MITTAG

25

MBR 파티션 테이블 의 데이터 구조는 파티션을 설명하는 정확히 4 개의 레코드 만 허용하므로 4 개만 있습니다.

"확장 파티션"이라고하는 정의에 중첩 된 추가 파티션 테이블을 작성할 수 있지만 여기에 정의 된 파티션은 일반적으로 "논리"파티션이라고합니다. 이것은이 특정 구현의 제한 사항입니다. GUID 파티션 테이블 과 같은 다른 파티션 유형 은이 제한을 공유하지 않습니다.


3

기본 파티션은 낮은 수준의 개념입니다. 머신의 초기 부팅 프로세스와 관련이 있으며 잘 정의 된 사양 세트를 기반으로합니다. 따라서 많은 디스크 및 마더 보드 제조업체가 새로운 표준을 구현하는 데 동의해야하므로 기본 파티션 수를 변경하는 것은 매우 어렵습니다.

실제로, 이것은 요점입니다 .OS를 처음 시작하는 것은 '부팅 시간'과 관련이 있지만 그게 전부입니다. 디스크에 더 많은 파티션을 허용하는 확장 파티션이 있습니다. 그래도 부팅 할 수 없었습니다.

더 근본적으로-대부분의 운영 체제는 더 많은 디스크 추상화-논리 볼륨 관리자와 함께 작동합니다. 즉, 실제 온 디스크 토폴로지는 크게 관련이 없습니다. (실제로 스토리지 풀을 분할하는 것은 바람직하지 않습니다)


1
나는 당신이 하나를 부팅 할 수 없다는 것에 대해 잘못 생각합니다. GRUB은 확장 파티션에서 리눅스를 행복하게 부팅 할 것이라고 생각합니다. 그 외에는 대부분 동의합니다.
MadHatter는 Monica

GRUB 자체는 기본 파티션에 있어야합니다. 저수준 부트 스트랩은 grub을 시작한 다음 선택할 수 있습니다.
Sobrique

1
1 단계 로더는 파티션에 전혀 없어야합니다. MBR에 있어야합니다. 나머지 코드는 /boot파티션 내부에 있으며 내가 말했듯이 행복하게 확장 파티션이 될 수 있다고 생각합니다.
MadHatter는 Monica

충분합니다. 나는 가서 숙제를 할 것이다. 그러나 주 파티션이 제한되어 있지만 그 한계는 현재 크게 관련이없는 경우를 여전히 지원한다고 생각합니다.
Sobrique

1
"... 많은 디스크 및 마더 보드 제조업체가 새로운 표준을 구현하는 데 동의해야하기 때문입니다." 뭐? 어떻게? 디스크와는 전혀 관련이 없으며 메인 보드조차도 신경 쓰지 않아도됩니다. 메인 보드에 필요한 모든 것은 섹터 0을 읽고 코드를 실행하는 것입니다. 파티션을 인식하는 것이 그 코드의 일입니다.
glglgl

0

내가 파티에 늦었는지 확실하지 않지만 여기에 간다.

파티션 테이블 크기는 64 바이트로 설계되었으며 각 파티션 테이블은 16 바이트입니다. 16 * 4 = 64이므로 파티션 테이블에 다른 항목을위한 공간이 더 이상 없습니다.

이 문제를 해결하기 위해 네 번째 항목에는 다른 확장 파티션에 대한 순차적 포인터를 가질 수있는 확장 파티션 항목이 있습니다.

https://docs.microsoft.com/en-us/windows/win32/fileio/basic-and-dynamic-disks

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.