본문 바로가기

Forensics/Disk Forensics

GPT(GUID Partition Table)

인텔에서 BIOS의 대체 수단으로 EFI(Extensible Firmware Interface)를 표준으로 채택하였고 최근 많이 사용되는 EFI 시스템에서 사용되는 파티션 테이블 형식이 GPT 파티션이다. MBR과 같이 파티션 정보를 가지고 있지만 MBR 파티션 테이블의 용량 제약(2TB)을 극복하였다.

 

GPT 파티션은 파티션 타입에 0xEE를 사용한다. 전체적인 구조는 아래 그림과 같다. 크게 Protective MBR, Primary GPT, Secondary GPT 세 부분으로 나누어져 있다.

Secondary GPT는 Primary GPT의 동일한 백업으로 파티션의 제일 끝부분에 처리된다.

 

Protective MBR은 0번 섹터에 있으며 GPT 파티션 시작 위치가 저장되어 있다. 파티션의 최대 크기는 18EB까지 가능하다.

1. Protective MBR

MBR 구조와 동일한 위치에 GPT 파티션의 시작 위치를 같은 방식으로 저장한다. 파티션 타입과 LBA 형식의 시작 및 끝 주소는 16바이트 형식으로 저장되며, MBR의 Partition Type은 0xEE로 지정된다.

 

Protective MBR은 MBR 기반 프로그램이 잘못된 동작을 하지 않도록 방지하는 역할을 한다.

 

2. Primary GPT

GPT는 두 개의 영역, GPT 헤더(GPT Header)와 GPT 엔트리(GPT Entry)로 구성된다. 1번 섹터에는 GPT 헤더가 위치하며, 2번 섹터부터 GPT 엔트리가 저장된다. GPT 헤더에는 GPT에 대한 전체적인 정보가 기록되며, 최대 128개의 파티션을 저장할 수 있다.

 

- GPT Header

GPT 헤더는 일반적으로 92바이트 크기로 구성되며, 나머지 영역은 NULL 값으로 채워진다.

헤더에는 파티션의 시작 위치, 끝 위치, GUID 등의 정보가 기록되어 있다.

 

- GPT Partition Entry

2번 섹터에 위치하고 있으며 각 파티션 정보를 저장하고 있다. MBR의 파티션 주소는 4byte로 저장하지만 GPT 파티션 주소는 8byte에 기록된다. 하나의 섹터에 4개의 파티션 정보를 기록할 수 있고, 32개의 파티션 엔트리를 가질 수 있으므로 총 128개의 파티션 정보를 저장 가능하다. 또한 GUID를 기록하여 각 파티션 고유 정보를 확인 가능하다.

 

3. Secondary GPT

앞에 이야기하였듯 Primary GPT와 동일한 값을 가지고 있다. 그러나 Primary GPT는 GPT Header, GPT Entry 순서로 기록되어 있으나 Secondary GPT는 파티션 맨 끝에 순서가 반대로 저장되어 있다.

 

'Forensics > Disk Forensics' 카테고리의 다른 글

$UsnJrnl  (0) 2025.02.09
NTFS  (5) 2025.02.04
FAT  (0) 2025.02.03
파티션과 MBR  (0) 2025.02.03
파일시스템 관련 기본개념  (0) 2025.01.26