On Mon, 31 Jul 2023 17:39:01 -0000 (UTC),
[email protected]
(Ross Ridge) wrote:
There's no "locating the MBR" going on here, the boot sector can only
be in one place. Except for the last two bytes of boot sector of hard >drives, the BIOS doesn't care whats written there. There can otherwise
be complete garbage written on the first sector of the disk and the BIOS
will still try to exectute it.
ROM BIOS /do/ need to locate the MBR. It does so by checking the start
of the boot sector device (head 1, cylinder 1, sector 1 in older CHS
drives, or logical block address 0 in larger LBA drives). If the last
two bytes in the code there has a signature value of 55AAh, it loads
the code into RAM and the ROM transfers control to the code in the
MBR.
(if it doesn't find code ending with 55AAh the ROM goes on to check
the next boot device until it either finds a valid MBR, or it finds
none, in which it triggers an interrupt and you get an error message.)
Once the MBR code is loaded into RAM, the MBR code takes over the boot
process: locating the partition table and active partition, then
finding the starting sector where the OS boot record is located, which
then bootstraps the machine all the way up to usability.
(note: this is how legacy BIOS did it. I honestly haven't been keeping
up with the intricacies of the UEFI boot process, which may be
different. But it probably isn't; legacy standards are hard to shake
;-)
You are correct that - aside from the signature value 55AAh in the
last two bytes - it doesn't really matter to the ROMs what code is in
the first sector. But the BIOS needs to look for, and find, the MBR on
a valid boot device before it can proceed.
Things get can more complicated than this for non-standard drives, like >anything USB connected, as the BIOS has to emulate these drives, and for >CD-ROMs as they use a completely different boot method. However for
standard floppy and hard drives it's very simple. The only thing
that can prevent the BIOS from booting off of a floppy is an error
that prevents it from reading the first sector of a floppy. The only
thing that can prevent a hard drive from booting is that it can't read
the first sector of the drive or that first sector doesn't contain the >special magic number at the end.
This isn't a logical error with the disk media. If it were, the
problem wouldn't be repeated on multiple hard-drives drives and/or
different media. Remember, I've pulled the drives (and cables, and
RAM, and the CPU, and the PSU, and...) and tested replacements for
them all.
This is a hardware issue: possibly with the ROM-BIOS, or a bad chip in
the IO-System, or a cut trace on the board, or a capacitor not juicing
up sufficiently. The fact that the southbridge chip was hot to the
touch makes me suspect the second; there was probably a shorting
transistor in there somewhere. Thus, no amount of FDISK /MBR is going
to fix the problem when its the hardware that's faulty. Something is
preventing the BIOS from finding the signature value 55AAh that
indicates its found the MBR.
(alternately, the ROM could be invoking an interrupt to pull the 'disk
boot failure' error message regardless of whether it finds an MBR or
not. It might even be a problem with the CMOS RAM having a bad bit
storing erroneous data that misdirects the boot process to the wrong
location. Both are unlikely... but possible)
Since the PC won't boot anymore, short of pulling out the test probes
to see if there's short,* figuring out where the hardware has failed
can be tricky (and probably not worth the effort, except for
entertainment value).
(Award BIOS of the era had a boot sector block in their ROMs that
allowed the PC to boot up just enough to locate a BIN file on a floppy
and flash it to the ROMs. Thus you could 'boot' your PC with a floppy
drive that didn't have an OS on it (it still needed an MBR, of course.
And the archived ROM file). Given the already precarious state of the
boot process, I was hesitant at the time to try that method; I had no confidence the ROM data would have been read correctly from the drive.
Now it's not even an option.)
But trust me when I say I've experience enough with the electronics to
deduce when its a error with the drive's partition/file-system
configuration versus a problem with the actual hardware. ;-)
* and a pair of magnifying glasses. Traces are really tiny and my eyes
aren't quite what they were. ;-)
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)