[syslinux] "isolinux.bin missing or corrupt" when booting USB flash drive in old PC
Thomas Schmitt
scdbackup at gmx.net
Wed Mar 22 05:06:52 PDT 2017
Hi,
Ady wrote:
> If a specific BIOS' CHS/LBA translations cannot cope with the above, it
> is no surprise that we get some mess, somewhere.
Currently my suspicion is that the isohdpfx.S code simply mishandles
the two conversion factors which it correctly got from BIOS call
INT 13H AH 8.
> Boot System ID : First : Last : Relative : Number of:
> Flag :Cyl Head Sec:Cyl Head Sec: Sector : Sectors :
> 80h 00h : 0 0 1 : 646 63 32 : 0: 1325056:
> 00h EFh ?? :1023 254 63 :1023 254 63 : 8524: 608:
The last sector 1325055 and its C/H/S (646, 63, 32) address tell that the
partition table was made under the assumption H/C= 64 and S/H= 32.
That's what hpa prescribed to me for smaller sized isohybrids.
The EFI partition bears the CHS value which says that it is not valid.
See:
https://en.wikipedia.org/wiki/Master_boot_record#Partition_table_entries
which says:
"When a CHS address is too large to fit into these fields, the tuple
(1023, 254, 63) is typically used today,"
Since the only intended audience of the partition is UEFI firmware,
i'd say it is safe to assume that it can address by LBA.
I will have to examine whether the invalidated CHS value is an old bug in
libisofs-1.3.6 (and maybe fixed meanwhile) or if there is a reason why
the EFI partition got no valid CHS addresses.
Have a nice day :)
Thomas
More information about the Syslinux
mailing list