Messages in this thread | | | Date | Fri, 12 Jun 2009 15:38:24 -0700 | From | "H. Peter Anvin" <> | Subject | Re: Matching hard disks to BIOS boot order |
| |
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
| |