Getting started quicker with Windows 9x

It’s math: 98 > 10. However, today, it’s very simple to just use an SSD and a fast USB3 flash drive. But Windows 98 doesn’t know either of them!


Why would you need this tutorial?

No USB setup for you

Assuming you’re working on a period correct machine, you have probably noticed something odd with USB support: there’s no USB boot capability. There’s plenty of choice, but most of the options refer to direct IDE entries or dead media, such as LS-120 or ZIP. If you’re lucky enough, you might find a LAN boot option, which requires an installed boot ROM, but that’s a story for another day.
And this limitation might be a good thing: USB 1.1 has extremely limited bandwidth and poor support under operating systems before Windows Me and Windows 2000. You might be able to add support later, but we are still talking about the installation process, so we’ll have to wait.
Sure, you might be, again, lucky enough to have the most recent hardware combination supporting Windows 98 SE, with a crazy fast SATA drive and USB 2.0: there’s always that little bit of software incompatibility that WILL break everything.
And that piece of software is MS-DOS.

TL;DR
USB won’t work.

“Backwards compatibility”

You might be familiar with the installation process of a Windows 9x operating system: get a Windows boot floppy diskette, partition the hard drive, make it bootable, format the partition, insert the Windows setup disk, run through a setup wizard, wait, reboot, wait, reboot and finally you get to see the desktop. You probably need drivers now: burn a CD with your network card driver (if you have one), install the driver and the Windows setup disk is needed.
“Fine, you won’t need it again, right?”.
Then it’s the turn of the chipset, video, audio and what not drivers and with most of them you will still be getting a setup disc request. Why do you need to feed Windows with its setup disc every time?
When Windows 95 first came out, hard drive space was at a premium. It wasn’t that rare that your brand new CD drive could handle media larger than the hard drive you had in your computer. To cope with that, Microsoft decided to configure the setup process in a way that copied only what was needed to operate what was detected at that specific moment: whenever you needed something else which wasn’t there or wasn’t detected during the setup process, you would need to provide the installation media to get the system files required to get that new function working. But just 3 years later, with Windows 98, hard drives had already broken the gigabyte barrier and Windows itself barely used 300 MB of space on the CD, just for the OS itself.
‘Backwards compatibility’ is their motto, so they kept the same file copying policy: slightly relaxed for NT-based systems and completely removed with Windows Vista. All the extra features are now available as free downloads from the Control Panel.

TL;DR
“Copy only what you need now.” – Microsoft, mid-90s

C:\> setup.exe

So, knowing that we have to work with a 1995 mindset with no fancy, futuristic tools, here’s a bunch of methods to consider:

  1. Working directly from the target machine
  2. Splitting the work with another PC (ideal if your PC/laptop doesn’t have a CD drive)
  3. Doing everything on a virtual machine (cheater)

