[syslinux] "isolinux.bin missing or corrupt" when booting USB flash drive in old PC

Thomas Schmitt scdbackup at gmx.net
Wed Mar 22 14:00:41 PDT 2017


Hi,

MartinS wrote:
> Congratulations Thomas, you've found the bug!

I will for now only take credits for "one bug".
Whether it's "the bug" is still questionable, because David reported
a read result of all zeros.

The found error cannot cause that block content is read from after the
end of the block_seq image. The error does not spoil the C component and
LBA 8444 is much more than a maximum cylinder size of 8 MiB away from
the end of the 647 MiB image.

If the H/C and S/H values were the same as with quemu's BIOS, then there
would be no reason for the BIOS to refuse reading. (Does isohdpfx.bin any
test for read error other than the magic number test of the read result ?)

But with a different geometry it is possible that the S component of the
wrong C/H/S becomes larger than the true S/H parameter. This would be an
illegal address and would justify failure to read.


> Please David if you see this, try this.

Yes. Pullease. :))

If it is the decisive trick, then patching it onto the start of the
original ISO on stick should make that ISO bootable.

If it is patched onto the start of the block_seq image on stick, then
it should report block content that is not all zero, but rather
  00 00 20 FC ... 00 00 20 FC


Have a nice day :)

Thomas



More information about the Syslinux mailing list