Boot Windows 7/8 from GPT on BIOS system : No hybrid MBRs or DUET!

milindsmart

New member
Member
Local time
4:06 PM
Messages
72
Hi guys,

Till now, Windows 7/8 x64 could boot from a GPT disk only on a UEFI system. Methods to enable this are hybrid MBRs and DUET. Both of which are hacks.

We now have a simple way to boot windows (BOTH 32bit AND 64 bit) from a GPT disk on a BIOS system WITHOUT hybrid MBRs or DUET, using just a small MBR disk to hold bootmgr, can be HDD or USB stick. It can even be a floppy :) It will just hold the boot files.

GPT is preferable for several reasons, independent of UEFI :

  1. No 2TiB limit on Hard disk size
  2. No distinction between primary and logical partitions, and the associated space allocation decisions.
  3. Partition table is redundantly stored, checked using CRC
  4. No conflict of partition types
  5. No need to use the logical partitions which are implemented in an EXTREMELY error-prone manner.
The principle here is simple: Have a ready Windows installation on a partition on a GPT disk. Then add the boot files and boot record to an MBR disk, and add a bootloader entry to the BCD pointing to the Windows installation (more precisely, winload.exe)

First install windows on a GPT disk. This can be done in several ways :


  1. Install in BIOS mode on MBR and then convert using gptgen
  2. Install in UEFI mode using DUET. (ONLY for 64-bit!)
  3. Apply the windows install image (install.wim) using ImageX (Windows 7) or DISM (Windows 8+)on the GPT disk (best)
Next insert the Windows DVD, and that small disk, whatever it may be. Open the command prompt.

Use diskpart to verify for yourself which drives are data drives, and which is your windows boot drive. For safety, I recommend removing the drive letters of all other drives except the windows boot drive, which I'll refer to as C:, using the command :
Code:
remove

Type the following commands in diskpart. I'll refer to the other disk as Disk 1. It should be self-explanatory

