What is the maximum size of hard-drive used MBR partitioning?
Solution 1:
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.