Index Home About Blog
From: "H. Peter Anvin" <hpa@zytor.com>
Newsgroups: fa.linux.kernel
Subject: Re: Matching hard disks to BIOS boot order
Date: Fri, 12 Jun 2009 22:38:46 UTC
Message-ID: <fa.odLd2gZo9nOi/FQxxPAvonUDfpQ@ifi.uio.no>

Alan Cox wrote:
> On Fri, 12 Jun 2009 00:26:16 -0400
> Harvey Chapman <hchapman-linux-kernel@3gfp.com> 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

Index Home About Blog