Re: Matching hard disks to BIOS boot order

From: H. Peter Anvin
Date: Fri Jun 12 2009 - 18:38:42 EST


Alan Cox wrote:
> On Fri, 12 Jun 2009 00:26:16 -0400
> Harvey Chapman <hchapman-linux-kernel@xxxxxxxx> wrote:
>
>> Is there a way to figure out which hard disks match the BIOS boot order?
>>
>> I'm trying to tell a Linux program which disk to use based on the disk
>> numbers (0,1,...) used by Windows. The best solution I've found so far
>> is disk serial number, but that hasn't been terribly reliable for other
>> reasons.
>
> There is a BIOS interface for this on newer systems, although the kernel
> doesn't capture enough data to make it completely reliable below EDD 3.0
> (in theory if we grabbed a few more bits we could do EDD 1.x as well)
>
> Most PCs today do EDD 3.0 however
>

Actually, the best option is to completely forget about BIOS boot order
-- on some systems it can literally change from one boot to the next --
and instead rely on MBR signatures. As far as I know, Windows requires
all hard drives to have unique signatures and will "rebrand" the disks
to make it so if necessary.

The MBR signature is 4 bytes starting at offset 440 decimal.

-hpa
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/