Make 3TB hard drive appear as two (2TiB+750GiB) with MBR

Some manufacturers of external hard drives with capacity exceeding MBR partition capacity seem to sell them pre-partitioned to a 2TiB partition and one with the remaining capacity.

Tools are available to make a single, larger partition out of these (at least I think I learned as much from amazon reviews of such products; presumably the disk is in GPT mode afterwards).

Can I go the other way, i.e. use the full space of a 3TB drive, while at least one partition can be used in MBR mode (for booting Windows in a non-UEFI machine)?

The drive is a 3.5" HD Seagate Barracuda something currently inside a USB 3 box. This Seagate Disk Wizard (pdf) for Windows, which may not be helpful anyway, refuses to install for alleged lack of a Seagate HD. I have a (non-UEFI) PC (with SATA I only) available and would not be afraid to use linux-based tools.


MBR or GPT is the whole disk's format, not a partition, so you cannot have an MBR partition on a GPT disk like that. Hybrid MBR/GPT is a drive with both GPT entries and normal MBR entries, not an MBR partition on GPT disk.

Some manufacturers worked around the problem by partitioning the first 2 TiB as MBR then install Windows normally. After finished installing they install a special driver to make the OS recognize the remaining space as another separate drive so you can utilize all of the available space. This is fragile and not portable so I don't recommend using it this way.

The easiest way is just split the drive into multiple sub-2TiB partitions. Contrary to common beliefs, the limit in MBR isn't 2 TiB but 233 - 2 blocks which is ~4 TiB for normal 512-byte-sector disks and ~32 TiB with 4KB-sector disk (A.K.A Advanced Format) due to the way it defines partitions (offset + length instead of start offset + end offset). Probably your disk is using the old 512-byte sector so you can achieve that by having a single last partition start before the 2 TiB mark. For example with a 3 TB drive you can partition into a 2 TB volume + 1 GB volume (remember 2 TB < 2 TiB), a 1.99 TiB volume + 756 GiB volume, two 1.5 GB volumes, or two 800 GB volumes and a 1.4 TB volume

MBR records partition locations in terms of the starting sector and the partition's length. Both of these are 32-bit values, so in theory you could use MBR on a 4 TiB disk, so long as all the space after the 2 TiB mark is in a single primary partition, or perhaps in a single extended partition, which could in turn hold many logical partitions. Such a configuration would be somewhat limiting, but it fits within the MBR framework

Working Around MBR's Limitations

Since partitioning information is stored in the MBR partition table using a beginning block address and a length, it may in theory be possible to define partitions in such a way that the allocated space for a disk with 512-byte sectors gives a total size approaching 4 TiB, if all but one partition are located below the 2 TiB limit and the last one is assigned as starting at or close to block 232−1 and specify the size as up to 232−1, thereby defining a partition that requires 33 rather than 32 bits for the sector address to be accessed. However, in practice, only certain LBA-48-enabled operating systems, including GNU/Linux, FreeBSD and Windows 7[20] that use 64-bit sector addresses internally actually support this

https://en.wikipedia.org/wiki/Master_boot_record#Partition_table_entries

You'll need OS support for this, and also need a 3rd party disk partitioner instead of diskmgmt.msc. Fortunately Windows 7+ and all modern OSes will work with those disks without problem. To quote from Rod Smith's article above

To make a long story short, the only OSes that seemed capable of handling a partition that spanned the 2 TiB mark were Linux, FreeBSD, and Windows 7


There are many other ways though. If you use Linux or BSD then you can boot from a GPT disk in BIOS mode easily. Just create a small BIOS boot partition before installing. See Is it possible to boot Linux from a GPT disk on a BIOS system?. In Windows it's a lot trickier because you do need UEFI to boot from GPT disk. Luckily a hardware UEFI isn't required, a software UEFI like DUET or Clover works completely fine, although it's not very easy to set up and will boot a lot slower. If you're really interested in making it work that way then see

  • Is there any way to boot Windows 7/8 using BIOS on GPT?
  • How to install UEFI BIOS?
  • Installing Windows 7 on GPT
  • Windows on a hybrid MBR/GPT
  • Is there a version of Windows OS that will allow a bootable disc beyond 2 TB capacity?

Alternatively you can use Grub2 to boot Windows from an ISO or WIM file. This way it boots much faster than a software UEFI solution

  • How to install Windows 10 on GPT partition in Legacy BIOS mode
  • Boot from GPT hard disk in Legacy BIOS mode

Another method is to install Windows on VHD/VHDX on a GPT disk. Just format the drive as GPT then when installing Windows, press Shift+F10 and create a VHDX, mount it and then continue as normal. I haven't tried it but many people have confirmed that it works

  • Migrating Windows 7 from BIOS-MBR to BIOS+GPT
  • Is there any way to boot Windows 7/8 using BIOS on GPT?