티스토리 뷰
GPT(GUID Partition Table) Partition Structure
Noctis41 2025. 2. 4. 22:001. GPT 개요
GPT(GUID Partition Table)는 기존 MBR(Master Boot Record) 파티션 테이블의 용량 및 보안 제약을 개선하기 위해 개발된 파일 시스템입니다. GPT는 MBR의 2TB(0xFFFFFFFF) 한계를 넘어 최대 8ZB(0xFFFFFFFFFFFFFFFF)까지 지원할 수 있습니다.
1.1 GPT의 특징
- 최대 128개의 주 파티션을 생성 가능 (MBR은 4개 제한)
- CRC(Cyclical Redundancy Check)를 이용하여 파티션 테이블 보호 가능
- 중요 데이터 구조를 볼륨 끝에 복제하여 장애 발생 시 복구 가능
- 최신 EFI(Extensible Firmware Interface)와 함께 사용됨
2. EFI(Extensible Firmware Interface)
EFI는 인텔에서 BIOS의 대체 수단으로 제안한 펌웨어 인터페이스입니다. 현재는 UEFI(Universal Extensible Firmware Interface)로 발전하여 사용되고 있습니다.
2.1 EFI의 주요 특징
- GUI 인터페이스 제공
- 마우스 사용 가능
- Pre-OS 소프트웨어 실행 가능 (예: 시스템 복구, 인터넷 브라우저)
- 네트워크 기능 지원
- 다국어 지원 (한국어 포함)
3. GPT와 MBR 비교
구분 | MBR | GPT |
최대 주 파티션 개수 | 4개 | 128개 |
최대 디스크 크기 | 2TB | 18EB(이론상 8ZB) |
백업본 저장 | X | O |
사용 가능 환경 | BIOS | UEFI 및 BIOS 호환 |
CRC 보호 | X | O |
4. GPT 구조
GPT 디스크는 다음과 같은 논리적 구조를 가집니다.


- Protective MBR (0번 섹터)
- GPT를 지원하지 않는 시스템에서 디스크를 보호하기 위한 MBR
- 파일 시스템 타입: 0xEE (GPT 사용 여부 표시)
- GPT Header (1번 섹터)
- GPT의 메타데이터를 포함하는 헤더
- GPT 백업본 위치 정보 포함
- Partition Table (2번 섹터부터)
- 최대 128개의 파티션 정보를 저장하는 영역
- 사용 가능한 파티션 영역
- 실제 데이터가 저장되는 영역
- Backup GPT Header & Partition Table (디스크 마지막 섹터)
- GPT 헤더 및 파티션 테이블의 백업본
5. GPT Header 구조
GPT Header는 논리적으로 1번 섹터에 위치하며, 주요 구조는 다음과 같습니다.

필드 | 오프셋 | 크기(Byte) | 설명 |
Signature | 0x200 | 8 | "EFI PART" 값 저장 |
Revision | 0x208 | 4 | GPT 버전 (1.0) |
Header Size | 0x20C | 4 | GPT 헤더 크기 (보통 92 Byte) |
CRC32 of Header | 0x210 | 4 | 헤더의 무결성 체크 값 |
LBA of GPT Header | 0x218 | 8 | 현재 GPT Header의 LBA 주소 (보통 0x01) |
LBA of Backup GPT Header | 0x220 | 8 | GPT 헤더 백업 위치 |
Starting LBA for Partitions | 0x228 | 8 | 파티션 시작 위치 |
Ending LBA for Partitions | 0x231 | 8 | 파티션 끝 위치 |
Disk GUID | 0x238 | 16 | 디스크의 GUID |
Partition Table Entry Starting LBA | 0x248 | 8 | 파티션 테이블 시작 위치 |
Number of Partition Entries | 0x250 | 4 | 최대 파티션 엔트리 개수 (기본 128개) |
Size of Partition Table Entry | 0x254 | 4 | 파티션 엔트리 크기 (보통 128 Byte) |
CRC32 of Partition Table | 0x258 | 4 | 파티션 테이블의 무결성 체크 값 |
6. GPT Partition Entry 구조

GPT Partition Entry는 128 Byte 크기로, 하나의 섹터에 4개씩 저장됩니다.
필드 | 오프셋 | 크기(Byte) | 설명 |
Partition Type GUID | 0x400 | 16 | 파티션 유형 식별값 |
Unique Partition GUID | 0x410 | 16 | 파티션의 고유 GUID |
First LBA | 0x420 | 8 | 파티션의 시작 LBA |
Last LBA | 0x428 | 8 | 파티션의 끝 LBA |
Attribute Flags | 0x430 | 8 | 파티션 속성 값 (예: 시스템 파티션) |
Partition Name | 0x438 | 72 | 파티션 이름 (UTF-16 인코딩) |
7. GPT 보호 및 복구
7.1 Protective MBR
Protective MBR은 GPT를 지원하지 않는 운영체제에서 디스크를 보호하기 위해 사용됩니다. BIOS 기반 시스템에서 인식 가능하도록 설계되었으며, 파일 시스템 타입 값을 0xEE로 설정하여 GPT를 사용하는 디스크임을 표시합니다.
7.2 GPT 백업 구조
GPT는 주요 데이터 구조(헤더 및 파티션 테이블)를 디스크 마지막 부분에 백업합니다. 만약 GPT Header가 손상되면 백업 데이터를 사용하여 복구할 수 있습니다.
7.3 CRC32 체크섬
GPT는 CRC32를 사용하여 GPT Header 및 Partition Table의 무결성을 검증합니다. 손상된 경우 시스템이 이를 감지하고 복구 작업을 수행할 수 있습니다.
'Digital Forensics > File System' 카테고리의 다른 글
EXT4 파일 시스템 파일 삭제 원리 (0) | 2025.02.24 |
---|---|
NTFS 파일 시스템 삭제 원리 (0) | 2025.02.13 |
NTFS VBR(Volume Boot Record) (0) | 2025.02.04 |
MBR(Master Boot Record) Partition Structure (0) | 2025.02.04 |
FAT32 파일 구조 (1) | 2025.02.04 |