GPT 분석
Updated:
GPT 방식은 MBR 방식과 달리 파티션 하나당 2TB 이상의 용량을 사용할 수 있다. GPT 파티션 방식은 UEFI 모드, MBR 파티션 방식은 Legacy 모드로 설정 후 부팅한다. 이번 글에서는 GPT 분석을 통해 파티션의 위치와 개수를 찾는 방법에 대해 기술한다.
- GPT 구조
- Protected MBR(0번 섹터)
- GPT Header(1번 섹터)
- GPT (GUID Partition Table, 2번 섹터)
- Backup partition table (LBA n-32 = 262111 섹터)
- Backup GPT header (LBA n = 262143 섹터)
1. GPT 구조
2. Protected MBR(0번 섹터)
호환성을 위해 남겨둔 MBR
- partition type : 0xEE (GPT를 의미)
- LBA starting address : 0x1, 큰 의미 없다.
- size in sector : 0x FF FF FF FF, 큰 의미 없다.
3. GPT Header(1번 섹터)
- Header size : 0x5C, 92
- LBA of GPT header(this sector) : 0x01
- LBA of backup GPT header(last sector of disk) : 0x3FFFF, 262143 sector
- 마지막 섹터에는 Backup GPT header 가 존재한다.
- Starting LBA for partitions(defined in partition tables) : 0x22, 34 sector,
- Ending LBA for paritions(defined in partition tables) : 0x3FFDE, 262110 sector
- partition 을 위해 할당된 공간이 34~262110 섹터라는 의미로, 그 다음 262111번 섹터에는 Backup partition table 정보가 있다.
- Starting LBA of partition entries : 0x2, 2 sector
- Number of partition entries : 0x80, 128 개
- 표현가능한 파티션 개수
- Size of each entry : 0x80, 128 byte
4. GPT (GUID Partition Table, 2번 섹터)
한개의 엔트리당 128 byte 이며, 구조는 다음과 같다.
위의 정보를 통해 해당 디스크의 파티션이 총 6개라는 것과 각각에 할당된 범위를 알 수 있다.
Partition Number | Hex | Decimal |
---|---|---|
1 | 0x80 ~ 0xA07F | 128 ~ 41087 |
2 | 0xA080 ~ 0x1407F | 41088 ~ 82047 |
3 | 0x14080 ~ 0x1E07F | 82048 ~ 123007 |
4 | 0x1E080 ~ 0x2807F | 123008 ~ 163967 |
5 | 0x28080 ~ 0x3207F | 163968 ~ 204927 |
6 | 0x32080 ~ 0x3F07F | 204928 ~ 258175 |
Comments