Hello all.
A couple of notes which may clarify the issue.
[1] Terebytes limits are the limit to the virtual memory handling and should not be confused with harddrive addressing limits.
[2] If harddrive addressing is through int13h, then it is generally limited to CHS parameters. Int13h has to be mapped to some extension routine to overcome the limit.
[3] The historical magic numbers (milestones of technology) are 504MB, 2GB (LBA technology), 8.4GB are successive developments on the int13h handling. As it is burnt into ROM BIOS, though, it is by nature a software issue, it can be said to be a hardware issue, fault of better vocabulary.
[4] Beyond 8.4GB limit is still a software development. Flash a BIOS is more "hardware" oriented solution. BIOS overlay is more more "software" oriented solution.
[5] As long as OS handles harddrive interface without appealing to int13h, those limits to fdisk are rendered uneffective.
[6] Then there are file-system limits for format, other than fdisk. The only constant for most operation is 512bytes/sector. Other than that, The number of clusters for each logic drive and cluster size (# of sectors) may vary according to the OS, hence, another sets of magic numbers.
[7] There is another OS imposed limitation on the primary partition. NT would have ultimately a 7.8GB limit of the primary, but not the secondary etc.
[8] The above should be understood under the IDE hard ATAPI technology category. SCSI or else are again another matter.
Some there are a substantial number of categories one has to precise before an discussion of the issue can be made intelligently. Hope the above elements may have sketched the skeleton over which each limitation can be placed in its proper context. If there are inexactitudes in my digression, I leave the matters to driver specialists to clarify further.
regards - tsuji