Code:
select disk 1
clean
create partition primary [size=##]
format
select partition k
active
list volume
select volume n
assign
list volume
exit
Note down the letter assigned newly in the last list volume. Assume it is D:

Install boot files to the drive
Code:
bcdboot C:\Windows /l en-us /s D:
Install the bootsector
Code:
bootsect /nt60 D: /mbr /force
Edit the BCD for a small tweak (this may not be necessary : experts advice looked forward to)
Code:
bcdedit /store D:\boot\bcd /set {bootmgr} device boot
Restart, and boot from the second disk. It should boot smoothly. Check
Code:
diskmgmt.msc
for confirmation of GPT disk.


NOTE : Tested in a VM, not yet tried on a real machine, which I will very soon. Hence I have not made it into a full tutorial. But realistically, it's not really going to fail unless something gets screwed up. Testers also very welcome! but rest assured, none of this is close to as dangerous as a Hybrid MBR. I'll make it into a tutorial once it's tested and no sudden issues are found

I'll be looking for more elegant solutions very soon, such as mapping an image at boot time. But I wanted to tell (announce :) ) to you guys, so that I get some valuable feedback, and improvements, and expert gyaan.

The original thread is here : Hack Bootmgr to boot Windows in BIOS to GPT - Windows 7 - reboot.pro . Credits to cdob and Sha0 from reboot.pro.
 
Last edited:

My Computer My Computer

At a glance

Windows 7 Home Premium x64Intel Core 2 Quad Q6600 G0Transcend JM800QLU-2G x 2 (2x2GB)Sapphire Radeon HD6850 1GB
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom
OS
Windows 7 Home Premium x64
CPU
Intel Core 2 Quad Q6600 G0
Motherboard
MSI P45 Platinum MS-7512
Memory
Transcend JM800QLU-2G x 2 (2x2GB)
Graphics Card(s)
Sapphire Radeon HD6850 1GB
Hard Drives
Seagate ST3360320AS in Transcend Storejet Ultra35 eSATA
Seagate ST31000524AS
PSU
Corsair GS600
Cooling
Stock
Mouse
Logitech Wired M500 USB
Internet Speed
15Mbps
Antivirus
Microsoft Security Essentials
Browser
Google Chrome
One caveat is, of course, that the Windows install/repair will refuse to automatically repair your installation of windows.. because it obviously doesn't know how to handle this "unsupported" configuration. Since it's not like there'll be a dedicated expert to "support" my computer when using supported configurations, I think it's worth the effort of manually working with it.

There is a way however, for automatic repair to be used, for non-boot related problems : that is, winload.exe and other system files, not bootmgr. Use DUET to boot into the windows install disc. This should allow the installer to do all the repairs it can.
 

My Computer My Computer

At a glance

Windows 7 Home Premium x64Intel Core 2 Quad Q6600 G0Transcend JM800QLU-2G x 2 (2x2GB)Sapphire Radeon HD6850 1GB
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom
OS
Windows 7 Home Premium x64
CPU
Intel Core 2 Quad Q6600 G0
Motherboard
MSI P45 Platinum MS-7512
Memory
Transcend JM800QLU-2G x 2 (2x2GB)
Graphics Card(s)
Sapphire Radeon HD6850 1GB
Hard Drives
Seagate ST3360320AS in Transcend Storejet Ultra35 eSATA
Seagate ST31000524AS
PSU
Corsair GS600
Cooling
Stock
Mouse
Logitech Wired M500 USB
Internet Speed
15Mbps
Antivirus
Microsoft Security Essentials
Browser
Google Chrome
I have an efi computer, but the disk won't boot with efi, so I might have to do this. Since the computer is efi, is there a way to install using this method but then move the boot files over and boot without the external drive?
 

My Computer My Computer

At a glance

Windows 7 Ultimate x64
Computer type
PC/Desktop
OS
Windows 7 Ultimate x64
I have an efi computer, but the disk won't boot with efi, so I might have to do this. Since the computer is efi, is there a way to install using this method but then move the boot files over and boot without the external drive?


The solution which works for all others who don't want to waste any more time with EFI is to Bypass UEFI to Install WIn7.
 
Best bet is to find out why and try to fix your computer into booting with UEFI. Failing which, skipping UEFI might be easier.

If you're keen on using GPT with windows without UEFI, and you don't want to use an additional disk, check out this answer, which is an improvement of the above method.
 

My Computer My Computer

At a glance

Windows 7 Home Premium x64Intel Core 2 Quad Q6600 G0Transcend JM800QLU-2G x 2 (2x2GB)Sapphire Radeon HD6850 1GB
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom
OS
Windows 7 Home Premium x64
CPU
Intel Core 2 Quad Q6600 G0
Motherboard
MSI P45 Platinum MS-7512
Memory
Transcend JM800QLU-2G x 2 (2x2GB)
Graphics Card(s)
Sapphire Radeon HD6850 1GB
Hard Drives
Seagate ST3360320AS in Transcend Storejet Ultra35 eSATA
Seagate ST31000524AS
PSU
Corsair GS600
Cooling
Stock
Mouse
Logitech Wired M500 USB
Internet Speed
15Mbps
Antivirus
Microsoft Security Essentials
Browser
Google Chrome
So, just to clarify some things in your original post milindsmart...

The C drive is your boot drive and the D drive you refer to later in the tutorial is your usb flash drive correct?

I don't install anything on the flash drive prior to starting this process?

I install Windows on the drive I want to convert to gpt in the tutorial too right?

Also, the USB flash drive will hold the bootmgr for good or just temporarily? What size can I use? Is 128MB too small?

This will work on 4TB drives as well? I eventually want to install 4 4TB drives in my computer, but for now I'll be installing it on a 3TB drive.
 

My Computer My Computer

At a glance

Windows 7 Professional 64-bitIntel Core i7 Extreme 990X24GB DDR3AMD Radeon HD 6990
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Alienware Aurora ALX
OS
Windows 7 Professional 64-bit
CPU
Intel Core i7 Extreme 990X
Motherboard
Alienware 4VWF2
Memory
24GB DDR3
Graphics Card(s)
AMD Radeon HD 6990
Hard Drives
3TB Western Digital Caviar
3TB Western Digital Caviar
1TB Seagate Barracuda
1TB Seagate Barracuda
Antivirus
Norton AntiVirus 2014
Sorry for the delay, didn't find time to reply properly.

The C drive is your boot drive and the D drive you refer to later in the tutorial is your usb flash drive correct?

Yes C is the boot drive (one with \Windows\ directory) and D is the system drive (one with \bootmgr and \BCD)

I don't install anything on the flash drive prior to starting this process?

Nothing required. In fact you just need to set up an MBR and VBR on one of the primary partitions in the flash drive. You can use the rest for data.

I install Windows on the drive I want to convert to gpt in the tutorial too right?
Yes. You can also go ahead and convert the drive, and then install Windows by imaging it onto the drive directly, using DISM or ImageX.

Also, the USB flash drive will hold the bootmgr for good or just temporarily? What size can I use? Is 128MB too small?
For good. Anything beyond 32MB is fine.

This will work on 4TB drives as well? I eventually want to install 4 4TB drives in my computer, but for now I'll be installing it on a 3TB drive.
Yes it'll work on any drive windows already can boot from.
 

My Computer My Computer

At a glance

Windows 7 Home Premium x64Intel Core 2 Quad Q6600 G0Transcend JM800QLU-2G x 2 (2x2GB)Sapphire Radeon HD6850 1GB
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom
OS
Windows 7 Home Premium x64
CPU
Intel Core 2 Quad Q6600 G0
Motherboard
MSI P45 Platinum MS-7512
Memory
Transcend JM800QLU-2G x 2 (2x2GB)
Graphics Card(s)
Sapphire Radeon HD6850 1GB
Hard Drives
Seagate ST3360320AS in Transcend Storejet Ultra35 eSATA
Seagate ST31000524AS
PSU
Corsair GS600
Cooling
Stock
Mouse
Logitech Wired M500 USB
Internet Speed
15Mbps
Antivirus
Microsoft Security Essentials
Browser
Google Chrome
What are comparative boot speeds with win7 system files throttled by USB controller?
 
According to Wzyboy here and here, there is no visible impact on speed.
 

My Computer My Computer

At a glance

Windows 7 Home Premium x64Intel Core 2 Quad Q6600 G0Transcend JM800QLU-2G x 2 (2x2GB)Sapphire Radeon HD6850 1GB
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom
OS
Windows 7 Home Premium x64
CPU
Intel Core 2 Quad Q6600 G0
Motherboard
MSI P45 Platinum MS-7512
Memory
Transcend JM800QLU-2G x 2 (2x2GB)
Graphics Card(s)
Sapphire Radeon HD6850 1GB
Hard Drives
Seagate ST3360320AS in Transcend Storejet Ultra35 eSATA
Seagate ST31000524AS
PSU
Corsair GS600
Cooling
Stock
Mouse
Logitech Wired M500 USB
Internet Speed
15Mbps
Antivirus
Microsoft Security Essentials
Browser
Google Chrome
No worries milindsmart!

Thanks for all the help! I just finished installing Windows on a 3TB GPT drive thanks to you! :)
 