WARNING! My methods don’t instruct about multi-boot environments and will assume you are OK with starting everything from scratch and completely wipe your hard drive. If you have data to backup, do it BEFORE starting any of what follows.
If you lose something you cared about, don’t blame me. I told you to backup your data!With the next steps, I’m assuming R: to be your CD drive, because it’s the usual letter assigned by MSCDEX in a DOS environment booted from the Windows 98 CD.
Remember to check the drive letter on YOUR system.
Also, I need a convention to generalize the process for different operating systems: Windows setup files are stored in a directory named after the version of the OS (R:\win9#). For Windows 95, it’s R:\win95; for Windows 98 and 98 SE, it’s R:\win98; for Windows Me, it’s R:\win9x. Use the directory name accordingly, when named in the steps below.
If you decide to go with method 3, shame on you. You don’t understand the pain the common peasants are going trough. /s

Method 1: direct mode

You will need:

  • A (working) computer with a hard drive (500 MB should be more than enough), a CD-ROM drive and a floppy drive (if you are going to use the DOS boot disk)
  • The setup CD for your Windows 9x of choice
  • A Windows 98 DOS boot floppy (mandatory if you are using Windows 95, strongly recommended with Windows Me)
    Download it from AllBootDisks.com, if you don’t already have one

Let’s get going:

  1. Boot your PC either from the setup CD or the boot diskette.
  2. Don’t start the setup straight away, but boot with CD support.
  3. Wait a couple of minutes while DOS loads.
  4. At the A:\> prompt, run fdisk.
  5. Use option 4 to check if and what partitions you might already have on the hard drive.
  6. “Beat the devil” out of the ‘Delete partition’ option and remove any partition on your disk.
    (Friendly advice: remove logical partitions first, then the extended one and finally the primary.)
  7. Create a new primary DOS partition and, when asked for partition size, it’s your chance to go the single or multiple partition(s) way.
    Use primary, extended and logical partitions based on what you want from your system.
  8. After letting it double scan the drive for no particular reason, reboot the PC.
    Don’t remove your boot disc/diskette yet.
  9. Start DOS again with CD support.
    Keep an eye on the startup process and check what drive letter is assigned by MSCDEX (usually R:, but check for good measure).
  10. Run format c: /s: this will format the partition (and will take a long time), then make the hard drive boot from DOS
    Depending on your boot media, it might work or spit out a Bad command or file name error.
    In the latter case, use the format utility in the setup CD, by running R:\win9#\format c: /s.
    For reasons only aware to Microsoft, the Windows Me format utility might not work with the /s switch: in this case, use the one included with the Windows 98 boot diskette.
  11. Now, run mkdir C:\winsetup.
  12. If you haven’t yet inserted the setup CD, do it now.
  13. And here’s the magic: run copy R:\win9#\*.* C:\winsetup.
  14. Once the file copy is over, remove any floppy or CD from the drives and reboot the PC.
  15. If everything went as planned, you should be greeted by a DOS prompt.
    Now run winsetup\setup.exe: what follows is the good old Windows 9x setup wizard, just WAY faster.
    Every time Windows will need a new system file, it will be smart enough to copy the files it needs directly from the winsetup folder.

A common problem you might encounter is the inability to first boot from the hard drive. To solve this, boot with the Windows 98 boot diskette and run sys c:: this will load the basic files to boot DOS.
Another hiccup might be setup.exe complaining it couldn’t run ScanDisk because of HIMEM.SYS missing from the system. If this happens, you can just ignore that or run winsetup\setup.exe /is: this will skip ScanDisk and run the setup straight away.

Method 2: “Look mum, no CD!”

An issue you might find with your old hardware is a laptop without a CD drive. I can feel you, I’ve been through this.
What you will need:

  • A (working) computer with an hard drive (500 MB should be more than enough) and a floppy drive
  • A slightly more modern computer with USB
  • The setup CD or ISO for your Windows 9x of choice
  • An IDE-to-USB adapter
    If your retro system uses SCSI, ESDI or any other interface, you will need to get creative. Or just throw in the towel
  • A Windows 98 DOS boot floppy
    Download it from AllBootDisks.com, if you don’t already have one

This method requires some tinkering with your hardware, because you will need to remove the hard drive from your old PC. Be VERY careful with that thing, because old hardware is more likely to break if not handled properly: take your time, don’t force old and brittle plastics, don’t lose screws inside the machine and don’t drop your precious stuff.
Ready?

  1. Boot from the Windows 98 boot floppy
  2. Start without CD support
  3. At the A:\> prompt, run fdisk.
  4. Use option 4 to check if and what partitions you might already have on the hard drive.
  5. “Beat the devil” out of the ‘Delete partition’ option and remove any partition on your disk.
    (Friendly advice: remove logical partitions first, then the extended one and finally the primary.)
  6. Create a new primary DOS partition and, when asked for partition size, it’s your chance to go the single or multiple partition(s) way.
    Use primary, extended and logical partitions based on what you want from your system.
  7. After letting it double scan the drive for no particular reason, reboot the PC.
    Don’t remove your floppy yet.
  8. Reboot into DOS without CD support
  9. Run format c: /s: this will format the partition (and will take a long time), then make the hard drive boot from DOS
  10. Remove the floppy from the drive and reboot. Make sure it boots into DOS right away.
  11. Turn off the PC.
  12. Remove the hard drive from the system and connect it to your newer machine with the IDE-USB adapter.
  13. Create a new folder in the external drive named winsetup.
  14. Copy the contents of the win9# folder on your CD or ISO to winsetup.
  15. At this stage, you also might want to copy over the drivers you will need for the target computer. Just create another directory and copy-paste the files you have.
  16. Once finished, safely remove the drive from the PC and put it back into its original home.
  17. Turn on your PC.
  18. Once at the C:\> prompt, run winsetup\setup.exe: what follows is the good old Windows 9x setup wizard, just WAY faster.
    Every time Windows will need a new system file, it will be smart enough to copy the files it needs directly from the winsetup folder.

A common problem you might encounter is the inability to first boot from the hard drive. To solve this, boot with the Windows 98 boot diskette and run sys c:: this will load the basic files to boot DOS.
Another hiccup might be the inability to run setup.exe with Windows wanting HIMEM.SYS. If this happens, run winsetup\setup.exe /is: this will skip ScanDisk and run the setup straight away.

Method 3: cheating with a virtual machine

If you consider your machine too slow or if there are enough hardware limitations or problems that you just can’t use CD nor floppy drives, your last resort is working with a virtual machine. I’m assuming you have a computer made in the last 10 years, meaning its processor should have virtualization support. It isn’t mandatory, but it obviously will help running a virtual machine without completely choking your CPU.
What you will need:

  • A (working) computer with an hard disk (500 MB should be more than enough)
  • An IDE-to-USB adapter
    If your retro system uses SCSI, ESDI or any other interface, you will need to get creative. Or just throw in the towel
  • A slightly more modern computer with USB and virtualization enabled
    Refer to your computer/motherboard manual for instructions on how to check and/or enable it
  • The setup ISO for your Windows 9x of choice
    If you only have a CD, you can download it from WinWorld or create an ISO image from your CD with ImgBurn
  • A Windows 98 DOS boot floppy (the *.img file)
    Download it from AllBootDisks.com, if you don’t already have one
  • A virtualization software (VirtualBox, VMware Player, Hyper-V, Virtual PC)
    Any program should work perfectly fine, but for this guide I will be using VirtualBox
  • HDDGuru’s HDD Raw Copy utility

This method requires some tinkering with your hardware, because you will need to remove the hard drive from your old PC. Be VERY careful with that thing, because old hardware is more likely to break if not handled properly: take your time, don’t force old and brittle plastics, don’t lose screws inside the machine and don’t drop your precious stuff.
Let’s get right into it.

  1. Open VirtualBox and create a new virtual machine with the following specs:
    • Name: whatever you want (“Farts” is acceptable)
    • Type: MS Windows
    • Version: Windows 98
    • Memory: whatever is suggested, 64MB should be plenty
    • Hard drive: new drive, type VHD, dynamic allocation. Size should be about 90% the destination drive capacity (for example, 3.6 GB if the drive is 4 GB)
  2. Before starting the VM, head to Settings
  3. In the storage section, set the interfaces as:
    • Floppy controller
      • Drive 0: load the Windows 98 boot floppy
    • IDE controller
      • Drive 0: it should be the VHD file, leave it as is
      • Drive 1: it should be an empty CD drive, load your Windows 9x ISO
  4. Don’t close the settings yet and head to the System section. Make sure floppy is the first boot entry
  5. Save and start the VM
  6. At the startup menu, run without CD-ROM support
  7. Run fdisk and type Y for large disk support
  8. Create a new primary DOS partition using option 1. Make it use all available space
  9. Quit fdisk and reboot the VM by pressing RightCtrl+Del
  10. Now, start DOS with CD-ROM support. Keep an eye on what drive letter gets assigned by MSCDEX (should be E:)
  11. Run format C: /s
  12. Run mkdir C:\winsetup
  13. Run copy E:\win9#\*.* C:\winsetup
  14. Once finished copying, you can shut down the VM
  15. Locate the VHD file used by VirtualBox. Usually it’s in C:\Users\{username}\VirtualBox VMs\{vm_name}\{vm_name}.vhd
  16. Connect the destination hard drive to your PC
  17. Run HDD Raw Copy
  18. At the SOURCE window, double-click FILE and browse to the VHD file you looked up before, then click Continue
  19. At the TARGET window, select the destination drive and Continue. Be careful, your internal drives are also listed and if you choose the wrong one, you will end up losing everything on it.
  20. Press START and wait until the image is completely written to the drive
  21. Close the program
  22. At this stage, you also might want to copy over the drivers you will need for the target computer. Just browse to the drive, create another directory and copy-paste the files you have.
  23. Safely eject the drive from your system, then put it back into the PC
  24. If everything went as planned, you should be greeted by a DOS prompt. Run winsetup\setup to start the installation process. What follows is the good ol’ setup wizard.

Suggested articles