Skip to content

Guide:Installing Windows 98

Robert edited this page May 26, 2020 · 105 revisions

Installing Microsoft Windows 98 in DOSBox-X

Table of Contents

Overview

This guide will give a general description of installing Windows 98 in DOSBox-X, in addition to addressing some common issues.

CD-ROM editions this applies to

  • Windows 98 (RTM; Original release)

  • Windows 98 Second Edition (98SE)

This guide assumes a Full Retail or OEM version of Windows 98. Upgrade editions have additional requirements not covered by this guide.

DOSBox-X config file

You first need to create a DOSBox-X config file.

[sdl]
autolock=true

[dosbox]
title=Windows 98
memsize=64
cycles=60000
vesa modelist width limit=0
vesa modelist height limit=0

[cpu]
cputype=pentium_mmx
core=normal

[sblaster]
sbtype=sb16vibra
irq=5

[ne2000]
# If you want networking in Windows, set ne2000=true.
# This also requires that you set realnic= to a suitable value for your PC
ne2000=false
nicirq=10
realnic=list

[fdc, primary]
int13fakev86io=true

[ide, primary]
int13fakeio=true
int13fakev86io=true

[ide, secondary]
int13fakeio=true
int13fakev86io=true
cd-rom insertion delay=4000

[render]
scaler=none

[autoexec]

Copy the above config and save it as win98.conf

Notes

  • While Windows 98 should support up to 2048MB RAM, memsize=512 is the largest safe value. Larger values may be possible with tweaks, but are not covered here.

  • The [autoexec] section will need lines added later.

  • If you want networking in Windows, you need to set ne2000=true and change the realnic= value to one suitable for your PC. See: Guide: Setting up networking for more information.

  • Setting cycles=60000 gives significantly better video and disk performance, but slightly worse CPU performance compared to cycles=auto

General installation Notes

  • Some parts of the installation can take a considerable amount of time. You can speed this up somewhat by using the DOSBox-X Turbo mode. From the drop-down menu select "CPU" followed by "Turbo (Fast Forward)". But if you decide to use this, be sure to disable Turbo mode whenever you need to enter data or make choices, as it can cause spurious keypresses to be registered causing undesirable effects. It can also cause problems with double click with the mouse not working and audio will also not sound properly, so be sure to disable it when using Windows in DOSBox-X.

  • When creating your HDD image with IMGMAKE, instead of specifying a custom size, you can choose a pre-defined template. The pre-defined HDD templates can be seen by running IMGMAKE without arguments.

Installation Method 1: Boot from CD-ROM image

Starting with Windows 98, it is possible to boot directly from the CD-ROM, as long as you have the "OEM Full" edition, in which case no separate bootdisk is needed.

This installation method allows both FAT16 (up to 2GB) and FAT32 volumes, which can be greater then 2GB.

Requirements

  • DOSBox-X 0.83.2 or later, it will NOT work with earlier versions or other DOSBox forks.

  • Windows 98 OEM Full edition CD-ROM image (named "Win98.iso" in the example below).

Getting this image file is outside the scope of this guide.

Preparing the Harddisk image

First you need to start DOSBox-X from the command-line, using the newly created win98.conf. This assumes that dosbox-x is in your path and win98.conf is in your current directory.

dosbox-x -conf win98.conf

Then in DOSBox-X you need to create a new harddisk image file. At this time DOSBox-X’s IMGMAKE command has no support for the FAT32 filesystem, although you can use a 3rd party tool to create FAT32 image files. When using the IMGMAKE command to create a disk image that is greater than 2GB, you need to mount it as drive 2 (IDE primary master) instead of a drive letter such as Drive C.

This FAT32 example uses a 4GB partition. Technically the FAT32 filesystem is capable of supporting partitions up to 2TB, but the generic IDE driver in Windows 98 cannot handle volumes greater then 128GB. Larger partition sizes may be possible with 3rd party drivers, but are not covered here. In later Windows version, starting with Windows 2000, Microsoft won’t let you format a volume bigger than 32GB with FAT32 using its built-in formatting tool, this was presumably to push migrations to NTFS and exFAT.

IMGMAKE hdd.img -t hd_4gig -nofs
IMGMOUNT 2 hdd.img -size 512,63,130,1023 -fs none

Note: If you create a different sized HDD, pay close attention to the output of IMGMAKE and write down the sectors, heads and cylinders as you will need them to access the harddisk until it is partitioned and formatted. The IMGMOUNT size parameter should be specified as: -size 512,<sectors>,<heads>,<cylinders>.

Starting the installation

Now let’s boot from the CD-ROM and start the installation.

