[syslinux] simple message under BIOS/CSM/LEGACY

Thomas Schmitt scdbackup at gmx.net
Wed Aug 3 11:36:54 PDT 2022


Hi,

Pascal wrote:
> here is what I plan to test :
> leave the protective partition in place (1), mark it as active (2)

(2) will earn you the refusal to boot from overly picky EFI implementations,
including older versions of OVMF.
Regrettably some 10 year old BIOSes don't boot the MBR code if not one
of the primary partitions has the "active" flag set.

In recent months, Ubuntu decided for its "hybrid" installation ISOs to have
the active flag at a dummy partition of type 0x00.  This lets some machines
boot very slowly. A workaround is to remove the "active" flag, but the
software in the ISO creates the "active" partition again on first boot from
USB stick. So a new change is pending to need the workaround only once:
  https://bugs.launchpad.net/ubuntu/+source/casper/+bug/1977644

Fedora on the other hand decided to have no "active" flag in its ISOs in
order to make no assumptions about UEFI implementations and this flag.
So some BIOS machines will not boot these upcomming Fedora ISOs at all.


> 1) its absence seems to be a problem (at least with qemu/ovmf),

Even if you have a partition of type 0xEF in the MBR which marks the
FAT filesystem, which a GPT partition with type
C12A7328-F81F-11D2-BA4B-00A0C93EC93B ?

The protective MBR partition table is the magic number which announces
the presence of a valid GPT. But EFI specs do not demand GPT. They give
type 0xEF for the EFI System Partition in an MBR table.

Debian's installation ISOs have such a MBR partition and thus no
"protective" MBR partition table. They have an invalid GPT, to please some
EFI implementations which insist in seeing a GPT header block (but no
protective MBR partition of type 0xEE).


> 2) gdisk does not activate it by default,

Afaik it even removes it by default.


> 3) the MBR and the first sector of the active partition will be confused

I don't believe in the theory that a BIOS implementation would hop directly
onto a partition boot record. At least there are no indications that this
ever happened to a USB stick bootable ISO.


> if the BIOS needs a (table of) partition before loading MBR and handing
> over to BSC, it has it.

The BIOS does not hand over the partition table to the code. I understand
(as bystander, not as assembler programmer) that BIOS services about disks
are provided by INT 13h.
Freshly bought USB sticks often have MBR code which looks for the "active"
flag in the four partitions and then transfers execution to the code in the
partition boot sector.
Elsewise the flag should have no meaning to BIOS. It should ...


Have a nice day :)

Thomas



More information about the Syslinux mailing list