티스토리 뷰
GPT
GPT 의미
GPT는 GUID Partition Table으로, 물리적인 하드디스크에 대한 파티션 테이블 레이아웃 표준
GPT 구조
Protective MBR 부분과 GPT 헤더, GPT 엔트리, 백업부분으로 구성
Protective MBR 부분 : 기존 MBR과 호환할 수 있음
GPT 헤더 : 시그니처, 헤더 크기, 파티션 테이블의 최대 수, 각 엔트리의 크기의 정보를 가짐
GPT 영역의 맨 처음에 위치한 부분, 즉 LBA 1은 GPT Header
GPT Header 구조체 정보 (이름 / 위치 / 내용)
| Signature | 0 | GPT Header 시그니처 ‘EFI PART’ |
| Revision | 8 | Revision 번호 |
| Header Size | 12 | GPT Header의 크기 |
| CRC32 of header | 16 | GPT Header의 CRC32 값 |
| Reserved | 20 | 예약 영역 |
| Current LBA | 24 | GPT Header의 LBA |
| Backup LBA | 32 | Backup GPT Header의 LBA |
| First usable LBA for partition | 40 | GPT로 정의된 Disk 영역에서 사용할 LBA 시작 위치 |
| Last usable LBA for partition | 48 | GPT로 정의된 Disk 영역에서 사용할 LBA 끝 위치 |
| Disk GUID | 56 | Disk 고유번호, Little-Endian UUID |
| Partition Entries starting LBA | 72 | Partition Entry가 시작하는 LBA 위치 |
| Number of partition entries | 80 | Partition Entry의 개수 |
| Size of partition entry | 84 | Partition Entry의 크기 |
| CRC32 of partition array | 88 | Partition Entry Group의 CRC32 값 |
GPT 엔트리 : 파티션 타입과 GUID, LBA의 시작과 마지막 번지수, 파티션 이름 등의 정보를 가짐
GPT Partition Entry 정보 (이름 / 위치 / 내용)
| Partition type GUID | 0 | Partition Type을 표시하는 정보, 각 Partition의 File System과 사용하는 운영체제 및 서버 정보 확인 |
| Unique partition GUID | 16 | 각 Partition마다 할당하는 고유 값 |
| First LBA | 32 | 해당 Partition이 시작되는 LBA |
| Last LBA | 40 | 해당 Partition이 끝나는 LBA |
| Attribute flags | 48 | Partition의 속성을 정의 (System Partition, 구 BIOS Booting 방식, 숨김, 읽기전용 등) |
| Partition Name | 56 | Partition 이름을 저장 |
Backup Partition Table : 디스크 끝 영역에 저장하여, 주 Partition Table의 손상이 발생한 경우 복구를 수행
GPT 특징
MBR과 비교해서, GPT는 다음과 같은 특징을 지님
| GPT | MBR |
| LBA 주소 체계 사용 | CHS 주소 체계 사용 |
| Core Firmware에 이를 내장하여 구동 (Boot 코드를 조작하는 MBR Rootkit에 대한 방어 능력 높임) | Disk의 해당 섹터에 부팅을 위한 코드를 기억 |
| 최대 디스크 및 파티션 크기를 9.4ZB까지 허용 | 파이션 테이블의 경우, 하나의 디스크 파티션 크기를 최대 2.2TB로 제한 |
| 128개의 주 파티션 생성할 수 있음 | 4개의 주 파티션 생성할 수 있음 |
