How to install Windows 7 x64 on GPT?

  • Dani

    How can I install Windows 7 x64 on GUID partition table? My motherboard has UEFI. I tried using Ubuntu to create the GPT and NTFS partition on it, but Windows 7 just says

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

    I found this: Use the Diskpart.efi Utility to Create a GUID Partition Table Partition on a Raw Disk in Windows – but all diskpart commands in it don't work, it seems its a different version of diskpart.

    How can I make this work?

  • Answers
  • JdeBP

    Microsoft erroneously conflates has an EFI partitioned hard disc with has EFI firmware. This is, of course, clearly wrong. It's quite possible — and indeed is becoming ever more desirable these days — to have an EFI partitioned disc on a machine that has old non-EFI firmware.

    Moreover, as of revision 2.3.1 of the UEFI Specification, the EFI partition table has a "startable" attribute defined for partitions and it is possible to even bootstrap from EFI partitioned discs on a machine that has old non-EFI firmware. Old-style PC98 MBR bootstrap programs can look for partitions marked with the "startable" attribute in the EFI partition table and bootstrap the flagged partition's Volume Boot Record bootstrap program in the old PC98 way.

    There are only two sources of such EFI-partitioning-aware MBR bootstrap programs right now:

    • I've written and published one.
    • The so-called "GPT" MBR boostrap in SYSLINUX, written by H. Peter Anvin, is another.

    One of the several consequences of Microsoft's error is that if the Windows NT 6.1 install disc is bootstrapped in the old PC98 way, as you've done, the Windows NT 6.1 installer will think that there's old PC98 firmware, and so declare that it cannot be installed to EFI partitioned hard discs. The Windows NT 6.1 installer has to be invoked from an install medium that has in turn been bootstrapped from new EFI firmware, in order for it to accept the idea of installing Windows NT 6.1 to a disc partitioned with the new EFI partitioning scheme.

    As the Microsoft documentation explains, the installation CD-ROM is in fact dual-boot. A machine with old PC98 firmware will bootstrap one operating system image and installation program; and a machine with new EFI firmware will bootstrap another. A machine with a compatibility support module can bootstrap an installation medium either way. One has to instruct one's firmware to bootstrap the installation CD-ROM in the right way, the new EFI way.

    As Rod Smith explains, one can also, alternatively, manually construct a non-dual-boot Windows NT 6.1 install disc that only bootstraps in the new EFI way.

    Further reading

  • Related Question

    linux - Windows cannot install to GPT?
  • Tim

    I have installed Ubuntu 11.10 x64 onto a 500GB SATA (Seagate Barracuda ES.2) drive. I have downloaded Windows 8 Developer preview x64 onto a USB stick and I can't install it on a NTFS partition I created in Ubuntu with GParted. The error says that Windows cannot be installed onto the partition because the partition is GPT. My motherbaord is an Asus P8Z68-V LE and it supports UEFI, but i have no idea whether this is enabled. Gparted shows me this: enter image description here How can I determine whether Windows 8 is using UEFI?

    Can I install Windows without wiping the entire HDD?

  • Related Answers
  • Wyzard

    Windows Vista and 7, and presumably 8, only support installing to a GPT disk when the installer is booted using UEFI rather than BIOS emulation. This is a configuration setting in your "BIOS" (really a misnomer on a UEFI system).

    Consult your motherboard's manual to find out how to boot from the install media without using BIOS emulation. (And make sure your install media actually supports booting that way — IIRC, it should contain a directory called EFI, containing a file named bootx64.efi.