상세 컨텐츠

본문 제목

GPT(GUID PAartition Table)?

For3nsic/Forensic

by LuCeT3 2020. 12. 20. 16:49

본문

반응형
흔히 하드디스크, SSD에서 부팅의 개념을 보게 되면 MBR(Mastser Boot Record)를 생각하게 된다.
나 또한 그렇게 생각을 했다. 문뜩 뜬금없이 생각이 났다.  내가 쓰는 컴퓨터의 MBR을 한번 봐야지!! 라고 생각을 하고 Hxd를 켜서 확인을 해보았다!! 엥? 근데 ㄷㄷ 뭔가 Partition부분이 음? 이란 생각이 들어서 확인을 해봤다.

MBR이 아닌 GPT 형식이였다. 그래서 GPT 구조를 이렇게 작성해본다.

 

먼저 왜 멀쩡히 잘쓰고 있는 MBR을 두고 GPT를 사용하는지 알아보자!

MBR(Master Boot Record)
 - 최대 4개의 Partition을 지원한다.
 - 2TB이상의 하드디스크에서 OS 부팅 및 최신 하드웨어 지원에 한계가 발생했다.

GPT(GUID Partition Table)
 - 최대 128개의 Partition을 지원한다.
 - 8ZB이하의 하드디스크 사용가능하다.

[참고] 위키백과 - GUID 파티션 테이블 구조

LBA(Logical Block Addressing) 0 - Protective MBR
 - BIOS를 사용하고 있는 시스템에서 GPT디스크를 인식하지 못하여 다른 행위(초기화, 덮어쓰기 등)이 되지 않도록 MBR 구조와 유사하게 첫 번째 섹터에 배치
 - MBR 보는 방법과 동일
 - MBR을 사용하는 이유
Why? MBR Based Utility에서 오작동을 일으키지 않도록 하기 위해서 사용

LBA 1(섹터 1)
 - Primary GPT Header
 - GPT에 대한 설정 정보 기록
 - GPT Header는 보통 92byte
 - 나머지 부분은 NULL 값
순서대로(→ 방향으로)
- GPT Signiture(8 byte) : EFI PART 기록
- GPT Version(4 byte) : GPT 버전 정보
- GPT Header Size(4 byte) : GPT 헤더 사이즈
- CRC32(Header Checksum(4 byte)) : 무결성 검증을 위한 CRC32 값(Header의 시작부터 끝나는 위치까지 체크가능)
- Reserved(4 byte) : 예약된 영역으로 사용하지 않음
- GPT Header Address(8 byte) : GPT 헤더의 위치
- Backup GPT Header Address(8 byte) : GPT 헤더 정보를 Backup한 Sector 위치 기록
- Partition Starting Address(8 byte) : 할당 가능한 영역 시작 위치 
- Partition Last Address(8 byte) : 할당 가능한 영역 마지막 위치 
- Disk GUID(16 byte) : Unix에 UUID(universally unique identifier)와 동일 즉, 식별하기 위한 값
- Partition Table Address(8 byte) : 파티션 테이블 주소
- Number of Partition Table(4 byte) : 파티션 테이블 갯수
- Partition Table Size(4 byte) : 파티션 테이블의 크기
- CRC32(Partition Table Checksum(4 byte)) : 파티션의 CRC32 값
백업 주소로 이동을 하게 되면 섹터 1번 값이 백업되있는 것을 확인할 수 있다.
AF 32 CF 1D 리틀엔디언으로 뒤집어서 계산


LBA 2(섹터2)
 - 각 파티션의 정보를 기록
 - MBR의 파티션 Entry에서 LBA 시작 주소는 4byte에 기록하지만 GPT 파티션 Entry에서의 LBA 시작 주소는 8byte에 기록
 - 128개의 파티션 정보를 기록 할 수 있음
 - 대부분의 경우 하나으 ㅣ파티션 Entry는 128 byte를 이용해서 기록
 - GUID를 이용하여 각 파티션의 정보를 알 수 있음

 

- Partition Type GUID(16 byte) : 파티션의 종류별 할당된 GUID
위키백과

- Partition GUID(16 byte) : 파티션 고유의 식별 값
- Partition Starting Address(8 byte) : 파티션의 시작 주소
- Partition Last Address(8 byte) : 파티션의 끝 주소
- Partition Attributes(8 byte) : 파티션 속성
위키백과

- Partition Name(72 byte) : 파티션(파일 시스템) 이름

 

이렇게 MBR이 아닌 GPT 구조를 알아보았다. 요즘 GPT도 많이 사용하다 보니 알아두면 좋을 것같다!!

 

그치만 아직까진 MBR도 많이 사용하니 둘다 알면 좋지않을까?

반응형

관련글 더보기

댓글 영역