[syslinux] Question of syslinux chainloading

C. Masloch pushbx at 38.de
Fri Apr 12 13:23:06 PDT 2019


On at 2019-04-12 11:28 +0800, Lu Wei via Syslinux wrote:
>> Regarding the MSDOS 7.1 boot files... Do you still have access to that Win98 
>> system? If you do, I would suggest searching for "io.dos" and "msdos.dos". 
>> These might be set as "hidden" and/or "system" (use attrib if needed), and 
>> there might be some additional "*.dos" file(s) too. These are the "MSDOS 7.1" 
>> boot files. The ones you got before _might_ be the "Win98" variants instead.
>>
> 
> I don't have access to that Win98 system now, yet I can recall two files
> io.sys and command.com are sufficient for MSDOS7.1 booting; Bootsect.dos
> is the only ".dos" file (which I later renamed to bootsect.W98). That
> system installed WinXP after Win98, that's I think why there was this
> bootsect.dos file, because a line
> C:\bootsect.dos="Windows 98"
> in boot.ini will boot to Win98.
>
>> Once copied to your USB device, you can change the filename extension from 
>> "*.dos" to "*.sys" (and "*.com" for the DOS shell). Yet, these might not be 
>> enough for a successful chainload. The MSDOS boot files require some conditions 
>> for them to be able to boot. The easiest way to achieve the adequate conditions 
>> is to create an MS-DOS 7.1 boot disk, test it, and then install SYSLINUX on it.
>>
> Follow your suggestion, I used Rufus to create a MSDOS8 (the only
> version it supports on XP) boot disk, tested it OK. Then before
> installing Syslinux, I copied MSDOS 7.1 file io.sys and command.com
> over, and it fails to boot. I copied MSDOS 8 files back, and it can boot
> again. Then I installed Syslinux, but "msdos7=io.sys" option still did
> not work (lots of strange characters scrolling up and even ctrl+alt+del
> can not stop).
> 
>> Additional potential problems might be the C/H/S values (FreeDOS is more 
>> tolerant in this regard), and using FAT32 instead of FAT16. Yes, Win98 already 
>> supports FAT32, but I admit that I don't exactly recall which filesystem (and 
>> max size) its MS-DOS counterpart supports.
>>
>>From experiment above, maybe MSDOS8 (WinME) supports FAT32 better, but
> Syslinux cannot boot it either.

MSDOS.DOS and IO.DOS are created when installing MSWindows 4.x to a
FAT16 FS partition with MS-DOS 5.x/6.x already installed. They contain
the parts of the "old MS-DOS" kernel, which is only FAT16-capable. There
is only one actual IO.SYS per Windows version. (MSDOS.SYS is a
configuration file instead of a kernel part, for these versions.) 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.

Regards,
ecm


More information about the Syslinux mailing list