[syslinux] [CONFIRMED] BIOS bug? USB + "Missing operating system"

TJ ubuntu at tjworld.net
Mon Mar 30 07:57:56 PDT 2009


On Mon, 2009-03-30 at 14:34 +0100, TJ wrote:
> The problem seems to be that this BIOS reports the boot-device in DL
> using a different calculation to the read-sector interrupt 0x13
> functions.
> 
> I'm just squeezing a couple more bytes out of mbr-diag.bin so that I can
> include an over-ride that will force drive_number = 0x80 when a Ctrl key
> is pressed at boot.
> 
> I'm hoping/expecting that this might then cause the correct device to be
> read.

This suspicion turned out to be correct. I added detection of the Ctrl
key which forces drive_number = 0x80 (I had to remove the "DIAG " prefix
and [h]ex suffix from all message values to make space for the
additional instructions).

With hard-disk attached (Ctrl key not pressed):

 L D81 C3FE HFF S3F P1 O00000020 MBEEF E00

With hard-disk attached (Ctrl key *pressed*):

 L D80 C3FF H10 S3F P1 O00000020 MAA55 E00

I'm going to formulate a patch to add Ctrl-key over-ride detection to
the other MBRs (mbr, gptmbr, isohdpfx) if they can make use of it.

What would be the view of the project managers of including this kind of
over-ride detection in the default MBR ?






More information about the Syslinux mailing list