Jump to content

Boot Windows on GPT disk with BIOS-only computer


Recommended Posts

As everybody knows, there are two majors partition scheme on PC : MBR and GPT. GPT has many more advantage than MBR, but I won't describe them here. GPT is used on all the Intel Mac by default and if you want to use MBR for your OS X install you'll have to patch your install. The best way is therefore to use GPT partition scheme. But if your computer doesn't have UEFI (BIOS only), some Windows editions like Windows 8/8.1 will refuse to install on GPT : because of Microsoft policy, only UEFI computer can use GPT as system drive.



EDIT : Before following this tutotrial, try a standard install ! This worked for Hervé.



Many peoples bypass this by creating an hybrid partition scheme GPT/MBR which consists of using GPT partition scheme with an MBR boot sector to start the windows bootloader. But this partition scheme is very dirty : you can read this article from Rod Smith which will convince you to not use it.
An other solution is to use the standard GPT (which is part of uefi specs) and emulate the UEFI bootloader. Tianocore/DUET is often used in all the tutoral I've seen ; but it's a little long to install and it won't work on all computer, according to Rod Smith (http://www.rodsbooks.com/bios2uefi/index.html). In the hackintosh world we have the best  :-P : Clover EFI bootloader.
Clover EFI is a fork of DUET which emulate Apple EFI on PC to boot OS X, but it can emulate UEFI too. 
Requirements :
- PC with a BIOS only  (no UEFI)
- a free HDD
What you can expect of this tuto :
- multi OS setup between EFI and legacy OS 
- a clean pure GPT partition table 
- Clover EFI bootloader
- a more "vanilla" OS X install
At this time, I do all my tests on a ThinkPad T410 with a BIOS and Windows 8.1 and I have a clean Windows install on GPT. I'm booting from an USB key with Clover installed on it. I just have to move Clover from the USB to the EFI part of my GPT disk and install OS X (I received it two days ago)
I will complete this tuto with more informations and screen later because I don't have a lot of time (Baccalauréat is coming for me...) but you can follow this short guide :
1 - Partition your hard drive with GPT ! you will lose your data ! You can use the program you want 
2- Create EFI partition : I used a Diskpart on a windows to go key to make sure windows detect the part is an EFI one 
3 - Create an MSR partition using diskpart (windows)
4 - Create the root file system (NTFS) of your windows install. Keep enough space at the end of the disk for OS X and/or Linux.
5- Prepare a Clover EFI boot key. There are a lot of tuto explaining this. 
6- Prepare an windows install usb install media. Clover didn't see the windows DVD for me, but it may work for some people. 
7 - Boot from the Clover USB and select your windows install media. Install windows on the partition you've made previously.
! It doesn't work for me ! The install failed. It worked with DUET so maybe it can work with Clover.... See 7bis
7bis - From a windows OS (I used my Windows To GO key) : use the the imagex command to expand a windows ISO on your Windows partition
imagex.exe /apply F:\sources\install.wim 1 G:\ 
F: is the mounted iso and G: the windows partition. 
Then configure the windows bootloader 
bcdboot.exe G:\windows /s H: /f UEFI 
G: is the windows partition and H: the EFI partition of your disk 
For these steps you will need to install the windows ADK.
8 - remove your windows install media and reboot to clover usb. Then select Microsoft EFI from the Clover menu. That's all : you have a working install of windows with pure GPT and BIOS 
But you still need to use your clover key each time you want to boot...
9 - Install OS X using Clover or Chamelon 
10 - In OS X mount EFI part and install clover on it WITHOUT formatting the EFI part. You must change the clover installation options to install the boot sectors. See the clover doc.
Now you can boot Windows without key, just with selecting Microsoft EFI in Clover Menu  :-P
For the people who use Clover to install OS X you can boot OS X too. 
11 - Chameleon lovers (untested) 
Install Chameleon on the OS X partition WITHOUT erasing the main boot sector 
Use fdisk if you are not sure : install the PBR and chameleon only.
Then configure Clover to allow booting from legacy OS 
Boot your computer and select your OS X partition in Clover
You may arrive to the Chamelon Menu.
You are done  :-P
BIOS --> CLOVER EFI --> Windows Boot Manager (UEFI)
BIOS --> CLOVER EFI --> OS X (Apple EFI emulate by Clover)
BIOS --> CLOVER EFI --> Chameleon --> OS X (Apple EFI emulate by Chamelon)
This guide is still in BETA and not complete so no complain  :-P
If you have questions, I would be happy to answer if I can.





Extra Guide (mainly for chameleon users or people who can't make Clover to work on their computer)


Thanks to milindsmart we have others solutions to boot windows installed on pure GPT.


1) Use a boot drive in MBR. 

Windows is installed on pure GPT but windows boot files are located on the MBR drive. Windows is loaded in BIOS and not UEFI emulation like with Clover

See detailed topic by milindsmart itself : http://www.sevenforums.com/installation-setup/320700-boot-windows-7-8-gpt-bios-system-no-hybrid-mbrs-duet.html


2) Use a virtual drive image

Bootloader loads a disk image (with MBR) which contains Windows Boot Files 

No need for multiple drives 

See here for infos : http://reboot.pro/topic/19516-hack-bootmgr-to-boot-windows-in-bios-to-gpt/page-5?do=findComment&comment=187175

  • Like 1
Link to comment
Share on other sites

  • Administrators

You are somehow incorrect regarding installing Windows on a GPT partitioned disk in the sense that it is not limited to UEFI computers only. There's no problem doing that at all on bog standard older computers running "legacy" BIOS only. This works for Win7 at least, I can't speak for older OS like XP or Vista.


