How to install Windows 10 on GPT partition in Legacy BIOS mode

Microsoft only supports Windows installation on GPT partition in UEFI mode, this article will guide you to do this in Legacy BIOS mode.

Should I install Windows on GPT or MBR?

To install Windows on a GPT hard drive, you need to boot into UEFI mode and to install Windows on the MBR, you need to boot into the Legacy BIOS mode. This standard applies to all versions of Windows 10, Windows 7, 8, and 8.1.

Windows MBR does not work on GPT disks, it needs an ACTIVE partition. If you boot BOOTMGR from Grub2 or Grub4dos, it will not be able to find and read the BCD file on the GPT hard drive. Moreover, Windows can not complete the installation process in this case.

You may encounter the following error message if you do not meet this standard:

Windows cannot be installed to this disk. The selected disk is of the GPT partition style.
Windows cannot be installed to this disk. The selected disk is not of the GPT partition style.
Windows cannot be installed to this disk. The selected disk has an MBR partition table. On EFI system, Windows can only be installed to GPT disks.
GPT-formatted disk. Legacy boot not supported. Press any key to reboot.
Windows could not complete the installation. To install windows on this computer, restart the installation.

Windows cannot be installed to this disk. The selected disk is of the GPT partition style.

There is a common case that many models only support legacy booting if you choose direct USB, such as my HP EliteBook 8560W computer. In this case, you need to select the Boot from EFI file option in the Boot menu, then select the /EFI/BOOT/BOOTX64.EFI (64-bit) or /EFI/BOOT/BOOTIA32.EFI (32-bit) file to boot into UEFI.

If you move the hard disk to another computer that does not support the corresponding mode, you can convert MBR to GPT or convert GPT to MBR without losing data. There are many tools that can do this, AOMEI Partition Assistant can help you create a new boot partition to boot the OS installed on this disk in proper mode.

If you already know the above, but for some reason you still want to install Windows on GPT partition in Legacy BIOS, read on. There are a few tips in this article, please read the full article before doing anything.

Boot UEFI from Legacy using Clover Bootloader

Even if your computer does not support UEFI, you can simulate UEFI using Clover Bootloader. Here I will boot Clover Bootloader in Legacy mode, then boot into BOOTMGR in UEFI mode and install Windows 10 on GPT hard drive.

  1. First, you need to create Windows bootable USB with AIO Boot as well as install Clover Legacy. Run AIOCreator.exe, click the Bootloaders button and install Clover.
  2. Next, boot USB and boot Clover from Grub2 and choose to boot back to Grub2 (Grub2 will now be booted in UEFI mode).
  3. Select the WinPE & Setup menu to start the Windows installation that you created in step 1. Perform the installation as usual.
  4. The installer created the boot files during installation at this stage, waiting for the system to reboot. Boot into Clover but don’t select Grub2, select the Windows icon that the installer has created to continue the installation process.

This is probably the simplest and easiest way, you can install Clover Bootloader on your hard drive for convenient use instead of using USB.

Move the Windows operating system installed on MBR to GPT

Windows can not complete the installation process on the GPT partition, but it can completely run on the GPT partition once it is installed. If you already have a Windows operating system installed on your MBR hard drive, you can move it to a GPT hard drive. You can also install Windows onto a USB drive (Windows To Go), then move it to a GPT hard drive.

You can use DISM or tools like Acronis True Image, TeraByte Image for Windows to do this.

If you want to use Clover to boot as a new installation method above, you need to create the boot configuration file. Using bcdboot to do this, F: is the drive that has Windows installed.

bcdboot F:\Windows /s F: /f UEFI

Add new boot entry to Windows Boot Manager

You can do this in case you can boot into Windows Boot Manager in Legacy mode, such as your first hard disk is MBR, and Windows is installed on second hard disk (GPT or MBR), or you want to boot into Windows Boot Manager from USB.

Assigning a drive letter to the SYSTEM partition on the MBR disk, you can use Disk Management or diskpart to do this. Ignore if the partition has been assigned a drive letter (e.g., USB drive).

diskpart
list disk
select disk mbr_disk_number
list part
select part system_partition_number
assign letter=S
exit

Use the following command to create the boot configuration file on partition S: above, F: is the drive that has Windows installed:

bcdboot F:\Windows /s S: /f BIOS

Boot BOOTMGR from Grub2 and Grub4dos

BOOTMGR does not work on GPT disks in Legacy BIOS mode, but it works on ISO9660. And Grub2 also supports booting GPT disks in Legacy BIOS mode. You can package the boot configuration files into an ISO file, then boot it from Grub2 or Grub4dos.

How to install Windows 10 on GPT partition in Legacy BIOS mode

Create boot configuration files, F: is the drive that has Windows installed:

bcdboot F:\Windows /s F: /f BIOS

The Boot directory and the bootmgr file will be created, they will be in the root and hidden. Now you can create an ISO file containing this directory and file to boot it through Grub2 and Grub4dos. I use mkisofs to create the ISO file:

G:\AIO\Tools\mkisofs.exe -lJR ^
	-o F:\WindowsOnGPT.iso -V WindowsOnGPT ^
	-graft-points "Boot=F:\Boot" "bootmgr=F:\bootmgr"

Adding a menu for Grub2, the AIO Boot’s Grub2 configuration file is /AIO/Menu/Main.cfg. This code uses Grub4dos, Grub2 will boot Grub4dos directly with the commands. You can create an El Torito ISO file to boot with memdisk, but using Grub4dos will be much faster.

### Start WindowsOnGPT
menuentry "Boot Windows on GPT" {
	set opt="set iso_path=/WindowsOnGPT.iso;
			find --set-root --ignore-floppies --ignore-cd %iso_path%;
			map %iso_path% (0xff) || map --mem %iso_path% (0xff);map --hook;
			chainloader (0xff)/bootmgr"
	linux16	/AIO/Tools/grub4dos/grub.exe --config-file=${opt}
}
### End WindowsOnGPT

Adding a menu for Grub4dos, the AIO Boot’s Grub4dos configuration file is /AIO/Menu/Grub4dos.cfg:

title Boot Windows on GPT
set iso_path=/WindowsOnGPT.iso
find --set-root --ignore-floppies --ignore-cd %iso_path%
map %iso_path% (0xff) || map --mem %iso_path% (0xff)
map --hook
chainloader (0xff)/bootmgr

Here are some ways that I use to install Windows 10 on a GPT hard drive in Legacy BIOS, not yet tested with Windows 7 and Windows 8, 8.1, but I think it will work. Good luck!

 

Leave a Reply

Your email address will not be published. Required fields are marked *


2 thoughts on “How to install Windows 10 on GPT partition in Legacy BIOS mode”