My Computer My Computer

At a glance

Windows 7 Professional 64-bitIntel Core i7 Extreme 990X24GB DDR3AMD Radeon HD 6990
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Alienware Aurora ALX
OS
Windows 7 Professional 64-bit
CPU
Intel Core i7 Extreme 990X
Motherboard
Alienware 4VWF2
Memory
24GB DDR3
Graphics Card(s)
AMD Radeon HD 6990
Hard Drives
3TB Western Digital Caviar
3TB Western Digital Caviar
1TB Seagate Barracuda
1TB Seagate Barracuda
Antivirus
Norton AntiVirus 2014
Robb please let us know how performance turns, especially boot times. This is valuable information that will help others who will find this thread in searches and our linking it to help them do an MBR install to GPT disks.

The reason I focused on boot time is that reports of Win7 being installed on flash drives have always that they are deadly slow due to the USB controller not being nearly as fast as HD. This may vary with USB3 now.

But having only the boot files on USB 3 is fascinating and it would be great to see a video of it booting.

Thanks guys.
 
I would say that the boot process has at the most about 10 seconds added to it. I am using an old sandisk USB 2.0 flash drive, so I don't think it's too bad. I will post a video of the boot process tomorrow.
 

My Computer My Computer

At a glance

Windows 7 Professional 64-bitIntel Core i7 Extreme 990X24GB DDR3AMD Radeon HD 6990
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Alienware Aurora ALX
OS
Windows 7 Professional 64-bit
CPU
Intel Core i7 Extreme 990X
Motherboard
Alienware 4VWF2
Memory
24GB DDR3
Graphics Card(s)
AMD Radeon HD 6990
Hard Drives
3TB Western Digital Caviar
3TB Western Digital Caviar
1TB Seagate Barracuda
1TB Seagate Barracuda
Antivirus
Norton AntiVirus 2014
Ahh had gotten busy...

