19

I am trying to install Windows 98 on a pretty modern computer, from 2010. Why? Because I want to see if I can.

Anyway, I am booting off a USB flash drive with FreeDOS on it. I formatted the USB flash drive with Rufus and copied the files to the USB flash drive.

Then I copied the Windows 98 files to it and also added XMGR.SYS. So I boot from the USB and it loads FreeDOS perfectly fine. I run the Windows 98 setup with /nm to bypass the no minimum of RAM, since it's on a modern computer.

ScanDisk goes perfectly fine with no problem what so ever. The Win98 installer loads perfectly fine and begins to “prepare the setup” with a loading screen. The loading is pretty quick and all but the problem is, when it reaches 100%, it just hangs and in the upper left corner it says:

Remove diskette in drive A:
Insert diskette in drive B:
Press any key to continue ...

Additionally, my keyboard completely stops working. I have no idea why this happens: There are no floppy drives in my computer, only 1 CD drive and USB ports. Anybody who knows what is wrong? Or what I could do?

Here is a screenshot of the error:

The error message overlaid over the Windows 98 Setup screen

13
  • 1
    What are the specifications of the PC you're installing to - how much memory do you have?
    – knol
    Aug 8 at 17:06
  • First, obvious things to ask: does the computer have a floppy drive at all? How does it behave if you switch drive letters at the command prompt? Aug 8 at 17:10
  • Hard disk is 500gb, TOSHIBA MQ01ACF050. PC is a HP compaq 8200 Elite CMT PC. Aug 8 at 17:32
  • 1
    I'm asking about RAM specifically since Windows 98 will not be very reliable with more than 512mb.
    – knol
    Aug 8 at 17:49
  • 2
    Just to be sure: your USB stick presents itself as a hard drive (C: or D:), not a floppy drive, right? Aug 8 at 19:41

3 Answers 3

25

Win98 is based on the DOS kernel. The DOS kernel doesn't have USB support. Win98 doesn't come with any USB drivers. The correct USB controller driver must be installed before Win98 can see files on the USB drive. There may not be drivers that work with newer controllers.

The message you are seeing is shown when a file is not found. The setup assumes the file it's looking for is on the next disk so it asks you to insert a different disk in your floppy drive.

SOLUTION:

  • Copy all of the Win98 setup files to your HDD
  • Run the setup.exe from the HDD
3
  • 6
    DOS may not have any built-in USB support, but the BIOS firmware often does. When booting from a USB drive in ‘legacy BIOS’ mode, it is usually presented as an additional hard or floppy drive by the BIOS disk interrupt calls, so that the bootloader (and by extension DOS) will have access to it after all. (Although that only works until the first reboot, and you may have to deal with drive letters changing…) Aug 9 at 6:07
  • 1
    And the ‘setup cannot find a file’ explanation is wrong. I simulated this by renaming CAB files, and it didn’t behave that way. Aug 10 at 5:26
  • 1
    If it's not dynamic, when a file is missing like I said, then it must be scripted to happen at a specific point in the install. So if you have a floppy install version of the setup it will behave differently than the CD install version. What's odd is that it doesn't usually change drive letters like that. They don't assume you have more than one floppy drive so I must assume that this system is presenting both A: and B: drives. The keyboard failing does suggest that some sort of driver change occurred during the setup. Maybe the A: drive was lost when the USB controller went away.
    – HackSlash
    Aug 10 at 15:42
13

DOS (including FreeDOS) tends not to behave too well on systems without any floppy drives: it may reserve drive letters A: and B: regardless, and return errors when they are actually accessed. And even though your computer has no floppy drive, the BIOS firmware may still report one as being present, for example in order to support installing a floppy drive in a hot-swappable extension bay like in some Dell laptops.

Most importantly though, when a second floppy drive is not present, DOS enables its second drive emulation feature. It simply makes the single floppy drive available under both A: and B: drive letters, and prompts the user to swap floppies when the program attempts to access files on the ‘other’ drive. Though I cannot explain what made installer access the B: drive, this feature is what triggers the message displayed in your screenshot.

As for solutions, I can offer one: disable both floppy drive letters before running the installer.

Ensure you have the DEBUG program ready on your USB stick (any version; Microsoft’s, as you may extract from Windows 98 CAB files, FreeDOS’s or ecm’s). Next to the DEBUG executable, save the following text file as NOFDD.TXT:

