[syslinux] Question of syslinux chainloading

Ady Ady ady-sf at hotmail.com
Thu Apr 11 11:48:04 PDT 2019

> On 2019-4-10 1:20, Ady Ady via Syslinux wrote:
> >>> Test #2: if you unplug the USB and reboot the system, can you
> >>> successfully boot directly to the HDD's OS?
> >>> 
> >> Yes. The only HDD, NTFS, WindowsXP native boot loader ntldr.
> > 
> > 
> > Let me rephrase my question. It was/is clear that you used to be able
> > to boot Windows when the first boot device was the HDD. Then you used
> > the USB as first boot device. My question is, whether now (after you
> > have been "playing" with this USB device) you can still repeat the
> > former successful boot when using the HDD alone, as it used to be.
> > Maybe this is also the intention of your answer, but I would like to
> > be sure we are both referring to the same thing / scenario / case.
> > So, can you (still)?
> Yes. Whether with or without USB device plugged in, BIOS can boot to
> Windows on fixed HD . I set boot preference to USB first, so with USB
> plugged in, I press F12 to change BIOS boot order. Or I can set boot
> preference to fixed HD first, both OK.
> > 
> > 
> > The failure of "localboot 0x80" directive is not very helpful in this
> > case, since we don't even know how exactly this BIOS is recognizing
> > the local HDD. There is some chance that "localboot 0x81" (not "80")
> > might work successfully, but I wouldn't bet on it.
> > 
> I tried this, it worked! And I tried localboot 0x80 again, it worked
> this time! I cannot make sure what has changed since last try. Anyway,
> localboot 0x80|0x81, or 0x00, or 0x any digit,  or localboot only
> without numbers, will show two line quickly:
> Booting from local disk...
> Boot error
> Then jump to fixed HD's boot.ini menu and boot normally.
I'm glad it is working for you. OTOH, having the same exact behavior when using 
different LOCALBOOT options _could_ be an indication of a bug (and if that's 
the case, it would not be the first sign of a bug in LOCALBOOT).

> > Please try (and please, use the 'append' directive):
> > 
> > label hd1_1_swap com32 chain.c32 # Boot to first partition of ... #
> > There are space characters, before and after the partition number. 
> > append hd1 1 swap
> > 
> > If that fails too, try:
> > 
> > label hd1_swap com32 chain.c32 # Boot to first partition of ... #
> > There is a space character after the disk number. append hd1 swap
> > 
> Both succeeded smoothly, without any error message.  I tried "hd0 swap",
> yet it is same to "hd0", so it is not swapping 0 and 1 as I think.
> I also tried not using 'append' directive. It works too. Would you
> please explain the difference of one-line directive and using extra
> 'append' line?

I was just trying to be thorough when troubleshooting. Using the most 
normal/expected/complete syntax is one way of narrowing down potential 
side-effects of some other problem. For instance, so-called "kernel-like" 
directives (such as "com32") have their own "fallback" behaviors and 
peculiarities, and when troubleshooting some situation (like yours) I wouldn't 
want to "invite" more variables/troubles than what we already have.

At any rate, both LOCALBOOT and chain.c32 are working as you expected/wanted 
for your case now.


More information about the Syslinux mailing list