Skip to content

Instantly share code, notes, and snippets.

@startergo
Created April 11, 2024 19:12
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save startergo/10d36279d68dbc03dade6023527d38c6 to your computer and use it in GitHub Desktop.
Save startergo/10d36279d68dbc03dade6023527d38c6 to your computer and use it in GitHub Desktop.
Boot Windows 7/8 from GPT on BIOS system : No hybrid MBRs or DUET!

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) Install in BIOS mode on MBR and then convert using gptgen Install in UEFI mode using DUET. (ONLY for 64-bit!) 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 :

remove

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

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:

bcdboot C:\Windows /l en-us /s D:

Install the bootsector:

bootsect /nt60 D: /mbr /force

Edit the BCD for a small tweak (this may not be necessary : experts advice looked forward to):

bcdedit /store D:\boot\bcd /set {bootmgr} device boot

Restart, and boot from the second disk. It should boot smoothly. Check:

diskmgmt.msc

for confirmation of GPT disk.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment