Convert MBR to GPT and create/repair EFI
Scope
Use this procedure when:
- the Windows system disk is currently MBR
- the machine is booted from Sergei Strelec WinPE
- the target is to boot Windows in UEFI mode
- Paragon will be used for MBR to GPT conversion
-
diskpart and bcdboot will be used for EFI work
- data is present on the disk
Warning
Backup required: This procedure is written for a disk that contains data and is intended to preserve it. Partition and boot changes still carry risk. Proceed only after verifying a good backup.
Important notes
- This procedure is written for a disk that contains data and must be changed with minimum impact.
- Do not use
diskpart convert gpt on a disk with data.
- Confirm the machine supports UEFI boot.
- Confirm you are working on the correct disk.
- In WinPE, Windows may not be on
C:.
- Do not delete existing partitions unless absolutely necessary.
- This procedure always creates a new EFI partition after shrinking the Windows volume.
- The MSR partition is optional and does not affect boot success.
Variables
Placeholder |
Meaning |
DISKNO |
Windows physical disk number |
OSVOL |
Windows volume number |
S: |
EFI partition drive letter |
W: |
Windows drive letter in WinPE |
Step 1 - Identify the correct disk and Windows partition
Open
Command Prompt and run:
diskpart
list disk
select disk DISKNO
list partition
list volume
exit
Find the real Windows drive letter:
dir C:\Windows
dir D:\Windows
dir E:\Windows
dir F:\Windows
Record:
Step 2 - Convert the disk from MBR to GPT with Paragon
- Open Paragon from Sergei Strelec
- Select the correct Windows disk
- Run Convert MBR disk to GPT disk
- Apply the operation
- Close Paragon
Verification / if unsure
Run:
diskpart
list disk
exit
The disk should show a
* under the
GPT column.
Step 3 - Shrink the Windows volume
Shrink the Windows volume to create space for the new EFI partition.
Run:
diskpart
select volume OSVOL
shrink desired=300 minimum=260
exit
Notes:
- This procedure assumes you will always shrink the Windows volume before creating the EFI partition.
-
desired=300 creates enough room for a 260 MB EFI partition and usually leaves a small margin.
- If shrink fails, verify the correct volume is selected and try again carefully.
Verification / if unsure
Run:
diskpart
select disk DISKNO
list partition
exit
Confirm that unallocated space now exists on the disk.
Step 4 - Create the EFI partition
Create a new EFI system partition in the space created by the shrink.
Run:
diskpart
select disk DISKNO
create partition efi size=260
format quick fs=fat32 label="EFI"
assign letter=S
exit
Notes:
- The EFI partition must be FAT32.
- It is used by UEFI firmware to load Windows boot files.
- This procedure creates a new EFI partition and then writes fresh boot files to it.
Verification / if unsure
Run:
diskpart
list volume
select disk DISKNO
list partition
exit
Confirm:
-
S: is assigned to the EFI partition
- the EFI partition is FAT32
- the EFI partition is about
260 MB
Step 5 - Optional: create the MSR partition
The
MSR partition is the
Microsoft Reserved Partition.
What it is:
- a small reserved GPT partition used internally by Windows
- it is not formatted
- it does not get a drive letter
- it is not required for booting
When to create it:
- create it if you want the disk layout closer to a standard Microsoft GPT layout
- create it if your internal standards require it
- create it only if you have enough free space and want the extra layout completeness
When to skip it:
- skip it if the main goal is safe conversion with minimum changes
- skip it if space is limited
- skip it if you only need the machine to boot properly in UEFI mode
Run only if you want to create it:
diskpart
select disk DISKNO
create partition msr size=16
exit
Verification / if unsure
Run:
diskpart
select disk DISKNO
list partition
exit
Confirm that a small
16 MB MSR partition exists.
Step 6 - Write UEFI boot files
Run:
bcdboot W:\Windows /s S: /f UEFI
Expected result:
Boot files successfully created.
Verification / if unsure
Check the Windows path:
dir W:\Windows
Check that EFI boot files exist:
dir S:\EFI
dir S:\EFI\Microsoft
dir S:\EFI\Microsoft\Boot
If
bcdboot fails:
- confirm
W:\Windows is the correct Windows path
- confirm
S: is the FAT32 EFI partition
- run
bcdboot again after correcting the drive letters
Step 7 - Reboot in UEFI mode
- Enter BIOS/UEFI setup
- Change boot mode from Legacy/CSM to UEFI
- Make sure Windows Boot Manager is available
- Put Windows Boot Manager first if needed
- Remove the USB stick and boot from the internal disk
Verification / if unsure
If the machine does not boot:
- confirm the disk is GPT
- confirm BIOS/UEFI is set to UEFI
- confirm Windows Boot Manager is selected
- if needed, boot back to WinPE and run:
bcdboot W:\Windows /s S: /f UEFI
Completion checklist
- Paragon converted the disk to GPT
- Windows volume was shrunk successfully
- EFI partition exists and is FAT32
-
bcdboot completed successfully
- Firmware is set to UEFI
- Windows boots without the USB stick
Printable Field Sheet
MBR to GPT Conversion and EFI Repair/Create - Field Checklist
Backup required. Use only after verifying a good backup.
| Step |
Check |
Done |
| 1 |
Booted from Sergei Strelec WinPE |
[ ] |
| 2 |
Correct disk and Windows partition identified |
[ ] |
| 3 |
Disk converted with Paragon |
[ ] |
| 4 |
Windows volume shrunk successfully |
[ ] |
| 5 |
New EFI partition created and assigned letter S: |
[ ] |
| 6 |
MSR partition created if required |
[ ] |
| 7 |
bcdboot completed successfully |
[ ] |
| 8 |
BIOS/UEFI changed to UEFI and Windows Boot Manager selected |
[ ] |
| 9 |
System boots without USB |
[ ] |
Step 1 - Boot from USB
Boot from
Sergei Strelec WinPE.
Step 2 - Identify disk and Windows letter
Find the correct disk and Windows partition.
diskpart
list disk
select disk DISKNO
list partition
list volume
exit
dir C:\Windows
dir D:\Windows
dir E:\Windows
dir F:\Windows
Step 3 - Convert disk with Paragon
Convert the correct disk from
MBR to
GPT.
Step 4 - Shrink Windows volume
Create space for the new EFI partition.
diskpart
select volume OSVOL
shrink desired=300 minimum=260
exit
Step 5 - Create new EFI partition
Create the new UEFI boot partition.
diskpart
select disk DISKNO
create partition efi size=260
format quick fs=fat32 label="EFI"
assign letter=S
exit
Step 6 - Optional MSR partition
MSR = Microsoft Reserved Partition.
Not needed for boot.
Create only if your standard requires it or you want a more complete GPT layout.
Skip it if the goal is minimum change and reliable boot repair.
diskpart
select disk DISKNO
create partition msr size=16
exit
Step 7 - Write UEFI boot files
Write Windows boot files to the EFI partition.
bcdboot W:\Windows /s S: /f UEFI
Step 8 - Set firmware boot mode
Set firmware to
UEFI. Select
Windows Boot Manager.
Step 9 - Final boot test
Remove the USB stick and confirm Windows boots from the internal disk.