Getting Started with MBR2GPT

devices-windows-10-creators-update-banner

In my previous post, BIOS to UEFI made easier with Windows 10 Creators Update, I uncovered a hidden gem in the 15007 build of the Windows 10 Enterprise Insider Preview called MBR2GPT. The benefits of this MBR to GPT conversion utility is that it makes it easier to convert systems from BIOS to UEFI and be able to take advantage of all the security features that comes in Windows 10 like Secure Boot, Device Guard and Credential Guard (to name a few). Currently, in order to stay supported by Microsoft, the hard disk needs to be completely repartitioned and formatted when switching from MBR to GPT. This is a destructive process and requires the user data to be backed up off of the hard drive, applications to be re-installed and then the user data restored once the new OS is up and running. Without the proper tools (shameless plug – see the 1e Windows 10 Now Solution), this can be a cumbersome task.

You still want to put some thought into applications as it relates to an in-place upgrade. There will be some applications that will be upgrade blockers (mainly 3rd party antivirus that is not compatible with the Windows 10 in-place upgrade process or 3rd party disk encryption) and need to be uninstalled prior to the in-place upgrade. There will also be applications that you will want upgraded – do you really want to run Office 2003 which may have been your standard on Windows 7 on Windows 10 or would you like to uplift it to Office 365 as part of the process? You might also want to replace an application with a less costly application (like swapping an expensive FTP client with a less expensive one). And lastly, you might want to uninstall applications that are not used in order to reduce your security foot print and eliminate unnecessary patching. These are things to consider when venturing down the in-place upgrade deployment method.

Applications aside for now, let’s get back to MBR2GPT…

You are probably wondering what are the options for using this utility – well, I can tell you if you have already deployed Windows 10 to BIOS systems you are fortunately in luck. Also, if you have not even started your Windows 10 upgrade, you are also in luck. The basic upgrade process will look like the following:

Windows* running on BIOS > In-place upgrade to Windows 10 (probably Creators Update) – still running BIOS at this point > MBR2GPT > Vendor BIOS Settings > Reboot > Windows 10 running UEFI.

Where Windows* is any version that supports upgrading to a Windows 10 version that supports MBR2GPT (like Windows 7 SP1 x64, Windows 8/8.1 x64 and previous versions of Windows 10-1507/1511/1607).

Now that we have that covered, let’s see how this tool actually runs. Below, I have an Insiders build of Windows 10 Creators Update (note that this is build 15002 and that MBR2GPT is in 15007). As you can see, BIOS Mode is Legacy and there is a single hard disk with Master Boot Record(MBR) volume:

001-getting-started-mbr2gpt

I have copied the MBR2GPT utility from a 15007 build on to the C: drive of this system. Running MBR2GPT.exe /? displays the following help output:

001-mbr2gpt

First thing I want to do here is test it using the /validate switch to see if it is actually going to work and what kind of output is going to be displayed by running:

MBR2GPT.EXE /disk:0 /validate /allowFullOS

This results in the following on-screen output:

002-getting-started-mbr2gpt

And the following output is logged in %windir% in the setupact.log:

003-getting-started-mbr2gpt

Now, I am going to run the command without the /validate switch. Notice the additional output on the command line and refreshing the disk volume properties shows it to be GUID Partition Table (GPT):

004-getting-started-mbr2gpt

Next, this is where we would run the vendor tool to change the correct BIOS settings (we will do that later in a Task Sequence when we automate the process), but for now I am going to reboot and hit the proper key to get into the BIOS settings.

After making the necessary changes (and I even enabled Secure Boot), notice that System Information displays the BIOS Mode as UEFI with Secure Boot State set to On:

005-getting-started-mbr2gpt

This first look at the MBR2GPT conversion utility looks very promising. Hopefully in the coming months as we get closer to the release of Windows 10 Creators Update we will start to get more information on it as well as what versions of Windows 10 will support it.

In my next blog, Using MBR2GPT with Configuration Manager OSD, I am going to show how we can integrate MBR2GPT into an OSD Task Sequence.

Originally posted on https://miketerrill.net/

12 thoughts on “Getting Started with MBR2GPT

  1. Pingback: Using MBR2GPT with Configuration Manager OSD | Mike's Tech Blog

  2. Pingback: Using MBR2GPT with Configuration Manager OSD | Mike's Tech Blog

  3. Pingback: BIOS to UEFI made easier with Windows 10 Creators Update | Mike's Tech Blog

  4. Hi Mike,

    Could you confirm that this still be a destructive process for data hosted on the machine? I know that it’s written in the first paragraph but with the explaination after I’m not sure.
    Because it seems to beatiful to be true.

    Thank you

  5. Got the same error as Materrill attempting to perform a somewhat unsupported conversion during a OS refresh from Offline Windows 7 to Windows 10 1703 in a WinPE 10.0.14393 (1607):

    2017-05-03 01:18:27, Info MBR2GPT: Performing the layout conversion
    2017-05-03 01:18:27, Error LayoutConversion: Layout conversion failed. Error: 0x00000032[gle=0x00000032]
    2017-05-03 01:18:27, Error Cannot perform layout conversion. Error: 0x00000032[gle=0x00000032]
    2017-05-03 01:18:27, Info MBR2GPT: Partition information at error point

    Using process monitor I attempted to monitor what happened. I see that mbr2gpt utilizes the process vds.exe (Virtual Disk Service) and shows some errors that might be related to function requests to VDS that aren’t available in the winpe 10.0.14393 (1607)’s VDS.

    As soon as I grab a WinPE 10.0.15063 (1703), and run the same mbr2gpt command, it converts the volume beautifully.
    Before I run off to using the ADK 1703, I wanna make sure that the signature problem is fixed properly, causing requirement to disable Secure Boot. I didn’t see much follow up on that…
    In my opinion, 2 choices: go with ADK 1703’s WinPE, or attempt to ‘upgrade’ 1607 WinPE with 1703 binaries for the VDS service.

    • Stay on the supported path and use the WinPE from ADK 1703. If you don’t want to (or can’t) disable Secure Boot in order to install ADK 1703, then wait for a fix which is TBA.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s