Some friend raised an interesting topic: How do we boot Windows 7/8 on disks larger than 2TB?
My first guess would be simple: select "Repair your computer" before clicking "Install now" button, enter command prompt to load the disk driver & prepare disk with DISKPART.
But soon I realized installing & booting from disk larger than 2TB is not as easy as "pre-create partitions on a GPT disk in advance".
After couple of unsuccessful attempts I finally made it. The secret is UEFI boot.
Windows support for hard disks that are larger than 2 TB
Overview of FAT, HPFS, and NTFS File Systems
Frequently asked questions about the GUID Partitioning Table disk architecture
GPT vs MBR: GPT for disks larger than 2TB is a must. Disks using MBR partitioning table can only support up to 2TB address space.
BIOS vs UEFI: All versions of Windows support BIOS firmware. On modern mainboards, UEFI became an standard option.
2TB is NOT a limitation defined by NTFS. Actually NTFS can support up to 2^64 bytes which is 16 Exabyte.
BIOS + MBR
BIOS + GPT
UEFI + MBR
UEFI + GPT
Windows Vista & later
Boot volume not supported
Supported; requires 64-bit version
Unfortunately preparing partitions with diskpart.exe to is NOT a feasible option because:
Windows will automatically convert it back to MBR if it’s a GPT disk without partition;
or refuse to install on a GPT disk with one or more partitions.
Using Linux utilities such as gparted is all the same. Windows setup program simply incompatible with BIOS+GPT combination.
The correct solution is to enable UEFI boot support in BIOS setting and setup with modern Windows ISO such as Windows 8.1.
Note: if running on Hyper-V, UEFI is only available for Generation 2 VM on latest hypervisors:
Simply select the empty disk & hit “Next”
Here comes the wonder!
If you see this in UEFI boot, it means the ISO is corrupted, even if it works with BIOS boot. Try to download a new ISO (or copy the entire \efi folder from a working ISO. Unverified.).
If you can’t see the prompt while booting with setup CD,
Then do some tweak to the ISO. Navigate to \efi\microsoft\boot, swap file names:
Sometimes Secure Boot prevents boot on older ISO such as Vista/Win7. Uncheck it:
Wish it’s useful for you.