[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