2

I recently bought a refurbished Dell Optiplex 7010 tower and I upgraded the BIOS version of the computer to a recent one released in 2018 {A29}. So I read some graphics card are not compatible with the legacy bios mode, they need to work with a secure(UEFI) bios mode. So I headed over to the BIOS to try and change that but the uefi boot mode rendered my OS completely un-bootable. I switched back to legacy mode and the system was up and running again. Does this mean in order to be able to use the uefi mode I have to use install a new operating system on the machine?

I am running Windows 10 on my machine.

1
  • 2
    there is a way to boot windows installed in legacy mode on uefi - best part is you don't need to reinstall and worst part is it's flaky and requires detailed info ; rodsbooks.com/gdisk/hybrid.html
    – Madhubala
    May 17, 2021 at 9:34

2 Answers 2

10

Here's a long technical explanation.

The short version is: in Windows boot modes are tied to specific partition table styles. You were booting in BIOS mode, so your partition table uses MBR style. To boot in UEFI mode, you need a GPT partition table.

Recent versions of Windows come with a mbr2gpt tool that will do the conversion without data loss given that some prerequisites are met. If they are not, the tool should fail gracefully.

After the conversion Windows will not be able to boot until you switch to UEFI boot mode. Make sure your backups are up to date before proceeding.

Open an administrator's command prompt: press Win, type cmd and press Ctrl+Shift+Enter. Confirm the UAC dialog if it appears.

First type mbr2gpt /validate /allowFullOS Enter. Hopefully you'll see a "Validation completed successfully" message. That means that the prerequisites are met. Use mbr2gpt /convert /allowFullOS Enter to proceed with the conversion. Then reboot into BIOS and change boot mode.

If the validation fails, you're out of luck. It's possible to convert such systems, but it's not straightforward and the procedure differs on case-by-case basis, so for a beginner I'd recommend reinstalling Windows instead. You may also have to manually erase the partition table in this case (this will destroy all your data). You can do this in the Windows installer by pressing Shift+F10, entering diskpart Enter, then select disk 0 Enter and clean Enter.

5
  • 1
    This is what am geting when i run cmd as admin and type mbr2gpt /validate ERROR: MBR2GPT can only be used from the Windows Preinstallation Environment. Use /allowFullOS to override.
    – Dong Li
    May 17, 2021 at 6:57
  • So i need to install a fresh copy of windows?
    – Dong Li
    May 17, 2021 at 6:57
  • 3
    Okay, I've skimmed over an important part of the documentation :) Either add /allowFullOS as instructed, or use this command after booting from a Windows installation USB and pressing Shift+F10.
    – gronostaj
    May 17, 2021 at 7:07
  • 1
    I got this message, now next step MBR2GPT: Validating layout, disk sector size is: 512 bytes MBR2GPT: Validation completed successfully
    – Dong Li
    May 17, 2021 at 10:02
  • 1
    Looks like it worked, Thanks for your help, i really appreciate it. 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 Call WinReReapir to repair WinRE MBR2GPT: Failed to update ReAgent.xml, please try to manually disable and enable WinRE. MBR2GPT: Before the new system can boot properly you need to switch the firmware to boot to UEFI mode!
    – Dong Li
    May 17, 2021 at 10:20
4

Since GPT is not by standard required for UEFI booting, you can stick with the MBR partition table and shrink the main system partition by 512M (or even less) and create an EFI System Partition with the gained space.

Then use bcdboot with /f UEFI to install the UEFI variant of Windows Boot Manager to it, which will make the installation bootable by either native UEFI or "BIOS" (i.e. the CSM).

I have never actually tried create partition efi in diskpart when legacy booted an MBR installation or use bcdboot with /f UEFI but without /s [drive_letter]:. At least it will work with a "normal" primary partition that is FAT32-formatted. (You'll then need to change its partition type code to 0xef with e.g. fdisk in Linux though.)

2
  • 2
    Have you actually tried this? I never got Windows to boot in EFI mode on an MBR drive.
    – gronostaj
    May 17, 2021 at 8:04
  • @gronostaj Yes, but quite sometime ago (some older build of Win10).
    – Tom Yan
    May 17, 2021 at 8:10

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .