Strange booting problem

Chris Murphy lists at colorremedies.com
Tue Jun 30 22:47:23 UTC 2015


On Tue, Jun 30, 2015 at 4:44 PM, Gordon Messmer
<gordon.messmer at gmail.com> wrote:
> On 06/30/2015 03:17 PM, jd1008 wrote:
>>
>> The link you refer to
>> talks about the 2 bytes past byte 255, they they are
>> bytes 256 and 257.
>
>
> No, they're the two byte block at the 255th block of two bytes.
>
> https://en.wikipedia.org/wiki/Master_boot_record
>
> Again, bytes 0-446 are boot code.  Bytes 256 and 257 are not special
> locations, they fall within the boot sector.  Bytes 511 and 512 (or, bytes
> at offset 510 and 511) are the boot signature.  When present, that signature
> indicates that a boot sector is present and can be used.  Testing indicates
> that if the signature is present, BIOS will load that sector into memory and
> continue execution of the code that it contains.  Control will not return to
> BIOS.
>
>> But I already indicated the 466 bytes are null...
>
>
> Doesn't matter.  The documentation doesn't say that the contents of the 446
> bytes are tested.  nul bytes are valid opcodes in x86.

It's possible this is BIOS specific. In the case I've tested, it's
actually faux BIOS in the form of an EFI CSM. If the first 440 bytes
are zeros, it doesn't consider that device bootable, and thus it's
skipped. But I don't recall SeaBIOS or vbox's BIOS behavior, even
though I've gotten bit by this confusion many times...


-- 
Chris Murphy


More information about the users mailing list