How can I solve this MBR2GPT issue?

1

According to How can I migrate a Windows 10 from BIOS/MBR boot to UEFI/GPT without reinstalling? I can convert my system disk to GPT without reinstalling using the MBR2GPT tool, provided by Windows 10 CU. I'm also using Windows 10 Creators update at the moment.

I tried and I got an error about "not finding the OS partition".

This is the complete log:

2017-06-14 00:26:34, Info                         MBR2GPT was explicitly asked to run in full OS mode.
2017-06-14 00:26:34, Info                         MBR2GPT: System disk number is 0
2017-06-14 00:26:34, Info                         MBR2GPT: Attempting to validate disk 0
2017-06-14 00:26:34, Info                         MBR2GPT: Retrieving layout of disk
2017-06-14 00:26:34, Info                         MBR2GPT: Initial partition information
2017-06-14 00:26:34, Info                         ===========================================================
2017-06-14 00:26:34, Info                         Partition layout for disk: 0
2017-06-14 00:26:34, Info                         Partition style          : MBR
2017-06-14 00:26:34, Info                         MBR signature: 1967564465
2017-06-14 00:26:34, Info                         Number of partitions     : 2
===================PARTITION===============================
     Number: 1
       Type: 7
       Boot: Yes
 Recognized: Yes
      Style: 0
     Offset: 1048576
     Length: 499621322752
     Volume: \\?\Volume{7546a6b1-0000-0000-0000-100000000000}\
      Drive: C:\
    NT Path: \Device\HardDisk0\Partition1
===================PARTITION===============================
     Number: 2
       Type: 7
       Boot: No
 Recognized: Yes
      Style: 0
     Offset: 499628171264
     Length: 477078016
     Volume: \\?\Volume{7546a6b1-0000-0000-00e0-285474000000}\
      Drive: None
    NT Path: \Device\HardDisk0\Partition2
===========================================================
ESP partition size will be 104857600
MBR2GPT: Validating layout, disk sector size is: 512 bytes
Opening store. Flags: 0x0
Store path: "\??\GLOBALROOT\device\harddisk0\partition1\Boot\BCD"
Loaded hive at BCD00000000
Opening object {9dea862c-5cdd-4e70-acc1-f32b344d4795}
FindOSPartitions: Default boot entry: {ECE3CBB0-2B25-11E7-9886-AC950A4FD9A0}
Opening object {ece3cbb0-2b25-11e7-9886-ac950a4fd9a0}
VERBOSE: Device path: \Device\HarddiskVolume1
VERBOSE: Dos path: \\?\GLOBALROOT\Device\HarddiskVolume1
FindOSPartitions: Volume name for the default boot entry: \\?\Volume{7546a6b1-0000-0000-0000-100000000000}\
Opening object {1eb788fe-2b26-11e7-9886-ac950a4fd9a0}
GetOSDeviceVolume: Cannot get NT path for entry.[gle=0x000000ea]
FindOSPartitions: Cannot get volume name for the recovery boot entry. Error: 0x000000EA[gle=0x000000ea]
Cannot find OS partition(s) for disk 0[gle=0x000000ea]

It's not clear to me what's happening.

I know that my system originally had another SSD, from which I moved the OS to the current one using a Samsung tool and that later was used for Hackintosh with Chameleon (UEFI) bootloader. Now that disk is gone.

Still, Windows 10 is booting fine (without Secure Boot, of course). Why is the OS partition not found?

Important information

Since the question was asked, I formatted and started from scratch. I won't be able to test any answer, therefore no answer will be accepted. Anyone competent in the matter should use the opportunity to vote up or down any answer that will be eventually posted.

windows-10
mbr
gpt
boot-partition
asked on Super User Jun 13, 2017 by FarO • edited Apr 22, 2021 by ack

3 Answers

7

To clarify @merle 's VERY helpful answer - I had to run the command below to copy my working EFI boot data to a place where mbr2gpt could find it.

bcdboot c:\Windows /f bios /s c:

Once you've done this, you should be able to run mbr2gpt successfully.

Note: My system was already booting in UEFI mode to a MBR disk, which is why there was no BCD data in the typical location. This should fix that issue and allow mbr2gpt to do it's thing.

answered on Super User Dec 12, 2018 by Vince Anido
3

For my situation I was booting UEFI/MBR and I suspect that this may be the case too since you were using Chameleon UEFI bootloader.

MBR2GPT.exe assumes BIOS boot and checks the BIOS BCD store at

[System Partition]\Boot\BCD

instead of finding out where the actual system store resides. My BIOS BCD had invalid entries so MBR2GPT rightfully complained that it couldn't find the non-existent recovery volume. I replaced the BIOS BCD with the EFI BCD from

[System Partition]\EFI\Microsoft\Boot

and was able to run MBR2GPT.

C:\Windows\system32>MBR2GPT.EXE /convert /allowfullos

MBR2GPT will now attempt to convert the default book disk.
If conversion is successful the disk can only be booted in GPT mode.
These changes cannot be undone!

MBR2GPT: Attempting to convert disk 3
MBR2GPT: Retrieving layout of disk
MBR2GPT: Validating layout, disk sector size is: 512 bytes
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!
answered on Super User Jan 3, 2018 by merle
2

I have tried all of the mentioned solutions, but none of them worked for me. However, I found out what was the main reason for the problem and solved it. When I ran diskpart and saw the details of partitions, I found that only system reserved partition is marked "Active" while The "C" partition wasn't, so I just set it to Active then ran mbr2gpt and it worked.

  1. Run CMD.
  2. Type "diskpart" without the quotes.
  3. Type "list disk".
  4. Type "select disk #" replace the # with the disk number you want.
  5. Type "list partition".
  6. Type "select partition #" replace the # with the number of the system partition, not system reserved.
  7. Type "detail partition".
  8. You will see partition details. If you see "No" in front of "Active", then type "Active".

And you are good to go!

answered on Super User May 23, 2019 by Zabota

User contributions licensed under CC BY-SA 3.0