What is the maximum size of hard-drive used MBR partitioning?

3

I am getting conflicting information about this ...

At one place I read

The MBR on the other hand supports partitioning hard-disks of space which is up to ONLY 2 Terabytes (TB). If you use a hard-drive greater than 2 TB in installation and partitioning, you can be successful BUT the space beyond 2 TB will be lost. For example, if you have 2.5 TB, the 0.5 TB will be lost.

However, it seems that the Partition size is limited by the 32-bit size of capacity field in the partition table. This is

(2^32)-1 x 512 byte = 2 TB.

But since the MBR has up to FOUR primary partitions and EACH one can be up tp 2TB, that should give a total of

4 x 2 TB = 8 TB

No ?

So a single hard-drive of say 7 TB can be fully used by an MBR partition scheme which means that the above quoted maximum for the Hard drive limit seems to be wrong.

But I see this 2 TB limit quoted a lot on the internet, but it would only be true if you allocated only one partition, but you have up to four.

Can someone explain this?

David Robert Bird

Posted 2019-01-11T15:06:51.950

Reputation: 33

1The disclaimer is talking about a single partition. However, without knowing which OS we are talking about, the rest of your question cannot be answered. – Ramhound – 2019-01-11T15:19:08.157

OK, say we are using Windows10 – David Robert Bird – 2019-01-11T15:32:50.983

You will only be able to allocate a single 2 TB partition (slightly smaller due to base conversion), in addition to the require partitions that come before that single partition, if you are using Windows. Linux does not necessarily have the same limitation. However, using your example, that isn't possible with any OS. If you need support a drive that size switch to GPT. – Ramhound – 2019-01-11T15:43:23.117

Thanks, but can you explin why it is not possible? What is the limiting factor of only ONE 2 TB partition, when MBR allows 4 partitions and the limiting factor is the 32bits allocated to partition size... many thanks – David Robert Bird – 2019-01-11T16:10:21.937

1@David, in future Questions, it's helpful to name and link the sources you're quoting, rather than the vague "at one place" and "quoted a lot on the Internet". You can also quote the authorities directly. When you found multiple competing authorities, you asked a question here (another authority). Research is just finding several authorities and deciding which is going to be the truth for your current needs. The Answer given below links to Wikipedia, which is a good place to start, but you can go deeper and find more credible sources. – Christopher Hostage – 2019-01-11T16:38:25.670

Answers

2

However, it seems that the Partition size is limited by the 32bit size of capacity field in the partition table. This is (2^32)-1 x 512 byte = 2TB.

Basically yes, if the sector size is 512 bytes.

But since the MBR has up to FOUR primary partitions and EACH one can be up tp 2TB, that should give a total of 4 x 2TB = 8TB. No?

No. MBR partition table stores LBA of first absolute sector in the partition and it uses 32 bits for this. This is true for any partition so even the last one must start within the first 2TiB of the disk.

From Wikipedia:

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 […] actually support this.

But also:

For disks that present a sector size other than 512 bytes, such as USB external drives, there are limitations as well. A sector size of 4096 results in an eight-fold increase in the size of a partition that can be defined using MBR, allowing partitions up to 16 TiB (232 × 4096 bytes) in size. Versions of Windows more recent than Windows XP support the larger sector sizes, as well as Mac OS X, and Linux has supported larger sector sizes since 2.6.31 or 2.6.32, but issues with boot loaders, partitioning tools and computer BIOS implementations present certain limitations, since they are often hard-wired to reserve only 512 bytes for sector buffers, causing memory to become overwritten for larger sector sizes. This may cause unpredictable behaviour as well, and therefore should be avoided when compatibility and standard conformity is an issue.

Kamil Maciorowski

Posted 2019-01-11T15:06:51.950

Reputation: 38 429

OK - Got it, Thanks for the explaination – David Robert Bird – 2019-01-11T16:22:05.297

Since the MBR's partition table uses absolute LBA numbers, there is no association with any OS, as suggested by Ramhound in a comment. – sawdust – 2019-01-11T19:51:01.193