IMGMOUNT D Win98.iso -t cdrom
IMGMOUNT 0 -el-torito D -t floppy -fs none
BOOT A:

If the second IMGMOUNT command gives an error "El Torito boot record not found", your CD-ROM image is not bootable, and you will have to use either a different installation method or a different Windows 98 CD-ROM image.

You will first get a Startup menu, where you need to select "Boot from CD-ROM".

The installer will now ask you to configure unallocated space. Continue with the recommended settings, and when it asks if you want to enable large disk support, select Yes. After this the Setup program will reboot DOSBox-X, and your again at the Z:\ prompt.

You now need to perform the same IMGMOUNT and BOOT commands as before.

IMGMOUNT 2 hdd.img -size 512,63,130,1023 -fs none
IMGMOUNT D Win98.iso -t cdrom
IMGMOUNT 0 -el-torito D -t floppy -fs none
BOOT A:

At this point it should format the harddisk and the installation process should start.

When the Windows installer again reboots, and your back at the DOSBox-X Z:\> prompt. Close DOSBox-X and edit your win98.conf config file, and add the following lines in the [autoexec] section at the end of the file:

IMGMOUNT C hdd.img
IMGMOUNT D Win98.iso -t cdrom
BOOT C:

Now start DOSBox-X as follows to continue the installation process:

dosbox-x -conf win98.conf

Transfer Windows install files to your HDD image

This is an optional step. It is to prevent Windows from asking for the CD-ROM whenever it needs additional files.

Boot Windows 98 with the CD-ROM image mounted. In Windows 98, copy the \WIN98 directory and its contents from the CD-ROM to your C: drive. You can copy it to any directory you want, but we assume here that you copied it to C:\WIN98

Once the files are copied, start REGEDIT and navigate to HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Setup and change SourcePath= to the location where you copied the files. e.g. SourcePath=C:\WIN98

In the case of Windows 98SE, copying the entire directory will require roughly 174MB of diskspace. The \WIN98\OLS and \WIN98\TOUR sub-directories can however be skipped which will save roughly 54MB, bringing the total to roughly 120MB.

Installation Method 2: FAT16 volume up to 2GB

This method will only allow a primary FAT16 drive of up to 2GB. If you want a larger (FAT32) primary drive, follow the first method.

Requirements

  • DOSBox-X 0.83.2 or later, it will NOT work with earlier versions or other DOSBox forks.

  • Windows 98 CD-ROM image (named "Win98.iso" in the example below).

Getting this image file is outside the scope of this guide.

First you need to start DOSBox-X from the command-line, using the newly created win98.conf. This assumes that dosbox-x is in your path and win98.conf is in your current directory.

dosbox-x -conf win98.conf

Then in DOSBox-X you need to create a new harddisk image file, and mount it as the C: drive. We use a 2048MB (2GB) HDD for this purpose, as that is the maximum size for FAT16.

IMGMAKE hdd.img -t hd_2gig
IMGMOUNT C hdd.img

You will also need to mount the Windows 98 CD-ROM. There are a few ways of doing so.

Mount as ISO image

If you have a copy of the Windows 98 CD-ROM as an ISO (or a cue/bin pair), you can mount it as follows:

IMGMOUNT D Win98.iso -t cdrom

Mount as directory

If instead you have the contents of the Windows 98 CD-ROM copied to your harddisk, in a directory 'win98', you can mount it as follows:

MOUNT D win98 -t cdrom

Mount from a CD-ROM drive

If your running Windows, you can put the Windows 98 CD-ROM in your CD or DVD drive and directly access it from DOSBox-X. In this example, we assume the optical drive is D: on your windows installation, and your also mounting it as D: in DOSBox-X.

MOUNT D D:\ -t cdrom

Copying the contents of the CD-ROM

While not strictly necessary, as it is possible to run SETUP.EXE directly from the CD-ROM (as long as you have the CD-ROM automatically mounted in your [autoexec] section of the config file), it is recommended to copy the installation files (contents of the WIN98 directory on the CD-ROM) to your HDD image, as it will prevent Windows 98 from asking for the CD-ROM when it needs additional files later.

XCOPY D:\WIN98 C:\WIN98 /I /E

The files in the above example are copied to the C:\WIN98 directory. You may want to use "C:\WINDOWS\OPTIONS\CABS" instead, as that is the directory that OEM installs normally use. But if you do, be aware that the installer will attempt to install into C:\WINDOWS.000 as C:\WINDOWS already exists. You will want to change this back to "C:\WINDOWS".

Running SETUP.EXE

You can now run SETUP.EXE.

C:
CD \WIN98
SETUP