@Robb20 : You're welcome. Follow the reboot.pro thread in the first post for further developments if you are interested :). And I'm surprised it adds TEN seconds to the boot time. At most the files involved would be about 10MB large, and that is peanuts even for USB 2.0.

@greg :
nitpick :
... do an MBR install to GPT disks.

do a BIOS install to GPT disks.

:)
 

My Computer My Computer

At a glance

Windows 7 Home Premium x64Intel Core 2 Quad Q6600 G0Transcend JM800QLU-2G x 2 (2x2GB)Sapphire Radeon HD6850 1GB
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom
OS
Windows 7 Home Premium x64
CPU
Intel Core 2 Quad Q6600 G0
Motherboard
MSI P45 Platinum MS-7512
Memory
Transcend JM800QLU-2G x 2 (2x2GB)
Graphics Card(s)
Sapphire Radeon HD6850 1GB
Hard Drives
Seagate ST3360320AS in Transcend Storejet Ultra35 eSATA
Seagate ST31000524AS
PSU
Corsair GS600
Cooling
Stock
Mouse
Logitech Wired M500 USB
Internet Speed
15Mbps
Antivirus
Microsoft Security Essentials
Browser
Google Chrome
trouble with windows 7 32 bit

Hello Milindsmart, thank you for your post. This is the only guide that I could find that suggested that this was possible with 32 bit windows 7.
I am attempting to upgrade my htpc hard drive from 250GB to 3TB, it had win7 32bit installed in an MBR partitioned drive. I tried to follow your guide but some of the steps couldn't be executed the way you described them, so I have doubts about the process. Could you look through my process and tell me if something is wrong?

1) clone 250gb disk to 3tb drive (clonezilla), test boot (worked, partition was/is ntfs)
2) boot with old disk and convert new disk to gpt non-destructively (AOMEI partition assistant lite)
3) resize 250gb partition on new disk to 100gb (now OS only) and create 2.7TB NTFS partition for recordings (AOMEI partitino assistant lite)
4) remove old drive, attempt to boot to cmd prompt with windows 7 32 DVD, get an error that its "System Recovery Option is not compatible with the version of windows you are trying to repair"
5) put old disk back in and boot it, run cmd and follow your instructions except bootsect is not a recognized command. Run bootsect from the win7 32 bit dvd under 'boot' folder. This step is targeting a USB flash drive.
6) reboot with old drive removed, usb flash drive is found, boot attempt (flash drive blinking light), and black screen only. no booting, and NO bios 'OS not found' message.

I attempted both fat32 and NTFS formats for the flash drive, but both exhibited the same black screen and didn't boot. Is there some way I can debug the boot process and figure out where it's going wrong? Is there something I need to add to the win7 32 bit install to allow it to boot from the GPT disk?

thank you for the help and tutorial. If this works it could help a lot of people in a similar situation.
 

My Computer My Computer

At a glance

win7 32 enterprise and 64 ultimate
Computer type
PC/Desktop
OS
win7 32 enterprise and 64 ultimate
Hey cuisinart,
Thanks, as far as I know this method is new, so this being the only one is expected.

4) remove old drive, attempt to boot to cmd prompt with windows 7 32 DVD, get an error that its "System Recovery Option is not compatible with the version of windows you are trying to repair"
There's a way around this : just press Shift + F10 at that point.

I'll certainly help you debug, it's not very hard either, but I suggest you redo the steps with only the new hard disk and USB stick connected. Windows installer doesn't handle multiple disks very well, gets confused.

I attempted both fat32 and NTFS formats for the flash drive, but both exhibited the same black screen and didn't boot.

All my experiments indicate that FAT32 does not work for the system volume (USB drive). Stick to NTFS.
 

My Computer My Computer

At a glance