That is exactly what I have on one of my Latitude D630:



This HDD was originally partitioned through Disk Utility, having booted a myHack USB Lion installer with its default Chameleon bootloader. Win7 was installed after OS X Lion. The Win7 partition was initially formatted FAT in Disk Utility and subsequently reformatted NTFS by the Windows installer. There was no involvement of Clover or any other fancy tool, just our good old regular Chameleon and myHack installer.

Link to comment
Share on other sites

Windows 7 will install on a GPT disk with "legacy" BIOS, however Windows 8/8.1 will not on "legacy" BIOS. It must be installed on MBR with legacy BIOS. Windows 8/8.1 can only be installed GPT with a UEFI BIOS.


So, technically, this tutorial by Tberdy is very accurate and helpful for those trying to install Windows 8/8.1 on a "legacy" BIOS machine.


Source: http://technet.microsoft.com/en-us/library/dn336946.aspx

Link to comment
Share on other sites

All Windows Legacy (even 7, 8, 8.1) can install to MBR and GPT disk, if that GPT disk is GPT/Hybrid MBR. To convert from Pure GPT to GPT/Hybrid MBR, use Disk Utility in OS X to create a FAT 32 partition, it will change the disk partition table. Or you can use gdisk in a USB Live Linux (for example Ubuntu), go to terminal to install gdisk, then create a Hybrid MBR partition table.


In general, there are two types of Windows install:


Windows Legacy:

- Only install on MBR or GPT/Hybrid MBR.

- Can boot from Chameleon/Clover.

- The USB install will be formatted as NTFS.


Windows UEFI:

- Only install on GPT/Protective MBR

- Can boot from Clover.

- The USB install will be formatted as FAT32.

  • Like 1
Link to comment
Share on other sites


Well first of all, I wrote that post (check nick) :-)


Regarding the USB, it could be any other disk, including another HDD. The major point in favour of using a small MBR disk is that it allows you to keep all your big disks in GPT, which actually need them. It doesn't matter for reliability, or flexibility when your 2GB drive is either MBR or GPT. It does matter for your 1TB Hard Disk because of the number of partitions and the amount of data that is at stake. But I get your point about the floppy thing, another chap also made the comparison :-)


I know about DUET/Clover, but then you'll be lying to your OS that the firmware is UEFI, which is unnecessary. One reason that DUET is not ideal is that it doesn't work on all computers, according to http://www.rodsbooks.com/bios2uefi/ . If Clover is solid and works well across different machines, that's nice too, and perhaps someone should port back some changes to the DUET project.


We have multiple other single-disk solutions, which are basically using a tiny disk image of bootmgr and bcd. You can use this image from either Grub, Grub4Dos, or Syslinux. You needn't actually have an image, you can dynamically generate it on the spot too.


The main development is actually happening on another site. A list of important posts with the actual methods is here : http://reboot.pro/topic/19516-hack-bootmgr-to-boot-windows-in-bios-to-gpt/page-5?do=findComment&comment=187175 . You can read the thread too to get an idea of the possibilities.


You must ultimately recognize that all current solutions are trying to work around Microsoft's restriction on using UEFI only to boot from GPT disks. So if you have only BIOS, you either 

  1. pretend that the firmware is UEFI, so Windows agrees to boot from GPT. This is what DUET/Clover does.
  2. pretend that the disk is MBR, so Windows agrees to boot from it in BIOS, not realizing that it's also a GPT device. This is what the Hybrid MBR from bootcamp does. 

This solution is a modification of (2) in the sense that the disk pretends to be MBR only at boot time. After starting the boot Windows knows that the disk is GPT and is fine with it.


I have a much cleaner solution under development though, more on that once I have something real.

Link to comment
Share on other sites

Hi yes the two solutions you explained work indeed :-)

I like a lot the solution of the disk image and I'm thinking about using it for my Windows To Go which I use on a lot of different computers ; and I can't be sure that Clover will work on them, so thanks for that :-)

However, with a standard install of windows, I'll prefer Clover for one reason. First of all, even if I'm lying Windows that it is running on UEFI, it's to use the latest techs : UEFI is replacing all BIOS computers. Yes at the beginning I was angry when I realize that my new laptop was sold with an UEFI BIOS. But after one year, I can say UEFI (and Apple EFI) is a good thing which simplifie the boot process : no more bootsector, just only a .efi binary to load from a FAT32 partition :-)

Loading are faster and booting (and preparing) is easier.

But there is one more problem. A lot of computers are still working with a BIOS and UEFI computers have different UEFI with different fonctions.

I see in the Clover project a wish to make a big unification of the boot process.

I managed the three laptop of my family. Only mine is UEFI (Asus), the other one is an HP and the third is an ThinkPad. And Clover is working on the three. When I need to install an OS I don't have to think if I'm on BIOS or UEFI or to enter the BIOS to select boot drive : clover does the job. I just have to insert USB key and boot (in UEFI) and this works with all modern amd64 OSes :-)


Clover is in the same time the UEFI BIOS and the bootloader and it can be common on a lot of computer :-)


But I'm maybe not more than a poor idealist who dreams of seeing unified open source coming to the people ;-)



However your solution is working and it can be used in all case even in some case where clover doesn't work. My previous post was a little hard with you and I apologize. You were and you are still in the true and, even if a prefer the clover's solution, your solution is working all the time :-)

Link to comment
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in

Sign In Now
  • Create New...