[syslinux] Boot Error GPT partition

Gene Cumm gene.cumm at gmail.com
Sat Jan 1 07:37:38 PST 2011


On Fri, Dec 31, 2010 at 05:58, KESHAV P.R. <skodabenz at gmail.com> wrote:
> On Thu, Dec 30, 2010 at 18:12, Miller, Shao <shao.miller at yrdsb.edu.on.ca> wrote:
>> Good day again Keshav,
>>
>> It might be the case that Syslinx is indeed installed to your /dev/sda8,
>> since Syslinux itself contains the string "Boot error".  That would
>> cause me to think that one of the following is true:
>>
>> 1. Your BIOS doesn't support EDD (it is C/H/S only).
>> 2. The checksum for the loaded ldlinux.sys fails.
>> 3. The "magic" signature in the loaded ldlinux.sys fails.
>>
>> So I would guess that ldlinux.sys was physically moved at some point
>> (it's starting sector needs to be hard-coded by the Syslinux
>> installation process into the partition's boot sector, and the file
>> needs to be contiguous), or the installation process is not recording
>> its starting sector properly.
>>
>
> It seems extlinux installer of 4.04-preX does not correctly encode the
> location of ldlinux.sys into the partition bootsector. I moved back to
> 4.03-stable and reinstalled extlinux.
>
> sudo extlinux --install /boot/syslinux   -> 4.04-pre4
> sudo extlinux --update /boot/syslinux  -> 4.03-stable
>
> leads to the "Boot error" (but both report the partition correctly)
>
> but "extlinux --install" from 4.03 solved the problem (--update does
> not work)". That means the post-4.03 syslinux/extlinux installer do
> not encode the bootsector and ldlinux.sys properly. I have switched
> back to extlinux, but grub2 did not give me any of there errors as it
> uses a separate bios boot partition and does not use partition boot
> sectors, thus no problem of shifting of ldlinux.sys within the
> partition.
>
> Thanks and Regards.
>
> - Keshav

My hand-off MBR/VBR/PBR may be something to try but I have no clue
what the hand off data should look like in this situation (considering
I have no experience in the GPT/EFI realm and just got a PC at work
that will).  I think there have been a few discussions where a
difference was noted in how Syslinux uses the hand off data versus
Grub.

Another idea is extracting the boot sector from /dev/sdb8,
ldlinux.sys, and starting sector number of ldlinux.sys relative to the
start of the partition.  One way to do this is using tune2fs/debugfs.

tune2fs -l /dev/sda8|grep 'Block size:'
debugfs /dev/sda8
  bmap syslinux/ldlinux.sys 0

Block size / 512 * block number = sector number.

A brute-force method is to use hexedit and search for the
EXTLINUX/SYSLINUX string (address in bytes / 512 = sector number).

I'm noticing two items that I don't know if they have relevance:

1) Most of the other stuff is EFI-based.
2) The swap partition is out of order.

Keshav, I'm assuming nothing else has changed?  Sometimes tiny details
make all the difference.

-- 
-Gene




More information about the Syslinux mailing list