Windows 7 Home Premium x64Intel Core 2 Quad Q6600 G0Transcend JM800QLU-2G x 2 (2x2GB)Sapphire Radeon HD6850 1GB
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom
OS
Windows 7 Home Premium x64
CPU
Intel Core 2 Quad Q6600 G0
Motherboard
MSI P45 Platinum MS-7512
Memory
Transcend JM800QLU-2G x 2 (2x2GB)
Graphics Card(s)
Sapphire Radeon HD6850 1GB
Hard Drives
Seagate ST3360320AS in Transcend Storejet Ultra35 eSATA
Seagate ST31000524AS
PSU
Corsair GS600
Cooling
Stock
Mouse
Logitech Wired M500 USB
Internet Speed
15Mbps
Antivirus
Microsoft Security Essentials
Browser
Google Chrome
Incredible. It worked perfectly. Thank you so much for posting this. This is huge for people wanting to upgrade disks without re-installing everything.

for the diskpart format command I used

format fs=ntfs quick

to speed things up a bit, and after booting in to windows I deleted the drive letter of the flash drive using disk management 'change drive letter and paths' so it wouldn't show up on my computer, or prompt me what to do with 'insertion'. Now the computer boots windows 7 32 bit on a 3TB GPT drive with no issues at all.

EDIT: since it has been brought up, the increase in boot time is about 2 seconds to load the bootloader from flash. From then on, normal hdd speeds apply.



How-to-upgrade-your-drive-to-3TB-without-re-installing-your-windows-7-OS
 
Last edited:

My Computer My Computer

At a glance

win7 32 enterprise and 64 ultimate
Computer type
PC/Desktop
OS
win7 32 enterprise and 64 ultimate
You're welcome.

A few notes, in increasing order of complexity :) :

You should be able to (safely) remove the USB drive after booting into Windows.

If you're looking for a way to get rid of the flash drive, head to Hack Bootmgr to boot Windows in BIOS to GPT - Windows 7 - reboot.pro ... you can use Grub/syslinux (usually used for linux) + wimboot(a small module, NOT the new feature for Win8.1U1+) to boot using only 1 drive.

Also, if you have no use for the 250gb drive, you could leave it in for extra space and just add the entry for Windows on the GPT disk, to the bootmgr on the MBR disk, make it default, wipe the OS on the other drive, keep only the boot files, and boot from the MBR disk.
 
Last edited:

My Computer My Computer

At a glance

Windows 7 Home Premium x64Intel Core 2 Quad Q6600 G0Transcend JM800QLU-2G x 2 (2x2GB)Sapphire Radeon HD6850 1GB
Computer type
PC/Desktop
Computer Manufacturer/Model Number
Custom
OS
Windows 7 Home Premium x64
CPU
Intel Core 2 Quad Q6600 G0
Motherboard
MSI P45 Platinum MS-7512
Memory
Transcend JM800QLU-2G x 2 (2x2GB)
Graphics Card(s)
Sapphire Radeon HD6850 1GB
Hard Drives
Seagate ST3360320AS in Transcend Storejet Ultra35 eSATA
Seagate ST31000524AS
PSU
Corsair GS600
Cooling
Stock
Mouse
Logitech Wired M500 USB
Internet Speed
15Mbps
Antivirus
Microsoft Security Essentials
Browser
Google Chrome
Thanks, I saw that. A half day of work is about all I'm willing to spend on this, and a USB drive on a computer that just sits in the corner and runs 24-7 is fine.

Honestly, I'm surprised to see so many experts telling people they have to install windows x64 on fat32 to get gpt boot going. This is an ugly anachronism and shouldn't be the suggested solution.
 

My Computer My Computer

At a glance

win7 32 enterprise and 64 ultimate
Computer type
PC/Desktop
OS
win7 32 enterprise and 64 ultimate
Nobody tells anyone to install 64 bit to FAT32. When you format partitions for UEFI install it just happens to format the EFI partition as that, not the entire hard drive.

We offer Best Practices (many of which were developed here) that have made this the top tech forums in web history, serving millions of average consumers. We are not about to put any consumer through the hoops you've just jumped unless they specifically request it, especially for 32 bit which doesn't even address more than 3.5 gb RAM so would only be needed in the rarest cases, if then.

I admire the persistence and ingenuity in this thread but it is anomalous and may never be requested again. Meanwhile every day we help more consumers sort the UEFI firmware BIOS settings which is different on every model, doing the diligent support that the mobo and PC maker's don't begin to provide.

TBH I consider UEFI an unneeded layer that greatly complicates installation and Repair protocols that worked just fine before and now must be completely reworked differently for every mobo. As with RAID we only see problems with it here, and rarely see a single positive thing mentioned except from consumers.
 
Back
Top