[syslinux] chain.c32 Insane primary (MBR) partition

Michal Soltys soltys at ziu.info
Wed Jan 8 06:35:11 PST 2014


On 2014-01-03 08:07, Ady wrote:
> The following boot entries:
> #
> COM32 chain.c32
> APPEND fs ntldr=/bootmgr
> #
>
> or:
> #
> COM32 chain.c32
> APPEND hd0,1 ntldr=/bootmgr
> #
>
> might result in the following error:
>
> #
> Insane primary (MBR) partition.
> Can't find myself on the drive I booted from.
> #

The first line has been adjusted in later patches, but they are in 
elflink and firmware branches only. Currently it would report:

Primary (MBR) with invalid offset and/or length.

This often happens if the disk/image is used on different computers 
(e.g. on usb stick) and bios reports different disk sizes (usually +/- 1 
sector). This is a bios bug (potentially nasty one, imagine GPT which 
stores backup data at the end of the disk as well).

As current version of chain loader supports a good few potentially 
dangerous operations - mostly related to fixing chs geometry to match 
the one reported by bios - it's very strict at testing if everything is 
OK before proceeding.

Current version also supports 'relax' option which turns off most sanity 
checks, but it was added a good while after the v4 syslinuxes.

v4.05 works fine, as it was before merging new version of chain.



More information about the Syslinux mailing list