태그 보관물: boot

boot

MBR vs GPT (논리 블록 주소 지정) ATA2) LBA (22 비트)-2GB 제한 (1986-IDE) LBA

MBR / GPT 통과 MBR (2 ^ 32)에서 GPT (2 ^ 64) 로의 전환에 약간 혼란 스럽습니다.

고장의 역사 당신이 만약 CHS Di의 LBA 주소 :

  • CHS (24 비트)-8GB 제한 (1979- ” 고정 블록 아키텍처 “로 도입)
  • CHS (28 비트)-128GB 제한 (1994-EIDE / ATA2)
  • LBA (22 비트)-2GB 제한 (1986-IDE)
  • LBA (28 비트)-128GB 제한 (1994-ATA-1)
  • LBA (48 비트)-144PB 제한 (2002-ATA-6)

—- 여기 ATA 이력에 대한 분석이 있습니다 —


위키 백과 (LBA) :

반면에 주소를 보유한 온 디스크 및 인 메모리 데이터 구조의 항목 크기는 일반적으로 32 비트 또는 64 비트입니다.

이것은 프로세서를 기반으로합니다 (32/64) ….

그렇다면 MBR이 주소 지정을 막는 것은 무엇입니까 (2 ^ 64)?



답변

컴퓨터 가 2 개의 64 개 주소를 모두 논리적으로 지정 하는 것을 제한하는 것은 없지만 MBR 스타일 파티션 헤더의 구현으로 인해 제한이 발생합니다. 대부분의 IBM 호환 컴퓨터에서 일반적으로 구현되는 표준 DOS 스타일 MBR에서 각 16 바이트 파티션 항목에는 4 바이트 (32 비트) LBA 섹터 주소를위한 공간 만 있습니다.

이는 최대 2 개의 32 개 섹터 만 처리 할 수 있고 각 섹터가 512 바이트 인 경우 MBR 스타일 파티션에 액세스 할 수있는 최대 범위는 2 32 x 512 바이트이며 이는 2048GiB 또는 2TiB와 같습니다. . 더 큰 섹터 크기 (예 : 4096 바이트)의 드라이브를 사용하면 최대 범위가 16TiB로 확장되지만 표준 512 바이트 섹터 이외의 더 큰 섹터 크기와 호환되는 컴퓨터 및 운영 체제가 필요합니다.


논리적 블록 주소 지정 에 대해서는 Wikipedia 기사에서 간단히 설명합니다 .

2003 년에 ATA-6 표준으로 도입 된 현재 48 비트 LBA 방식은 최대 128 PiB를 처리 할 수 ​​있습니다. […] 그러나 일반적인 DOS 스타일 마스터 부트 레코드 (MBR) 파티션 테이블은 최대 2TiB 크기의 디스크 파티션 만 지원합니다. 더 큰 파티션의 경우 다른 구성표로 교체해야합니다 (예 : 현재 INT 13h 확장과 64 비트 제한이있는 GUID 파티션 테이블 (GPT)).

실제로 GPT 스타일 파티션에는 해당 파티션의 시작 및 끝 논리 블록 주소를 지정하는 2 개의 8 바이트 필드가 있으며 주소 지정 가능 범위를 2 64 섹터 로 확장합니다 . 섹터 크기 (일반적으로 512 또는 4096 바이트)에 2 64 를 곱하여 디스크의 최대 파티션 크기를 계산하기 위해 위와 같이 유사한 계산을 수행 할 수 있습니다 .

마지막으로 GPT 파티션 테이블은 구현 / 레이아웃이 약간 다릅니다. MBR 스타일 파티션은 시작 및 끝 섹터를 CHS (3 바이트) 형식으로, 파티션 의 시작 섹터 및 크기 는 LBA 형식 (각각 4 바이트)으로 저장합니다. GPT는이 규칙을 따르지 않고 대신 해당 파티션의 시작 및 끝 섹터를 나타내는 두 개의 LBA (8 바이트) 값을 저장합니다.


답변

이전 버전과의 호환성

MBR 파티션 테이블의 파티션 항목에는 파티션의 시작을 저장하기위한 4 바이트 (32 비트)와 파티션의 길이를 저장하는 또 다른 4 바이트가 있습니다. 이를 변경하면 기존 소프트웨어가 더 이상 MBR을 읽을 수 없습니다.

이전 버전과의 호환성에 대해 크게 신경 쓰지 않는다면 왜 변경을 그만 두어야합니까? MBR (4 개의 기본 파티션으로 제한)에 다른 문제가 있으므로, 새롭고 더 나은 표준을 만드는 것이 어떻습니까? GPT라고도합니다.


답변