Now run through the install process, until it reboots and your back at the DOSBox-X Z:\ prompt. At this point close DOSBox-X, and edit your win98.conf config file. At the end of the file, in the [autoexec] section, add the following two lines:

IMGMOUNT C hdd.img
BOOT C:

Save the config file, and at the command-prompt you can type the following to continue the installation process. This is also the command you use, after the installation is finished, to start Windows 98 in DOSBox-X.

dosbox-x -conf win98.conf

Installation Method 3: FAT32 volume

This installation method allows FAT32 volumes, which can be greater then 2GB.

Requirements

  • DOSBox-X 0.83.2 or later, it will NOT work with earlier versions or other DOSBox forks.

  • Windows 98 CD-ROM image (named "Win98.iso" in the example below).

  • Windows 98 bootdisk image (named "bootdisk.img" in the example below)

Getting these image files is outside the scope of this guide.

Preparing the Harddisk image

First you need to start DOSBox-X from the command-line, using the newly created win98.conf. This assumes that dosbox-x is in your path and win98.conf is in your current directory.

dosbox-x -conf win98.conf

Then in DOSBox-X you need to create a new harddisk image file, and mount it as drive 2 (IDE primary master). You cannot simply mount it a "C" until the drive is partitioned and formatted.

This FAT32 example uses a 4GB partition. Technically the FAT32 filesystem is capable of supporting partitions up to 2TB, but the generic IDE driver in Windows 98 cannot handle volumes greater then 128GB. Larger partition sizes may be possible with 3rd party drivers, but are not covered here. In later Windows version, starting with Windows 2000, Microsoft won’t let you format a volume bigger than 32GB with FAT32 using its built-in formatting tool, this was presumably to push migrations to NTFS and exFAT.

IMGMAKE hdd.img -t hd_4gig -nofs
IMGMOUNT 2 hdd.img -size 512,63,130,1023 -fs none
IMGMOUNT A bootdisk.img
VER SET 7.1
A:FDISK /FPRMT

If the HDD image you created is larger then 512MB, FDISK will prompt you if you want to enable large disk support. Confirm that you want to enable large disk support by pressing Y.

Now your in the FDISK main menu, select the following options:

  • option 1 - Create DOS partition or Logical DOS Drive

  • option 1 - Create Primary DOS Partition

Confirm that you want to use the maximum available size for the primary DOS partition by pressing Y. After this press ESC twice and your back at the MS-DOS prompt.

Do not reset the guest operating system, as FDISK implies.

Format the drive

Next you need to mount the Windows 98 CD-ROM image. This can be in ISO or CUE/BIN format.

IMGMOUNT D Win98.iso -t cdrom

And boot from the Windows bootdisk.

BOOT A:

When booting from the Windows 98 bootdisk, it should ask if you want to start Windows 98 Setup, or start the computer with or without CD-ROM support. Select to start the computer with CD-ROM support.

Now run the following commands:

D:\WIN98\FORMAT C: /S /V:WIN98

Once the format is completed, you need to reset the guest operating system (Select "Main" followed by "Reset guest system" from the menu bar), such that your back at the DOSBox-X Z:\ prompt.

Transfer Windows installation files

Once again, you need to mount the harddisk image, but because it is now partitioned and formatted you don’t need to specify the geometry any longer.

IMGMOUNT C hdd.img
IMGMOUNT D Win98.iso -t cdrom

You will now copy the contents of the CD-ROM to the HDD image.

XCOPY D:\WIN98 C:\WIN98 /I /E

The files in the above example are copied to the C:\WIN98 directory. You may want to use "C:\WINDOWS\OPTIONS\CABS" instead, as that is the directory that OEM installs normally use. But if you do, be aware that the installer will attempt to install into C:\WINDOWS.000 as C:\WINDOWS already exists. You will want to change this back to "C:\WINDOWS".

Start the installation

Your now finally ready to start the installation process.

VER SET 7.1
C:
CD WIN98
SETUP

