1

How to pxe boot MS DOS 7.x / 8.x on a modern pc (mainboard without floppy controller) without using an external usb floppy drive?

MS DOS 6.22 and earlier or other flavors pxe boot just fine on floppy-less hardware. But DOS 7.x and 8.x renders an error on boot: "Type the name of the Command Interpreter (e.g., C:\WINDOWS\COMMAND.COM)"

I read somewhere during research this was a rather unknown error which started to become more common due to the advent of floppy-controller-less hardware.
On some hardware (bios dependent) one could plug a usb-floppy-drive in the computer before booting (but that MIGHT also require it to be a "golden floppy drive" (as they where called back then)).

From a Russian site (I read about a year ago and cannot find the hyperlink) MS-Dos versions >6.22 did some-kind of floppy-drive reset during initialization and since it couldn't connect to the floppy-host thus the error.

How can I resolve this (without a physical external usb floppy)?
Might there be some kind of virtual floppy-driver that could resolve this (for example to be loaded before the dos image loads)?

Or could someone point me into the right direction (maybe even a hex-address and some further explanation or something)?

I'm using syslinux + memdisk by the way, but I've seen this error cropping up on some Symantec and HP LAN-imaging forums to (where it was usually solved by obtaining and using DOS6.22).

Edit:
Totally forgot I posted a (now dead) link in a comment 2 years ago, however it's still alive on the archive!! Quote:

  • Problems/Symptoms:
    Bad or missing command interpreter when imaging via PXE boot menu or managed boot.
    Type the name of the Command Interpreter
    Error: Missing command interpreter
  • Cause:
    Machine does not have a floppy controller or the floppy controller is disabled in the BIOS.
    Windows 98 DOS requires a floppy controller.
  • Fix:
    If the machine has a floppy controller, enable it in the BIOS.
    If the machine does not have a floppy controller download atttached patch PXE 4.03a and follow the instructions below
GitaarLAB
  • 125

3 Answers3

2

why not the classic pxelinux/memdisk approach?

LABEL 1
menu label Dos
kernel memdisk
append initrd=DOS.img

edit

memdisk is able to emulate a HDD, a CD, a floppy disk, etc, sometimes it does a good job analyzing your image and detecting what you want to mount and sometimes you have to say it with a command line.

for a DOS disk just use

append initrd=DOS.img

or

append initrd=DOS.img edd

or

append initrd=DOS.img floppy

The differences are explained on memedisk page they basically force different emulation modes.

i.e. edd = emulation of Enhanced Disk Drive Services for floppy disks

when they say "Windows 98 DOS requires a floppy controller." it is not true; at this level no one touches the floppy controller but the BIOS int 13h; and this interrupt is what memdisk emulates. the different modes affect the returned value from int 13h, ah=15h​ -> Get Drive Type

Pat
  • 3,048
0

Nearly every machine within the past 5 years supports PXE built in - PXE boot disks were simply required for when the machine didn't have support for PXE built in, so, the disk would emulate the environment.

Look in the BIOS/EFI for "Network Boot", and see if you can enable it... sometimes you need to press F11orF12 during boot (but it can change).

William Hilsum
  • 117,648
0

If you're getting a request for COMMAND.COM, that looks like IO.SYS is loading okay.

So make sure there is a CONFIG.SYS file which defines COMSPEC to point to the COMMAND.COM file, whereever COMMAND.COM is hiding.

I'm not sure this answers all of your questions, but it answers at least one that you had.

TOOGAM
  • 16,486