a 100
; disable drive A:
mov ax, 5f08
mov dl, 0
int 21
; disable drive B:
mov ax, 5f08
mov dl, 1
int 21
; exit
mov ax, 4c00
int 21

rcx
13
n nofdd.com
w
q

Remember to set CR+LF line endings. The blank lines are important, but you can skip lines starting with a semicolon. At the DOS command prompt, launch DEBUG < NOFDD.TXT; this will create a small program named NOFDD.COM which disables floppy drive letters A: and B: and makes them unavailable until the next reboot. (If you skip the first section, it will disable the B: drive only.) You can invoke it directly by starting NOFDD the command line, or put in in AUTOEXEC.BAT or in an INSTALL= directive in CONFIG.SYS.

Having ran NOFDD (you can check that switching to drive A: or B: no longer works and returns messages like ‘Invalid drive A:’), launch the installer as before; one should hope the above will get you through this particular hurdle, or at least give you a more informative error message.


All that said… it’s probably not too wise to install Windows 9x directly from USB media.

First of all, the installation process involves a number of reboots from the target medium. Since Windows 98 has no built-in drivers for USB drives, this means you may lose access to the installation files on the USB drive after the reboot, unless you take additional steps, like copying CAB files onto the target partition, or even installing DOS USB drivers (FreeDOS does come with those).

Another potential problem is that drive letters may shift between reboots: when booting from a USB flash drive, BIOS firmware often presents it as hard drive number 0 (0x80) while actual internal hard drives are numbered starting from 1 (0x81), but when booting from an internal hard drive, those are numbered starting from 0, while USB drives are hidden. This may disrupt DOS’s drive letter assignment algorithm and invalidate any pathnames the installer may have written in the target system’s configuration.

For these reasons, it is probably better to copy installation files onto the target partition and always boot from the latter; compare this question.

5
  • What is the debug program? And how do i use it? Aug 24 at 18:16
  • @ILOVETOMATOES69 A debugging program, file name DEBUG.COM or DEBUG.EXE, which allows you to run programs instruction-by-instruction, examine memory contents, and even create simple COM executables directly, like above. It is bundled with MS-DOS until the very last versions (including those that are part of Windows 9x). FreeDOS contains its own enhanced version which I linked above. You can just obtain a copy, place it in some accessible directory, launch it from the command line and enter commands at DEBUG’s - prompt. The q command exits DEBUG and returns you to DOS’s normal shell. Aug 24 at 19:14
  • THANK YOU PARTNER! Your method with the debugging program succefully made me pass the setup preparation. Although i ran into some new trouble, but i think i can fix that pretty easily. Thank you once again. yesterday
  • Update: Succefully passed that problem, hoping for success now! yesterday
  • PROBLEM=SOLVED The method about the debugging program worked, i shut down the A: and B: Drive and the setup prerparation went through. Thank you all for your help, you are saints. I also feel like i have to apologize for being inactive, been pretty lazy (only my fault and im sorry) I should have thought about that before posting a question. But thank you all again <3 yesterday
2

I am trying to install Windows 98 on a pretty modern computer, from 2010. Why? Because I want to see if I can.

Not much chance of that on a newer machine.

Get the CAB files and copy to a folder on the machine you are trying to install Windows 98 on. Run Setup.exe and see if it installs.

Failing that, make a Virtual Machine for Windows 98.

Here is the CAB file structure for a Windows 98 install. CAB files get copied to Windows\Options and includes the Setup.exe to run the install.

Windows 98 CAB files

4
  • What are CAB files? Sorry i am new to computing, well not new but i havent done that much. Aug 8 at 18:02
  • 1
    CAB files are the installer files and are on one of the diskettes (or on a folder on the CD)
    – John
    Aug 8 at 18:03
  • 7
    Expanding on @John 's comment, CAB files are a proprietary archive format used by Microsoft. They fill the same role as ZIP, ARJ, ZOO, 7Z etc. files, in that they (a) can contain multiple files in one CAB, and (b) compress the payload. en.wikipedia.org/wiki/Cabinet_(file_format)
    – dgnuff
    Aug 9 at 0:59
  • 1
    @ILOVETOMATOES69 there should be a bunch of files with a .CAB extension
    – user17915
    Aug 9 at 4:36

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.