[syslinux] Question of syslinux chainloading

Lu Wei luweitest at gmail.com
Fri Apr 19 08:03:07 PDT 2019

On 2019-4-13 8:45, Lu Wei wrote:
> On 2019-4-13 4:23, C. Masloch via Syslinux wrote:
>> MS-DOS 7.10 (first appearing in MSW 95 OSR2, later re-used in MSW 98
>> and 98 SE) and 8.00 (MSW Me, and MSW XP DOS boot diskettes) both
>> support FAT32 equally well.
>> MS-DOS 8.00 (without some patches that are around) only supports
>> booting in DOS mode from diskettes. Hard disk booting only succeeds
>> when directly passing control to the Windows loader.
> Rufus can only extract DOS8 files from my WindowsXP. I also tried
> HPUSBFW, which can specify DOS files location, so I used it to create
> DOS7 and DOS8 USB boot disk (on the same USB-HDD, after Rufus
> experiment, only io.sys and command.com), and the result is the same:
> DOS8 can boot while DOS7 failed. Even simply copying DOS8 files to DOS7
> formatted disk (I hope it excludes bootsector incompatibility) can make
> it bootable. So I think DOS8 may be better with FAT32. The Disk is 8G.
You are right! After further reading and experiment, I found that the
dos7 file IO.sys I used is the culprit: after being replaced by a "good"
file, dos7 can boot normally (before syslinux). After comparison I found
it was cut short, missing some padding zeros. That file behaved well
until failed under this specific situation, which is odd. But after
syslinux, that good IO.sys still cannot make "com32 chain.c32 boot
msdos7=io.sys" work.

MSDOS booting through syslinux also solved: it turns out the boot sector
file should be from the original, not the one I copied from another
system or by bootpart tool. I saved a dos.bs file when the usb-hd could
boot to DOS, then after running syslinux, "boot dos.bs" works. ("bss
dos.bs" works too; "com32 chain.c32 boot file=dos.bs" works with a
warning about mapping; "com32 chain.c32 boot msdos7=dos.bs" do not work.)

The dos.bs file is saved by HxD. I tried to get one by copybs.com, but
failed with the message:"Error:Filesystem not found on disk" (missing a
Blank after "File"). Maybe it only supports floppy disk.

So basically the problem is solved, although I think there are some bugs
or improvements in the copybs and boot sector handling (I thought those
mysterious options like setbpb, will make any dos7 bs file work). I hope
the information here could be useful to some developer. Thank all of you
who give suggestions, especially Ady.

Lu Wei
IM:	xmpp:luweitest at riotcat.org

More information about the Syslinux mailing list