[syslinux] isohybrid boot from logical partition
Ady Ady
ady-sf at hotmail.com
Thu Dec 29 09:21:39 PST 2016
> For example for a disk partitioned like below:
>
> Disk /dev/sdc: 3.8 GiB, 4007657472 bytes, 7827456 sectors
> Units: sectors of 1 * 512 = 512 bytes
> Sector size (logical/physical): 512 bytes / 512 bytes
> I/O size (minimum/optimal): 512 bytes / 512 bytes
> Disklabel type: dos
> Disk identifier: 0xfc25117c
>
> Device Boot Start End Sectors Size Id Type
> /dev/sdc1 2048 616447 614400 300M 83 Linux
> /dev/sdc2 616448 1230847 614400 300M 83 Linux
> /dev/sdc3 1230848 1845247 614400 300M 83 Linux
> /dev/sdc4 1845248 7827455 5982208 2.9G 5 Extended
> /dev/sdc5 1847296 2461695 614400 300M 83 Linux
> /dev/sdc6 2463744 3078143 614400 300M 83 Linux
>
>
> I 'dd' the ISO to partitions 2, 3, 5 and 6.
> The ISO will boot successfully (when chainloaded from grub) on 2 and
> 3, but not on 5 and 6.
>
> Thanks,
> Duncan
>
Since I am not a developer, I do not really know at this time whether
the problem is really in the "MBR" being used in the isohybrid tool.
As mentioned at:
en.wikipedia.org/w/index.php?title=Master_boot_record&action=edit§io
n=3
(and in the tables following that section)
The typical (modern) "MBR" supports 4 primary bootable partitions. The
meaning of "bootable" in that context refers to the possibility of
setting the "boot" flag on (one of) them.
The classic MBR knows nothing about having a boot flag on a logical
partition. You can set the boot flag to the Extended partition in the
MBR's partition table, but Logical partitions are relevant in EBRs, not
in the MBR.
In addition to the examples shown in that Wikipedia page / section,
IIRC also Ranish Partition Manager version 2.44 beta includes a
workaround for the limitation of 4 primary partitions within 512 bytes.
I think GAG has some workaround for the 4 partitions limitation too.
For completeness, I should add SmartBootManager and XOSL as boot
managers that somehow are able to boot more than 4 primary partitions,
although I think that they use more than 512 bytes to achieve the goal.
Summing up: if the problem is indeed in the MBR being used in the
isohybrid tool, then the workaround might be in using a "customized"
one (such as those special ones described in the tables in the
Wikipedia article), supporting more than 4 partitions within 512 bytes.
Regards,
Ady.
More information about the Syslinux
mailing list