And Brain said,
MBR(Master Boot Record) vs GPT(GUID Partition Table), Chat GPT 아님 본문
1. MBR(Master Boot Record) VS GPT(GUID Partition Table) ?
MBR(Master Boot Record)과 GPT(GUID Partition Table)은 디스크 파티션을 구성하는 방식입니다. 운영체제(OS)가 디스크를 인식하고 사용할 수 있도록 구조화하는 역할을 하며, BIOS/UEFI와 밀접한 관련이 있습니다.
2. MBR과 GPT 개요
2.1 MBR (Master Boot Record)
MBR은 디스크의 맨 첫 번째 512바이트(0번 섹터)에 저장된 데이터로, 시스템이 부팅될 때 중요한 역할을 합니다. 1983년에 도입되었으며, 기존 BIOS 시스템에서 부팅 디스크로 널리 사용되었습니다.
MBR은 다음과 같은 세 가지 중요한 요소로 구성됩니다.
부트 로더 (Boot Loader): 운영체제를 실행하는 첫 번째 코드
파티션 테이블 (Partition Table): 디스크의 파티션(저장 공간 구획) 정보
부트 시그니처 (Boot Signature): MBR이 올바른지 확인하는 값(0x55AA)
부트 로더 (Boot Loader)
부팅이 시작되면 CPU는 MBR의 첫 번째 섹터를 읽고 부트 로더를 실행합니다.
부트 로더는 운영체제(OS)의 위치를 찾아 실행하는 역할을 합니다.
Windows에서는 bootmgr, Linux에서는 GRUB, LILO 등이 이 역할을 수행합니다.
MBR의 부트 로더는 주로 446바이트 크기이며, 이 공간에 OS를 로드하는 기본 코드가 들어 있습니다.
파티션 테이블 (Partition Table)
MBR의 64바이트 영역(0x01BE ~ 0x01FD)에는 최대 4개의 파티션 정보를 저장할 수 있습니다.
각 파티션 엔트리는 16바이트 크기이며, 디스크의 저장 공간을 정의합니다.
MBR 방식에서는 기본적으로 4개까지만 지원하며, 추가 파티션이 필요할 경우 확장 파티션(Extended Partition)을 사용해야 합니다.
확장 파티션을 사용하면 논리 파티션(Logical Partition)을 만들어 추가 파티션을 구성할 수 있지만, 구조적으로 복잡해집니다.
부트 시그니처 (Boot Signature)
MBR의 마지막 2바이트(0x01FE ~ 0x01FF)에는 0x55AA라는 값이 저장됩니다.
이 값이 존재하면 부팅 가능한 디스크로 인식됩니다.
BIOS는 부팅 과정에서 MBR을 읽고 0x55AA를 확인하여 MBR이 올바른지 판단합니다.
만약 0x55AA가 없으면 디스크가 부팅 가능하지 않은 것으로 간주됩니다.
2.2 GPT (GUID Partition Table)
GPT는 MBR보다 발전된 디스크 구조이며, 최신 시스템에서 사용됩니다. UEFI(Unified Extensible Firmware Interface)와 함께 동작하며, 최신 OS 환경에서 더욱 안정적이고 강력한 기능을 제공합니다.
GPT의 주요 특징
이론적으로 8ZB(제타바이트)까지 지원하며, 실질적으로는 수백 개의 파티션을 만들 수 있음.
각 파티션이 고유한 GUID (Globally Unique Identifier)를 사용함.
MBR과 달리 디스크 시작 부분뿐만 아니라 끝부분에도 백업 파티션 테이블을 저장하여 복구가 가능함.
CRC32 체크섬 사용으로 데이터 무결성을 검증할 수 있음.
Windows 11 및 최신 Linux 배포판에서는 GPT를 기본적으로 요구함.
각 파티션 엔트리는 128바이트 크기로 저장되며, 각 파티션은 고유한 GUID를 가지므로 더 많은 정보를 저장할 수 있음.
GPT는 Protective MBR을 포함하여 MBR 기반의 운영체제에서도 최소한의 보호 기능을 수행할 수 있도록 함.
3. MBR과 GPT의 디스크 구조
3.1 MBR 디스크 구조 (512바이트 기준)
오프셋 | 크기(바이트 | 내용 |
0x0000 | 446 | 부트 로더 (Bootloader) |
0x01BE | 16 | 첫 번째 파티션 엔트리 |
0x01CE | 16 | 두 번째 파티션 엔트리 |
0x01DE | 16 | 세 번째 파티션 엔트리 |
0x01EE | 16 | 네 번째 파티션 엔트리 |
0x01FE | 2 | 부트 시그니처 (0x55AA) |
3.2 GPT 디스크 구조
GPT는 기본적으로 MBR보다 훨씬 더 강력한 구조를 가짐.
위치 | 크기 (바이트) | 내용 |
0 | 512 | Protective MBR (GPT를 보호하는 MBR) |
512 | 92 | GPT Header (GUID + CRC32 + 엔트리 위치 정보) |
1024 | 128 x N | 파티션 엔트리 배열 (각 128바이트, 일반적으로 128개 이상 가능) |
이후 | - | 사용 가능한 공간 (데이터 저장 영역) |
마지막 512 | 92 | 백업 GPT 헤더 |
마지막 1024 | 128 x N | 백업 파티션 엔트리 배열 |
4. Linux에서 MBR과 GPT 확인하기
MBR 또는 GPT 여부 확인
먼저, 시스템에서 사용 가능한 디스크 목록을 확인하세요:
lsblk
또는
sudo fdisk -l
디스크 목록이 확인되면, 해당 디스크가 /dev/sda 또는 /dev/nvme0n1 등의 이름을 가지고 있는지 확인한 후, 아래 명령어를 실행하세요:
sudo parted /dev/sda print
출력 값이 Partition Table: msdos이면 MBR, Partition Table: gpt이면 GPT입니다.
5. MBR과 GPT 변환 (※ 주의)
5.1 MBR → GPT 변환 (데이터 삭제됨)
sudo gdisk /dev/sdX # GPT 변환 실행
x # 전문가 모드 진입
z # 기존 MBR 삭제 후 GPT 변환
5.2 GPT → MBR 변환 (데이터 삭제됨)
sudo gdisk /dev/sdX
r # 복구 모드
f # GPT 파티션 테이블을 MBR로 강제 변환
7. MBR vs GPT 비교 정리
특성 | MBR | GPT |
지원 최대 디스크 크기 | 2TB | 8ZB |
최대 파티션 개수 | 기본 4개 (확장 파티션 가능) | 거의 무제한 |
부팅 방식 | BIOS | UEFI |
데이터 복구 | 불가능 | 백업 GPT 헤더로 가능 |
데이터 무결성 | 없음 | CRC32 체크섬 있음 |
OS 호환성 | 모든 OS 지원 | 최신 OS만 지원 |
MBR은 2TB 이하, 레거시 BIOS 부팅에서 사용.
GPT는 UEFI 기반, 대용량 디스크 및 안정성 요구 환경에서 사용.
새로운 시스템은 거의 GPT를 사용함.
'IT > CS' 카테고리의 다른 글
NTP(Network Time Protocol), 인프라 시간의 조율자 (0) | 2025.04.01 |
---|---|
DNS, 내가 너의 이름을 불러주었을 때, 나에게로 와 IP가 되었다 (0) | 2025.02.12 |
AMQP(Advanced Message Queuing Protocol), 브로커들의 룰 (0) | 2023.12.14 |
LLVM(Low Level Virtual Machine), 저수준의 세계로의 계단 (0) | 2023.06.15 |
ABI (Application Binary Interface), 응용 프로그램 이진 인터페이스 (0) | 2023.06.07 |