Back to the Microsoft Windows in DOSBox-X
Installing Microsoft Windows 95 in DOSBox-X
- Installing Microsoft Windows 95 in DOSBox-X
- Windows CD-ROM editions this guide applies to
- External links
- DOSBox-X config file
- General installation Notes
- Dynamic vs Normal core
- Turbo mode
- Creating a Harddisk image
- Installation Method
- Steps to take after installation
- Mounting CD or Diskette images
- Enabling networking
- Emulated video adapter and video mode
- Emulated sound card
- Enabling General MIDI
- Enabling printing
- 3dfx Voodoo
- Hard Disk Read-ahead optimization
- Host Folder mounts
- Known limitations
- Outstanding issues
This guide will give a general description of installing Windows 95 in DOSBox-X, in addition to addressing some common issues.
Windows CD-ROM editions this guide applies to
Windows 95 (RTM; Original release) - Retail Full
Windows 95 (RTM; Original release) - OEM Full
Windows 95 OSR1 (aka 95A) - OEM Full
Windows 95 OSR2 (aka 95B) - OEM Full
Windows 95 OSR2.1 (aka 95B) - OEM Full
Windows 95 OSR2.5 (aka 95C) - OEM Full
|This guide is meant for the Windows 95 CD-ROM editions. The Windows 95 diskette edition can also be used starting with DOSBox-X 0.83.19, but requires a lot of tedious disk swapping and is therefore not recommended.|
|Windows 95 Upgrade editions have additional requirements and are not covered by this guide.|
If you don’t know which Windows 9x version to install, we recommend that you install Windows 98SE. If you want to stick with Windows 95, we recommend to use Windows 95 OSR2 or later.
DOSBox-X config file
You first need to create a DOSBox-X config file.
[sdl] autolock=true [dosbox] title=Windows 95 memsize=64 [video] vmemsize=8 vesa modelist width limit=0 vesa modelist height limit=0 [dos] # Set 'ver=7.1' if using Win95 OSR2 (95B) or later ver=7.0 hard drive data rate limit=0 floppy drive data rate limit=0 [cpu] cputype=pentium_mmx core=normal [sblaster] sbtype=sb16vibra [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
If using Windows 95 OSR2 (or later) with FAT32 volumes, be sure to change the DOS version to 7.1 (
You can increase the allocated RAM up to the Windows 95 maximum of 480MB by setting
General installation Notes
If you get a prompt stating that C:\WINDOWS already exists, ignore it, and continue the installation.
During the installation you may be asked if you have a CD-ROM, Network card or sound card that you want it to scan for. If you have NE2000 enabled in your DOSBox-X config file, you may want to check the Network adapter check box. Your DOSBox-X CD-ROM and Sound Card will be detected regardless if you check its box or not.
In case you installed Windows 95 OSR2.5 you may have noticed that you did not get IE4 and the Active Desktop features. This is because this is an optional installation. On the CD, simply run \WIN95\IE4SETUP.EXE to install it. While there is no real advantage to either feature, installing it does bring some new and updated libraries such as MSVCRT.DLL and COMCTL32.DLL that some programs need.
Dynamic vs Normal core
Starting with DOSBox-X 0.83.10 the dynamic_x86 core, which should perform much better, has been sufficiently enhanced that it can now be used for most use-cases with Windows 95.
However, for now we still recommend that you do the installation of Windows 95 using
core=normal until issue #2215 is resolved.
But after the installation is finished you should be able to change to
Should you run into problems such as application crashes or a Windows 95 blue-screen that cannot be reproduced with
core=normal, please report the problem on the DOSBox-X Git issues page.
One known issue is that opening a DOS window in Windows 95 will cause a crash when not using
Some parts of the installation, but also starting Windows 95 can take a considerable amount of time.
You may be able to speed this up considerably (depending on the host CPU) by using the DOSBox-X Turbo mode, which can be enabled from the drop-down menu bar by selecting "CPU" followed by "Turbo (Fast Forward)". This turbo mode is not like the old Turbo button on retro PCs, but functions more like a fast-forward, and therefore should not be used when interacting with the guest OS.
By default, the moment you press a key on the keyboard, turbo mode will disengage.
|Using the mouse not disengage turbo mode, and double-clicks will be almost impossible to achieve as long as turbo mode is active.|
You may also want to enable turbo mode by default to allow Windows 95 to startup quicker by merging the following settings into your DOSBox-X config file.
[cpu] turbo = true
|This will cause some audio distortion on Windows 95 startup, if you have the Windows startup sound enabled.|
Creating a Harddisk image
|In addition to the below DOSBox-X command line utility, starting with DOSBox-X 0.83.9 it is possible to create harddisk images from the DOSBox-X menu. Go to the "DOS" menu and select "Create blank disk image…". This option allows for various common harddisk types to be created, for less common types you need to use the command line utility.|
When creating your HDD image with
Some quick rules about IMGMAKE (for more detail, see: Guide: Managing image files in DOSBox-X):
Diskette (floppy) images are always created as FAT12.
If your reported DOS version is 7.0 or lower, then harddisk images up to 2GB will use FAT16 by default.
If your reported DOS version is 7.1 or higher, then harddisk images up to 512MB will use FAT16 by default.
Larger size harddisk images will use FAT32 by default (larger than 2GB can only be created as FAT32).
Alternatively, you can use the
-fat option to instruct
IMGMAKE to create a certain FAT type (assuming that is possible for the harddisk size).
|Only Windows 95 OSR2 or later supports FAT32, for older Windows 95 releases you can only use FAT16 up to 2GB.|
First you need to start DOSBox-X from the command-line, using your newly created
This assumes that dosbox-x is in your path and
win95.conf is in your current directory.
dosbox-x -conf win95.conf
Then in DOSBox-X you need to create a new harddisk image file with
This example uses an 2GB hard disk image with a single FAT16 formatted partition. This is the maximum size for FAT16 and supported by all Windows 95 releases.
IMGMAKE hdd.img -t hd_2gig -fat 16
Or if you’re using Windows 95 OSR2 or later, you can create a FAT32 volume. Technically the FAT32 filesystem is capable of supporting partitions up to 2TB, but the generic IDE driver in Windows 95 cannot handle volumes greater than 32GB. Larger partition sizes may be possible with 3rd party drivers but are not covered here.
In later Windows versions, 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 later exFAT.
IMGMAKE hdd.img -t hd_8gig
Or if you want to create a larger disk, you can create a custom type. This is an example of a 16GB (16*1024=16384 MB) disk, which due to its size, will be formatted as FAT32.
IMGMAKE hdd.img -t hd -size 16384
Other installation methods are possible than the one described below. This method is however considered to be the quickest one with the least number of steps.
DOSBox-X 0.83.10 or later, these instructions will NOT work with other DOSBox forks.
Windows 95 CD-ROM image (named "Win95.iso" in the example below).
Getting this image file is outside the scope of this guide.
Starting the installation
This assumes you have already started DOSBox-X with the
win95.conf config file and created your harddisk image.
First mount the harddisk image you created earlier:
IMGMOUNT C hdd.img
|If you get an error saying that "This operation requires DOS version 7.10 or higher", than you’re trying to mount a FAT32 volume, and have not set your reported DOS version in your DOSBox-X config to 7.1. FAT32 volumes are only supported if your installing Windows 95 OSR2 or later.|
You will also need to mount the Windows 95 CD-ROM. There are a few ways of doing so, but this guide assumes you have a ISO image.
If you have a copy of the Windows 95 CD-ROM as an ISO (or a cue/bin pair), you can mount it as follows:
IMGMOUNT D Win95.iso
Copying the contents of the CD-ROM
While not strictly necessary, as it is possible to run SETUP.EXE directly from the CD-ROM (if 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 WIN95 directory on the CD-ROM) to your HDD image, as it will prevent Windows 95 from asking for the CD-ROM when it needs additional files later.
XCOPY D:\WIN95 C:\WIN95 /I /E
The files in the above example are copied to the C:\WIN95 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 complain that C:\WINDOWS already exists. When you get the warning below, select "Other directory" and click "Next >" to continue. On the screen afterwards, change the directory to "C:\WINDOWS" and continue the installation.|
You can now run SETUP.EXE.
C: CD \WIN95 SETUP
Now run through the installation process. The actual steps will not be covered in this guide but are pretty self-explanatory and detailed guides on the Windows 95 install process can be found online such as YouTube.
When the installer reboots DOSBox-X, and you’re back at the DOSBox-X
Z:\ prompt, type
Now 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 of your host PC you can type the below command to continue with the next phase of the installation process. This is also the command you use, after the installation is finished, to start Windows 95 in DOSBox-X.
dosbox-x -conf win95.conf
Booting Windows 95 after installation
After the installation is finished, you can start Windows 95 from the command-prompt of your host PC, with the following command:
dosbox-x -conf win95.conf
You can optionally create a shortcut on your desktop to start Windows 95 directly.
Steps to take after installation
Once Windows 95 is installed, here is some additional software you may want to install or update:
Install Microsoft .NET framework version 1.0 and 1.1 (includes Visual C++ 2003 runtime)
Install Unofficial Windows 95 OSR2 Service Pack 1.05
Install/Update to Microsoft Internet Explorer 5.5SP2 (rarely needed)
Install Microsoft WinG 1.0 (needed by just a few games, and those games typically include it)
Install Microsoft DCOM 4.71.1015.0 (DCOM95.EXE)
Install/Update to Microsoft DirectX 8.0a
Install/Update to Microsoft Windows Media Player 6.4
Install Adobe Acrobat Reader 5.05
Install/Update to Adobe Flash Player 188.8.131.52
Install Apple QuickTime 5.0.5
Install the 3dfx Voodoo 3.01.00 reference drivers
This may also be of interest: Forum thread about: Last versions of software for Windows 95
Mounting CD or Diskette images
DOSBox-X supports mounting CD and diskette (floppy) images, and making those available to an OS booted in DOSBox-X. But only if the image files are specified before starting real DOS or Windows 9x. The option to load image files from the menu bar becomes unavailable the moment you boot DOS or Win9x in DOSBox-X.
This is a known limitation that hopefully will be resolved in the near future.
For now, you can work around it, by specifying multiple image files with the IMGMOUNT command as such:
IMGMOUNT A disk1.img disk2.img disk3.img IMGMOUNT D cd1.iso cd2.iso cd3.iso
You can then swap between disk images with the swap option from the menu.
To enable networking, you first need to enable NE2000 adapter emulation in your
win95.conf config file and select an appropriate back-end for the NE2000 emulation.
Enabling NE2000 in your DOSBox-X config file
Starting with DOSBox-X 0.83.12 there are two different back-ends to the NE2000 adapter emulation.
The default is
backend=auto, which implies
backend=slirp if SLIRP support is available, otherwise
backend=pcap is implied if PCAP support is available.
The PCAP back-end uses something called "Promiscuous mode". This has the advantage that DOSBox-X can support various legacy network protocols, such as IPX and NetBIOS Frames (aka NetBEUI) in addition to TCP/IP. This mode not only allows communication between DOSBox-X instances on the same network, but also with legacy PCs on the same network.
However, for this to work DOSBox-X needs to have very low-level access to your real network adapter. In some cases, this is not possible, such as:
Network Adapter or Driver not supporting Promiscuous mode (most wireless adapters fall into this category).
Your Ethernet switch not allowing multiple MAC addresses on a single port or doing any kind of MAC address whitelisting.
Sandboxed versions of DOSBox-X (e.g., Flatpak) not allowing the required low-level access.
To enable NE2000 emulation with the pcap back-end, add the following to your
win95.conf config file:
[ne2000] ne2000=true nicirq=10 backend=pcap [ethernet, pcap] realnic=list
list value for
realnic= will need to be replaced by a value representing your actual network adapter.
See Guide: Setting up networking in DOSBox-X for more information.
Unlike the PCAP back-end, the SLIRP back-end does not require Promiscuous mode. As such it will work with wireless adapters, and it will work in most sandboxed environments.
But obviously, it has its own limitations.
It is not supported in all platforms, such as Windows Visual Studio builds.
It only supports the TCP/IP protocol (other protocols must be TCP/IP encapsulated).
It is effectively behind a NAT (Network Address Translation) gateway, meaning that you can communicate outbound, but no systems on the LAN can instantiate a new connection to it. Which means that two DOSBox-X instances on the same LAN using
backend=slirpcannot communicate with each other.
To enable NE2000 emulation with the SLIRP back-end, add the following to your
win95.conf config file:
[ne2000] ne2000=true nicirq=10 backend=slirp
Setting up NE2000 networking in Windows 95
Detection during installation
Windows 95 setup wizard will ask if you want to detect additional hardware during installation. The exact options presented may vary depending on the Windows 95 edition. You can tick the "Network adapter" checkbox, and it should continue and find the emulated NE2000 adapter.
It will however, not give you the possibility to set the resources at this point, and you will need to do so in device manager afterwards.
Once the Windows 95 installation is finished, right-click on "My Computer" on the desktop and select "Properties". Now in the "System Properties" dialogue, select the "Device Manager" tab.
Highlight the "NE2000 Compatible" entry and click on the "Properties" tab and then click the "Set Configuration Manually" button.
Now you need to highlight the "Interrupt Request" entry and click the "Change Setting…" button. You can now change the IRQ to 10 to match the
nicirq= value in your DOSBox-X config file.
Next, highlight the "Input/Output Range" entry, and again click the "Change Setting…" button. Now change the value to "0300 - 031F".
Once you’re finished adjusting the resources, click the "OK" button, and Windows 95 will prompt you to shut down to apply the settings, after which you need to restart Windows 95 in DOSBox-X.
|By default, Windows 95 only enables Novell’s IPX/SPX protocol. Most Windows 95 applications expect TCP/IP which you will need to manually enable in the Network settings.|
NE2000 Detection after installation
If you enabled NE2000 support in your DOSBox-X config file after Windows 95 installation, go to "Start", "Settings" and "Control Panel" and double-click on "Add New Hardware".
In the "Add New Hardware Wizard" dialogue, click the "Next >" button to continue.
Now select "Yes (Recommended)" and click the "Next >" button to continue. It will ask for another confirmation. Again, simply click the "Next >" button.
If it detected new hardware, you should get this dialogue. You can click the "Details…" button to see what it found, after which you can click on "Finish".
It will now want you to provide some details, click on "OK".
You must at a minimum enter a value in the "Workgroup" field. If you don’t know what to type, just type "WORKGROUP".
You may also want to provide a more descriptive "Computer Name".
Don’t close the dialogue just yet though, click on the "Configuration" tab instead.
Highlight the "NE2000 Compatible" entry and click the "Properties" button.
On the "NE2000 Compatible Properties" dialogue, select the "Resources" tab, and adjust the IRQ to 10 to match the
nicirq= value in your DOSBox-X config file.
Then click "OK" to finish.
Lastly, while you’re in the Network settings dialogue, you may also want to add the TCP/IP protocol, which is not enabled by default on Windows 95.
On the Configuration tab, click on "Add", then select "Protocol" and click again "Add…"
You will now be presented with the "Select Network Protocol" dialogue. Select manufacturer: "Microsoft", and for Network Protocols: "TCP/IP", and click the "OK" button.
|In the Network settings, you can optionally remove the "IPX/SPX-compatible Protocol" that was automatically installed, as few Windows programs need it.|
|By default, TCP/IP will try to get its network configuration over DHCP, which should work in most cases. If you need to manually specify the settings, highlight "TCP/IP", and click the "Properties" button.|
Once you’re finished, Click OK to close the Network settings window, and the TCP/IP driver will be installed, and Windows will prompt you to restart your computer. Confirm, and Windows 95 will reboot. After the reboot you should have working TCP/IP networking.
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.
There is a newer S3 video driver for Win95, version 2.11.03, dated June 12, 1996.
This update adds some additional video modes. But it does not add support for 8MB video RAM, or wide-screen video modes.
The available video modes with the updated S3 Trio64 driver are:
4-bit colour (16): 640x480
8-bit colour (256): 640x480, 800x600, 1024x768, 1152x864, 1280x1024 and 1600x1200
16-bit colour (65536): 640x480, 800x600, 1024x768 and 1280x1024
24-bit colour (16.7M): 640x480
32-bit colour (16.7M + alpha): 640x480, 800x600 and 1024x768
A few enhancements have been made to the emulated S3 Trio64, compared to a real S3 Trio64:
No real S3 Trio64 was ever produced with more than 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 95 with the S3 video driver due to driver limitations. As such you will be limited to the above video modes with this driver.
|If you use an older S3 driver you may experience graphical problems (green tint) in 32-bit colour mode. These problems may not be completely solved by upgrading to the latest driver. The only known solution for now if you used an older driver is to re-install Win95 and use the 2.11.03 driver instead.|
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 [video] section:
[video] 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.
|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 simply because the SB16 Vibra is an ISA PnP card, and therefore automatically detected by Windows. There is no other real advantage of using the emulated SB16 Vibra over the SB16.
|One often heard complaint of the real SB16 Vibra is its CQM synthesis, which was used as a low-cost replacement of the OPL3 chip found on earlier cards. However, DOSBox-X does not really emulate the CQM, instead it uses the same OPL3 emulation as for the regular SB16 model. Therefore, the CQM sound quality issues with the real SB16 Vibra do not apply to DOSBox-X.|
An optional driver update to 4.38.14 is available on the VOGONS Vintage Driver Library (ignore that the download claims it is for Windows 98, the update is for both Windows 95 and 98).
There have been reports from some users that with sound enabled, that Windows 9x games crash.
If you encounter similar issues, try to set
Enabling General MIDI
If you have a working DOSBox-X General MIDI setup, either emulated or real, you can use that in Windows 95.
Go to "Start", "Settings" and open "Control Panel", and then double-click on "Multimedia".
Now on the "MIDI" tab, change the "Single instrument" option to "MPU-401 Compatible", and click OK to close the window.
For more information about setting up MIDI support, see: Guide: Setting up MIDI in DOSBox-X
Also see the Guide: Setting up printing in DOSBox-X
Print to PostScript
For the best print quality, you will want to print to a PostScript printer in Windows 95.
First, set up your DOSBox-X config to print to a file as such:
[dosbox] captures=capture [parallel] parallel1=file timeout=2000
Next in Windows 95, select any PostScript printer such as the "QMS ColorScript 100 Model 30", during printer setup connected to LPT1.
Once the printer is installed, open the printers properties, and on the "Details" tab click on the "Spool Settings…" button. In the "Spool Settings", you must select "Print directly to the printer" and click OK.
|Failing to change the spool setting, when printing to a file, will result in corrupted PostScript files!|
|If two files end up being generated instead of just one for a printjob, you will want to revert the above spool setting. And perhaps try changing the spool setting to "Start printing after last page is spooled".|
When you print, a .prt file in your
captures= directory will be created, which despite the extension, is actually a PostScript file.
On Linux and macOS, PostScript files are natively supported and can be viewed and printed. On a Windows host, it is necessary to install a separate PostScript viewer such as GSview.
As an alternative, you can use the integrated Epson printer emulation, but the output quality will be significantly less compared to PostScript.
First, set up your DOSBox-X config to emulate an Epson printer as such:
[parallel] parallel1=printer [printer] printer=true printoutput=ps multipage=true timeout=2000
Next in Windows 95, select any Epson dot-matrix printer, such as the "Epson LQ-860+" option during printer setup connected to LPT1
|Make sure that you do not configure the Epson printer driver for a graphics resolution other than 180x180, or the output will be corrupted.|
When you print, a PostScript file with the .ps extension will be created in your current working directory. The emulated Epson printer settings can be adjusted as documented on the above linked wiki printing guide.
The emulated 3dfx Voodoo PCI device is enabled by default in DOSBox-X, but Windows 95 lacks drivers for it by default. As such a "PCI Multimedia Video Device" will show in Device Manager with a yellow exclamation mark.
A driver package is available here (v3.01.00) to enable support.
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:
Starting with DOSBox-X 0.83.10 it is possible to use glide pass-through with Windows 95. There are however a few points you need to be aware of.
The DOSBox-X and glide-wrapper installed on the host need to be the same architecture. So, if you’re using a 64bit DOSBox-X, you need to use a 64-bit glide-wrapper.
The Linux SDL2 DOSBox-X does not work with OpenGlide, this is a limitation of OpenGlide (see OpenGlide issue #20). The work-around is to use the SDL1 DOSBox-X instead.
You need to set the following DOSBox-X config option:
You will also need a specially patched GLIDE2X.DLL which you can place in either the
C:\Windows\System directory of Windows 95, or in the game directory.
But be aware that some games come with their own GLIDE2X.DLL, which typically gets installed in the game directory.
If so, you will have to remove this DLL file for glide pass-through to work.
For more detail on 3dfx Voodoo emulation, see the Guide: Setting up 3dfx Voodoo in DOSBox-X
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.
Host Folder mounts
Starting with DOSBox-X 2022.08.0, there is optional support to dynamically convert a host folder mount to an emulated FAT harddisk for use when you need to boot a guest OS, such as Windows 95.
This can be accomplished in one of two ways. Either when you issue the
boot command, you add the option
boot c: -convertfat.
Or by setting the following option in your DOSBox-X config file:
[sdl] convertdrivefat = true
When you now boot from a real image file, it will attempt to convert ALL folder mounts at the time of booting to emulated FAT Harddisks.
|You cannot boot from such an emulated FAT harddisk. You will still need some other bootable image file to actually boot a guest OS.|
This conversion is dynamic, effectively creating an emulated FAT harddisk out of a folder mount.
This converted FAT harddisk is not automatically stored permanently.
You can however, store it as a permanent image file that you can later mount with
|There is currently no support for creating emulated CD-ROM or Floppy drives out of folder mounts with this method. Any CD-ROM or Floppy folder mounts will also be converted to harddisk folder mounts, and may not actually work for the intended purpose.|
One thing to note, is that there is no way to specify the FAT type to use for the conversion.
The FAT type will be automatically selected based on the aggregate size of files in the folder, plus 250MiB (this can be adjusted with the
convert fat free space option in the DOSBox-X config file).
If the total space of files + 250MiB does not exceed 2GiB, it will convert it into a FAT16 disk. Otherwise, it will become a FAT32, which in turn will require a guest OS with FAT32 support.
Alternatively, you can also make the emulated FAT drive read-only by using the
-convertfatro option with the
boot command. Or by setting
convert fat free space=0 option in the DOSBox-X config file.
If you intend at any point to use a Floppy or CD during your usage of Windows 95, you must attach a floppy and/or CD image before starting Windows 95. You can load a different CD or Floppy image, once you booted Windows 95, but if a floppy or CD is not present when starting Windows 95 the drive is simply missing, and you cannot add it without rebooting the guest OS.
When mounting a CD-ROM image using
imgmount, before booting Windows 95, you may have to specify the IDE device to attach it to for it to work properly in Windows 95. e.g.
imgmount d game_cd.iso -ide 2mto make the CD-ROM drive appear as the master device on the secondary IDE controller.
Resolve "Drive A is using MS-DOS compatibility mode file system"