Conversion of MBR Disks to GPT
With the development of technologies, the MBR standard goes down in history. For example, Dell announced the end of support of their legacy boot hardware: https://www.dell.com/support/kbdoc/en-us/000125414/newer-dell-systems-unable-to-boot-to-internal-boot-device-in-legacy-boot-mode. In the future, other manufacturers will certainly move in this direction as well.
These changes may lead to a situation when previously created recovery tools with MBR partitions simply would not be restored to hardware that has only GPT support.
Read this article to get familiar with the conversion of MBR disks to GPT.
MBR2GPT Utility
MBR2GPT.EXE converts a disk from the Master Boot Record (MBR) to the GUID Partition Table (GPT) partition style without modifying or deleting data on the disk. The tool is designed to be run from a Windows Preinstallation Environment (Windows PE) command prompt, but can also be run from the full Windows 10 operating system (OS) by using the /allowFullOS option.
MBR2GPT.EXE is located in the Windows\System32 directory on a computer running Windows 10 version 1703 (also known as the Creator's Update) or later.
The tool is available in both the full OS environment and Windows PE. To use this tool in a deployment task sequence with Configuration Manager or Microsoft Deployment Toolkit (MDT), you must first update the Windows PE image (winpe.wim, boot.wim) with the Windows ADK 1703, or a later version.
You can use MBR2GPT to:
- Convert any attached MBR-formatted system disk to the GPT partition format. You cannot use the tool to convert non-system disks from MBR to GPT
- Convert an MBR disk with BitLocker-encrypted volumes as long as protection has been suspended. To resume BitLocker after conversion, you will need to delete the existing protectors and recreate them
- Convert operating system disks that have earlier versions of Windows 10 installed, such as versions 1507, 1511, and 1607. However, you must run the tool while booted into Windows 10 version 1703 or later, and perform an offline conversion
- Convert an operating system disk from MBR to GPT using Configuration Manager or MDT provided that your task sequence uses Windows PE version 1703 or later
- Offline conversion of system disks with earlier versions of Windows installed, such as Windows 7, 8, or 8.1 not officially supported. The recommended method to convert these disks is to upgrade the operating system to Windows 10 first, then perform the MBR to GPT conversion
After the disk has been converted to GPT partition style, the firmware must be reconfigured to boot in UEFI mode.
Make sure that your device supports UEFI before attempting to convert the disk
Disk Prerequisites
Before any change to the disk is made, MBR2GPT validates the layout and geometry of the selected disk to ensure that:
- The disk is currently using MBR
- There is enough space not occupied by partitions to store the primary and secondary GPTs:
- 16KB + 2 sectors at the front of the disk
- 16KB + 1 sector at the end of the disk
- There are at most 3 primary partitions in the MBR partition table
- One of the partitions is set as active and is the system partition
- The disk does not have any extended/logical partition
- The BCD store on the system partition contains a default OS entry pointing to an OS partition
- The volume IDs can be retrieved for each volume which has a drive letter assigned
- All partitions on the disk are of MBR types recognized by Windows or has a mapping specified using the /map command-line option
- If any of these checks fails, the conversion will not proceed and an error will be returned
Syntax
MBR2GPT /validate|convert [/disk:<diskNumber>] [/logs:<logDirectory>] [/map:<source>=<destination>] [/allowFullOS]
Examples
Validation example
In the following example, disk 0 is validated for conversion. Errors and warnings are logged to the default location, %windir%.
X:\>mbr2gpt /validate /disk:0
MBR2GPT: Attempting to validate disk 0
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512
MBR2GPT: Validation completed successfully
Conversion Example
In the following example:
- Using DiskPart, the current disk partition layout is displayed prior to conversion - three partitions are present on the MBR disk (disk 0): a system-reserved partition, a Windows partition, and a recovery partition. A DVD-ROM is also present as volume 0.
- The OS volume is selected, partitions are listed, and partition details are displayed for the OS partition. The MBR partition type is 07 corresponding to the installable file system (IFS) type.
- The MBR2GPT tool is used to convert disk 0.
- The DiskPart tool displays that disk 0 is now using the GPT format.
- The new disk layout is displayed - four partitions are present on the GPT disk: three are identical to the previous partitions and one is the new EFI system partition (volume 3).
- The OS volume is selected again, and detail displays that it has been converted to the GPT partition type of ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 corresponding to the PARTITION_BASIC_DATA_GUID type.
As noted in the output from the MBR2GPT tool, you must make changes to the computer firmware so that the new EFI system partition will boot properly.
X:\>DiskPart.exe
Microsoft DiskPart version 10.0.15048.0
Copyright (C) Microsoft Corporation.
On computer: MININT-K71F13N
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 F CENA_X64FRE UDF DVD-ROM 4027 MB Healthy
Volume 1 C System Rese NTFS Partition 499 MB Healthy
Volume 2 D Windows NTFS Partition 58 GB Healthy
Volume 3 E Recovery NTFS Partition 612 MB Healthy Hidden
DISKPART> select volume 2
Volume 2 is the selected volume.
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Primary 499 MB 1024 KB
* Partition 2 Primary 58 GB 500 MB
Partition 3 Recovery 612 MB 59 GB
DISKPART> detail partition
Partition 2
Type : 07
Hidden: No
Active: No
Offset in Bytes: 524288000
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
* Volume 2 D Windows NTFS Partition 58 GB Healthy
DISKPART> exit
Leaving DiskPart...
X:\>mbr2gpt /convert /disk:0
MBR2GPT will now attempt to convert disk 0.
If a 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!
X:\>DiskPart
Microsoft DiskPart version 10.0.15048.0
Copyright (C) Microsoft Corporation.
On computer: MININT-K71F13N
DISKPART> list disk
Disk ### Status Size Free Dyn Gpt
-------- ------------- ------- ------- --- ---
Disk 0 Online 60 GB 0 B *
DISKPART> select disk 0
Disk 0 is now the selected disk.
DISKPART> list volume
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
Volume 0 F CENA_X64FRE UDF DVD-ROM 4027 MB Healthy
Volume 1 D Windows NTFS Partition 58 GB Healthy
Volume 2 C System Rese NTFS Partition 499 MB Healthy Hidden
Volume 3 FAT32 Partition 100 MB Healthy Hidden
Volume 4 E Recovery NTFS Partition 612 MB Healthy Hidden
DISKPART> select volume 1
Volume 1 is the selected volume.
DISKPART> list partition
Partition ### Type Size Offset
------------- ---------------- ------- -------
Partition 1 Recovery 499 MB 1024 KB
* Partition 2 Primary 58 GB 500 MB
Partition 4 System 100 MB 59 GB
Partition 3 Recovery 612 MB 59 GB
DISKPART> detail partition
Partition 2
Type : ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
Hidden : No
Required: No
Attrib : 0000000000000000
Offset in Bytes: 524288000
Volume ### Ltr Label Fs Type Size Status Info
---------- --- ----------- ----- ---------- ------- --------- --------
* Volume 1 D Windows NTFS Partition 58 GB Healthy