Subject: Re: Booting net NetBSD 2.1 Install gives "Error 3" error.
To: None <email@example.com>
From: David Laight <firstname.lastname@example.org>
Date: 12/11/2005 21:27:27
On Sun, Dec 11, 2005 at 09:28:32PM +0100, email@example.com wrote:
> On Sun, Dec 11, 2005 at 07:17:43PM +0000, David Laight wrote:
> > Looks like (somehow) sector 0 doesn't contain code that the BIOS deems
> > valid - although there are no well defined checks it can do.
> > (The 'Not a system disk' output if you put a floppy in, is actually from
> > the boot code on the floppy!)
> ISTR that indeed the check is about the signature at the end of the boot
> block (0xAA55) [little endian so appears as 0x55 0xAA]. That is the
> previous stage trying to chain load another stage 1 (512 bytes) that
> shall do the test. So the "Not a system disk" comes from the BIOS if the
> signature is missing. AFAIK, if it is present it will load the block and
> give it the control even if the block is just junk.
Many BIOS don't even do that check, but some are very picky.
(I think some check the partition table for an active entry, and maybe
even read the first sector of that partition. Additional checks could
include verifying that the CHS and LBA addresses match.)
I've also a few boot floppies lurking (eg Unixware 7 Early Access Install)
which don't have anything special at the end.
If you run 'hexdump -C -n512 /dev/fd0a' on random floppies you see all sorts
of error messages from the code added by various M$ 'format' programs.
The 'Error 3' is explicitly 'partition doesn't end 0x55 0xaa' or first
byte is zero.
David Laight: firstname.lastname@example.org