Ubuntu 10.10's installer looks rather nice

Przemek Klosowski przemek.klosowski at nist.gov
Thu Oct 14 14:49:47 UTC 2010


On 10/13/2010 05:51 PM, Ralf Ertzinger wrote:
> Hi.
>
> On Wed, 13 Oct 2010 22:26:18 +0200, Gilboa Davara wrote
>
>> As you pointed out, different drives, can have more-or-less identical
>> partition size, with different CHS in the partition table.
>
> I my experience the hard disk vendors have been astonishingly coordinated
> in how much sectors a drive of a given size should have.

Total numbers of sectors may be the same---but the way the partitions 
are defined in the partition table requires the use of correct CHS disk 
geometry. Of course modern disks don't even have a well-defined physical 
geometry---the  number of sectors per cylinder varies between the inner 
and outer tracks---but they still must declare one as a weird historical 
artifact required by the BIOS and traditional partition table layout. 
The manufacturers lie about it, e.g. declaring dozens of heads, but 
what's worse different manufacturers lie about it differently.

Warning: what follows is boring and geeky, and might be wrong because a) 
I haven't worked with this stuff for a while now and b) things change as 
the disks get biger and newer.

The reason the partition table has to represent the partition boundaries 
not as a Linear Block Address (LBA) sector count but as a 
Cylinder/Head/Sector coordinates, is because the BIOS booting code uses 
CHS access method. If those numbers assume wrong disk geometry
then the partition ends up being non-contiguous because IIRC, the 
calculation from CHS to LBA goes somehow like this:

LBA = c * (H*S) + h * S + s

where c, h, s are the CHS coordinates of a partition in the partition 
table, and C, H and S are the total 'reported' number of cylinders, 
heads and sectors on the drive. If you copy the chs numbers without
converting them for the different CHS geometry, you will get different 
and wrong LBA addresses, i.e. different partitioning.


More information about the devel mailing list