mbr2gpt.exe는 Windows 10에 기본 내장된 콘솔 도구로, 기존 파티션을 삭제하지 않고 데이터 손실 없이 MBR(Master Boot Record) 파티션 테이블 디스크를 GPT(GUID Partition Table)로 변환할 수 있습니다. mbr2gpt 도구는 Windows PE(Windows 사전 설치 환경)뿐만 아니라 실행 중인 Windows 10에서도 직접 사용할 수 있습니다. 이 도구를 활용하면 데이터 디스크(비시스템 디스크)는 물론, Windows 10이 설치된 시스템 디스크도 /allowFullOS 옵션을 사용하여 MBR에서 GPT로 변경할 수 있습니다.
MBR2GPT 도구의 작동 원리
mbr2gpt.exe 도구는 Windows 10 빌드 1703(Creators Update)부터 Windows 10 이미지에 포함되어 있습니다. mbr2gpt를 사용하면 이전 Windows 10 빌드(1507, 1511, 1607)에서도 오프라인 모드로 디스크를 MBR에서 GPT로 변환할 수 있습니다. 단, 그 이전 버전의 Windows(Windows 7/8.1)는 공식적으로 지원되지 않습니다.
참고: 이전에는 서드파티 도구인 gptgen을 사용하여 비시스템 디스크를 기존 파티션을 유지한 채 MBR에서 GPT로 변환할 수 있었습니다. 하지만 시스템 디스크를 변환하려면 디스크를 완전히 초기화하고, GPT 파티션 테이블과 새 파티션을 생성한 후 Windows 10을 클린 설치해야 했습니다.
MBR2GPT 공식 문서에 따르면, 디스크 파티션 테이블을 GPT로 변환하려면 다음 조건을 충족해야 합니다.
- 현재 디스크의 파티션 테이블이 MBR이어야 합니다.
- 디스크 시작 부분과 끝 부분에 기본(primary) 및 보조(secondary) GPT 테이블을 배치할 수 있는 여유 공간이 있어야 합니다.
- MBR 테이블에는 최대 3개의 파티션만 존재해야 하며, 그중 하나는 활성(active) 파티션이어야 합니다(추가 파티션과 논리 파티션은 존재하면 안 됩니다).
- BCD 구성에 Windows 파티션을 가리키는 부트 레코드가 있어야 합니다.
mbr2gpt가 MBR 디스크를 GPT로 변환하는 과정은 다음과 같습니다.
- 디스크 검사를 수행합니다.
- EFI(ESP) 시스템 파티션이 없는 경우, 기존 파티션의 여유 공간을 활용하여 새로 생성합니다(여유 공간이 부족하면 "
cannot find room for the EFI system partition" 오류가 발생합니다). - UEFI 부팅 파일을 EFI 파티션으로 복사합니다.
- GPT 메타데이터와 파티션 테이블을 디스크에 적용합니다(MBR 파티션 테이블이 기존 파티션의 데이터를 유지한 채 GPT로 변환됩니다).
- BCD 부트로더 구성을 업데이트합니다.
MBR2GPT 도구의 기본 구문은 다음과 같습니다.
mbr2gpt /validate|convert [/disk:] [/logs:] [/map:=] [/allowFullOS]
- /validate – 파티션 테이블을 GPT로 변환할 수 있는지 디스크만 검증합니다(디스크 시작 부분에 16KB + 2섹터, 끝 부분에 16KB + 1섹터의 여유 공간 확인 포함).
- /convert – 검증이 성공적으로 완료되면 디스크 변환을 시작합니다.
- /disk: – GPT로 변환할 디스크 번호를 지정합니다. 번호를 지정하지 않으면 시스템 디스크가 변환됩니다(Diskpart의
select disk system명령과 유사). - /logs: – MBR2GPT가 로그 파일을 기록할 디렉터리 경로를 지정합니다. 경로를 지정하지 않으면
%windir%폴더가 사용됩니다. 로그 파일은 diagerr.xml, diagwrn.xml, setuperr.log, setupact.log입니다. - /map: – MBR과 GPT 간의 추가 파티션 테이블 매핑을 지정할 수 있습니다. 예를 들어, /map:42={af9b60a0-1431-4f62-bc68-3311714a69ad}와 같이 사용합니다. MBR 파티션 번호는 10진수로, GPT GUID는 구분 기호를 포함하여 지정합니다. 여러 매핑을 한 번에 지정할 수도 있습니다.
- /allowFullOS – 기본적으로 MBR2GPT는 Windows PE에서만 사용할 수 있습니다. 이 매개변수를 사용하면 실행 중인 Windows 10에서 직접 시스템 디스크를 변환할 수 있습니다. 이 옵션 없이 Windows 환경에서 mbr2gpt를 실행하면
ERROR: MBR2GPT can only be used from the Windows Preinstallation Environment. Use /allowFullOS to override.오류가 발생합니다.
Windows 10에서 데이터 손실 없이 MBR을 GPT로 변환하기
MBR에서 GPT로의 디스크 변환 작업은 되돌릴 수 없습니다. 변환을 진행하기 전에 반드시 컴퓨터가 UEFI를 지원하는지 확인하세요.
디스크 파티션 테이블을 변환하기 전에, 먼저 현재 시스템 디스크가 MBR에서 GPT로 변환 가능한지 검증해 보겠습니다.
mbr2gpt.exe /disk:0 /validate /Logs:C:\logs /allowFullOS
MBR2GPT: Attempting to validate disk 0 MBR2GPT: Retrieving layout of disk MBR2GPT: Validating layout, disk sector size is: 512
MBR2GPT: Validation completed successfully 메시지가 표시되면 해당 디스크를 변환할 수 있다는 의미입니다. 반면 MBR2GPT: Disk layout validation failed 메시지가 나타나면 조건을 충족하지 못해 변환이 불가능한 디스크라는 뜻입니다.
또 다른 일반적인 오류인 Cannot find OS partition(s) for disk 0은 대부분 서드파티 부트로더를 사용하거나 잘못된 디스크를 변환 대상으로 지정한 경우에 발생합니다. 이 경우 Windows 부팅 파일을 시스템 파티션으로 이동(bcdboot c:\Windows /f bios /s c:)하고, BCD의 WinRE 환경 항목이 올바른지 확인(reagentc /disable && reagentc /enable)해 보세요.
팁: 시스템 디스크가 BitLocker로 암호화되어 있다면, 변환 전에 반드시 복호화해야 합니다.
이제 시스템 디스크의 파티션 테이블을 변환할 수 있습니다.
mbr2gpt.exe /convert /disk:0
MBR2GPT will now attempt to convert disk 0. If conversion is successful the disk can only be booted in GPT mode. These changes cannot be undone! MBR2GPT: Attempting to convert disk 0 MBR2GPT: Retrieving layout of disk MBR2GPT: Validating layout, disk sector size is: 512 bytes MBR2GPT: Trying to shrink the system partition MBR2GPT: Trying to shrink the OS partition MBR2GPT: Creating the EFI system partition MBR2GPT: Installing the new boot files MBR2GPT: Performing the layout conversion MBR2GPT: Migrating default boot entry MBR2GPT: Adding recovery boot entry MBR2GPT: Fixing drive letter mapping MBR2GPT: Conversion completed successfully MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!
설치된 Windows 10에서 디스크를 MBR에서 GPT로 변환하는 작업은 몇 초 만에 완료됩니다.
새로 생성된 EFI 파티션으로 부팅하려면, 컴퓨터의 펌웨어 설정을 UEFI 모드로 변경해야 합니다. 컴퓨터를 재시작한 후 UEFI 설정에서 부팅 모드를 Legacy(BIOS)에서 UEFI(Pure)로 변경하고 설정을 저장하세요.
이후 Windows 10이 정상적으로 부팅됩니다. msinfo32.exe를 실행하여 Windows 10이 BIOS 모드 = UEFI로 부팅되었는지 확인할 수 있습니다.
네이티브 UEFI 모드와 GPT 파티션 테이블로 전환하면 다음과 같은 주요 이점을 누릴 수 있습니다.
- 2TB 이상의 대용량 파티션 생성 가능
- Secure Boot를 통한 부팅 환경 보호
- ELAM(Early Launch Antimalware) 기술 지원
- Windows 10 Enterprise의 Device Guard 및 Credential Guard 기능 사용 가능
- Measured Boot 지원
Windows 10 설치 중 MBR을 GPT로 변환하기
mbr2gpt 도구는 Windows 10 설치 과정에서도 사용할 수 있습니다. 예를 들어, UEFI 부팅 USB를 만들어 UEFI 기반 컴퓨터에 MBR 파티션 테이블 디스크에 Windows 10을 설치하려고 하면 다음과 같은 오류가 발생합니다.
Windows cannot be installed to this disk. The selected disk has an MBR partition table. On EFI system, Windows can only be installed to GPT disks.
MBR 디스크의 기존 데이터 파티션을 잃고 싶지 않다면(Legacy 모드 또는 BIOS 컴퓨터에서 사용하던 디스크), Windows 10 설치 화면에서 직접 MBR 디스크를 GPT로 변환할 수 있습니다.
- Windows 10 설치 화면에서
Shift+F10키를 눌러 WinPE 환경의 명령 프롬프트를 엽니다. - 디스크 파티션 테이블을 GPT로 변환할 수 있는지 확인합니다.
mbr2gpt /validate명령을 실행합니다. Validation completed successfully메시지가 반환되면 디스크를 변환할 수 있습니다.Failed to retrieve geometry for disk -1오류가 발생하면 컴퓨터에 여러 개의 디스크가 연결되어 있을 가능성이 높습니다.diskpart→list disk명령을 실행하여 디스크 번호를 확인한 후,mbr2gpt /validate /disk:0과 같이 디스크 번호를 지정하여 검증할 수 있습니다.- 디스크 파티션 테이블을 변환하려면
mbr2gpt /convert명령 또는 디스크 번호를 지정한mbr2gpt /convert /disk:0명령을 실행합니다. - mbr2gpt 도구는 새로운 EFI 시스템 파티션(부팅 파티션)을 생성하고, Windows 부트로더를 복사한 후 파티션 테이블을 GPT로 변환합니다(기존 파티션은 그대로 유지됩니다). 이후 Windows 10 설치 화면으로 돌아가 디스크 선택 화면에서 새로 고침(Refresh) 버튼을 클릭하고, 선택한 파티션에 Windows 10을 설치하기만 하면 됩니다.
MBR2GPT의 알려진 문제점
mbr2gpt로 파티션 테이블을 변환한 후에는 주로 BitLocker와 Hyper-V(Windows 10 Pro 및 Enterprise 에디션에서 사용 가능) 관련 문제가 발생하는 경우가 많습니다.
시스템 디스크를 변환한 후 BitLocker를 활성화하려고 하면 The system cannot find the file specified 오류 메시지가 나타날 수 있습니다. 이는 대부분 Windows 복구 환경(WinRE)의 문제입니다.
이 경우 %windir%\System32\Recovery\ReAgent.xml 파일의 이름을 변경한 후 BitLocker를 활성화해 보세요(새로운 ReAgent.xml 파일이 자동으로 생성됩니다).
또한 Hyper-V 가상 머신을 시작할 때 다음과 같은 오류가 발생할 수 있습니다.
Virtual machine could not be started because the hypervisor is not running.
이 오류를 해결하려면 BCD 구성에서 Hyper-V 자동 시작을 활성화해야 합니다.
BCDEDIT /Set {current} hypervisorlaunchtype auto
이전 버전의 Windows(7/8.1)가 설치된 디스크를 변환하려고 하면 mbr2gpt cannot install new boot files 오류가 발생합니다. 이 경우 먼저 Windows 10으로 in-place 업그레이드를 수행한 후에 파티션 테이블을 변환하는 것이 좋습니다.