[syslinux] BIOS disk geometry and Linux 2.6

Patrick J. LoPresti patl at users.sourceforge.net
Fri Feb 27 09:43:51 PST 2004


"H. Peter Anvin" <hpa at zytor.com> writes:

> The problem, again, is that there is no way (w/o EDD3) to map these
> to Linux devices.

Right, but that is a completely different problem which I will be glad
to solve (or punt on) separately.

> Now, from the looks of it, you actually have a system which does
> support EDD3, and it gives the wrong answers.

I do not think so.  The EDD data is reporting the geometry from
INT13/AH=48h (the "get drive parameters" call of the INT13
extensions).  That geometry is different than the one reported by the
legacy INT13/AH=08h call.  And it is the legacy geometry which the
partition table needs to use.

The EDD data has 16-bit fields for C/H/S, so it reports the "real"
geometry (whatever that means these days).  The legacy interface has
only a 10-bit cylinder field, so modern BIOSes lie about the disk
geometry in the legacy interface to make more of the disk appear in
the first 1024 cylinders.

Somehow we need to get the values from the legacy call, not the
extended (EDD) call.

 - Pat




More information about the Syslinux mailing list