At the end of the first phase of the installation process, the setup program will reboot DOSBox-X and your again at the Z:\` prompt.

Now close DOSBox-X, and edit the win98.conf config file and add the following two lines to the [autoexec] section at the end:

IMGMOUNT C hdd.img
BOOT C:

Start DOSBox-X from the command-line with the following command:

dosbox-x -conf win98.conf

DOSBox-X will start, and the Windows 98 installation will continue.

Booting Windows 98 after installation

After the installation is finished, you can start Windows 98 from the command-prompt with the following command:

dosbox-x -conf win98.conf

Steps to take after Installation

Once Windows 98 is installed, here is some additional software you may want to install or update:

  • Microsoft .NET framework version 1.0, 1.1 and 2.0

  • Visual C++ 2005 runtime

  • Update to Internet Explorer 6.0 (rarely needed)

  • Update to DirectX 9.0c

  • Windows Installer 2.0

  • Install WinG 1.0 (needed by just a few games, and those games typically include it)

  • GDI+ redistributable

Enabling networking

If you enabled NE2000 support in the DOSBox-X config file, and Windows 98 did not detect the adapter, go to "Start", "Settings" and "Control Panel" and double-click on "Add New Hardware", and let the wizard detect hardware. It should find the Novell NE2000 adapter, and install the drivers.

By default it will try to get it’s network configuration over DHCP, if you need to manually specify the settings, in "Control Panel", double-click "Network". Once it opens, highlight "TCP/IP", and click the "Properties" button to modify the TCP/IP settings.

In the Network settings, there may also be a "Dial-Up Adapter" listed, which you can safely delete.

Additionally, if you only want TCP/IP and don’t want the Windows logon dialog on startup, you can remove the "Windows Logon" service from the Network configuration settings (although it will complain that "Your network is not complete", which you can ignore). This does mean you can no longer share files over the network using the Windows file sharing functions, but then current Windows versions are not backward compatible with Windows 98 anyway.

If networking does not work, see Guide: Setting up networking in DOSBox-X

Emulated video adapter and video mode

The default video adapter that DOSBox-X emulates is the S3 Trio64, which is the best emulated video adapter that DOSBox-X offers, with the widest range of resolutions and colour depths.

A few enhancements have been made, compared to a real S3 Trio64:

  • No real S3 Trio64 was ever produced with more then 4MB video memory, under DOSBox-X you can optionally configure 8MB.

  • The real cards never supported wide-screen resolutions, wide-screen VESA modes can optionally be enabled in DOSBox-X.

However, these enhancements cannot be used in Windows 98 with the S3 video driver due to driver limitations. As such you will be limited to 640x480 in 32bit colour, 1024x768 in 16bit colour or 1280x1024 in 8bit (256) colour.

These restrictions can be overcome by switching to the Universal VESA/VBE Video Display Driver (VBEMP). First add the following lines to your DOSBox-X config file in the [dosbox] section:

vmemsize=8
allow high definition vesa modes=true
allow unusual vesa modes=true
allow low resolution vesa modes=false

Download and extract the latest VBEMP driver package and install the driver from the 032MB directory.

With these settings modes up to 1920x1080 in 32bit colour, or 1920x1440 in 16bit colour are possible.

Note, using the VBEMP driver does have a negative graphics performance impact, which when measured in WinBench96 Graphics WinMark, can be a reduction of up to 59%.

Emulated sound card

The emulated sound card used in this guide is the SB16 Vibra, instead of the default SB16. This is because the SB16 Vibra is a ISA PnP card, and therefore automatically detected by Windows. The emulated SB16 Vibra does not emulate the CQM, instead if uses the same OPL3 emulation as for the regular SB16 model.

Both Windows 98 and 98SE include SB16 driver version 4.37.00.1998. An optional driver update to 4.38.14 is available on the VOGONS Vintage Driver Library.

Enabling General MIDI

If you have a working DOSBox-X General MIDI setup, either emulated or real, you can use that in Windows 98. Open the "Control Panel", and then double-click on "Multimedia Properties".

Now on the "MIDI" tab, change the "Single instrument" option to "Roland MPU-401", and click OK to close the window.

For more information about setting up MIDI support, see Guide: Setting up MIDI in DOSBox-X

Enabling printing

To enable printing support in Windows 95, see Guide: Setting up printing in DOSBox-X

3dfx Voodoo

The emulated 3dfx Voodoo PCI device is enabled by default in DOSBox-X, and both Windows 98 and 98SE include a driver and will automatically detect it.

Windows 98SE includes a driver dated 4-23-1999. There is a 3.01.00 update available. After the update it will show a date of 4-29-1999.

If for some reason you do not want 3dfx Voodoo emulation, it can be disabled by adding the following lines to your DOSBox-X config:

[pci]
voodoo=false

Hard Disk Read-ahead optimization

In "System Properties", select the "Performance" tab, and click the "File System…​" button. A separate "File System Properties" window will open. On the "Hard Disk" tab you can specify the Read-ahead optimization.

Based on benchmark results (WinBench 96), it seems that setting this to "None" gives the best performance in combination with DOSBox-X, although the difference is marginal. This is no doubt because the host system is better at caching then the Windows 98 cache function.

Outstanding issues

  • Resolve "Drive A is using MS-DOS compatibility mode file system"

Clone this wiki locally