2.1TB limit on BIOS

biosefihard drivestorage

While checking out this 3TB 7200RPM drive as a candidate for my hardware RAID array, I saw the product video and at about 1:40 into the video, the guy says that BIOS can't handle more than 2.1TB of data for a boot drive. Great.

He recommends using EFI to boot. I recently had the unfortunate experience of working with EFI on a MacBook Pro in order to install Linux on it. In any case, how is this done? Can I boot Windows 7 and Linux on one of these drives when using BIOS and a hardware RAID controller? If I can't use BIOS, how can I use EFI? Is it a motherboard-level option? Are there going to be any problems with booting from EFI? Will I still be able to configure boot priority and other motherboard options from EFI?

I'll probably be configuring my partition table in GPT.

Best Answer

If your motherboard supports it, you can enable (U)EFI and install Windows 7 64 bit in EFI mode, as well as Linux. Only Windows 7 64 bit can boot from a GPT partitioned disk and only if in EFI mode.

If your motherboard does not support (U)EFI, or you want to run another version of Windows, then you will need to install Windows first using the DOS/MBR partition table, and locate its partition under the 2TB mark. You will also need to leave room ( 100 MB should do ) for a linux /boot and bios_grub partitions under the 2TB mark. When you install Linux, you will need to convert the disk to GPT, and create the bios_grub ( 1MB ) and /boot ( ~100MB ) partitions, then you can create a root partition anywhere on the disk.

To convert the disk to GPT, you will need to run parted, give it the unit s command to put it into sector mode, and print the partition table. You will need to note the exact start end end sector of the Windows partition so you can re-create it in GPT. Then use the mklabel gpt command to blow away the dos partition table and initialize a GPT one. Then re-create the Windows partition in exactly the same place with the mkpart command. Then create the boot and bios_grub partitions. Use the toggle command to set the bios_grub flag on the correct partition.

Then when you install Linux, tell the installer to format and mount the /boot partition in the /boot directory. You can create the root partition and any others anywhere on the disk ( including above 2TB ).

Note that officially Windows does not support this, and it may not even work. I'm not sure if NTLDR actually understands GPT or not. If it doesn't, then you may need to create a hybrid MBR/GPT setup by using fdisk to add the Windows partition to the MBR.

Related Question