Why does an MBR partition table entry have its starting sector as both CHS and LBA

mbrpartitioning

In an MBR's partition table section, every partition has the first absolute sector available in both the CHS and LBA formats. It's relatively straightforward to convert between the two.

When the MBR was originally created, I imagine bits were at a premium.

Does having the sector in both formats for machine consumption have any value?

Best Answer

Found the answer here: http://thestarman.pcministry.com/asm/mbr/PartTables.htm

Starting Sector in CHS values (3 bytes). These values pinpoint the location of a partition's first sector, if it's within the first 1024 cylinders of a hard disk. When a sector is beyond that point, the CHS tuples are normally set to their maximum allowed values of 1023, 254, 63; which stand for the 1024th cylinder, 255th head and 63rd sector, due to the fact, cylinder and head counts begin at zero. These values appear on the disk as the three bytes: FE FF FF (in that order).

Starting Sector (4 bytes). LBA (Absolute Sector) value. This value uniquely identifies the first sector of a partition just as Starting CHS values do. But it does so by using a 4-byte Logical Block Address (starts counting from Absolute Sector 0), which means it can locate the beginning of a partition within the first FFFF FFFFh or 4,294,967,296 sectors, for hard disks up to about 2,199,023,255,552 bytes (exactly 2,048 GiB)!

So CHS is pretty much a legacy field and only used if a partition is within the first 1024 cylinders of the disk. Beyond that, the LBA value is needed to determine where the partition is on the disk.

Related Question