2

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?

  • 1
    The 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 Jan 11 at 15:19
  • OK, say we are using Windows10 – David Robert Bird Jan 11 at 15:32
  • 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 Jan 11 at 15:43
  • 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 Jan 11 at 16:10
  • 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 Jan 11 at 16:38
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.

  • OK - Got it, Thanks for the explaination – David Robert Bird Jan 11 at 16:22
  • 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 Jan 11 at 19:51

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.