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
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. -- Regards, Lu Wei IM: xmpp:luweitest at riotcat.org PGP: 0xA12FEF7592CCE1EA
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. -- Regards, Lu Wei IM: xmpp:luweitest at riotcat.org PGP: 0xA12FEF7592CCE1EA