tested on:

  Operating System: CentOS Linux 7 (Core)
       CPE OS Name: cpe:/o:centos:centos:7
            Kernel: Linux 4.15.9
      Architecture: x86-64
# using
vboxmanage --version
5.2.6r120293

ah lovely isn’t it? BSOD Win98 style… errors were NOT the exception, they were THE NORM (and still are).

what works?

  • USB pass through of vFAT formated USB sticks
  • network
  • vga resolution 16/32Bit TrueColor and resolutions higher than 640×480
  • mouse integration
  • sound

what does not work?

  • vbox shared folders
  • proper shutdown of the vm
  • firefox v 10
    • setup crashes

WHY ON EARTH WOULD YOU WANT TO RUN WIN98 or WIN95 in 2019?

… maybe to play Commander Keen?

had a request of mechanic that uses very old windows based software and his 30 year old laptop broke down.

thats the only reason why i started this endeavor.

so the question is: can we get those diagnostic programs up and running on recent hardware inside a vm?

or does one really have to buy very very old and sometimes scarce hardware such as a Toshiba Satellite Pro 4600?

Windows 98 NOT officially supported by VirtualBox:

“Forenote: Windows 9x is not officially supported by VirtualBox team,

which means

that it lacks Guest VM Additions

it runs slowly

because VirtualBox is not optimized to run Win 9x.” (src)

how on earth can one exchange files?

Well i guess the “easiest” way is to “burn” all files you want to pass to Win98 on an image.iso and mount it.

# deb based
apt install mkisofs
# rpm based
yum install mkisofs
mkisofs -o mountableimage.iso /path/to/software
# unless you want to turn a real cdrom/dvdrom into an image.iso (if sr0 is your dvd-drive)
dd if=/dev/sr0 of=/directory/example.iso

16Bit vga sucks X-D

Performance Note: VirtualBox is not optimized for 16-colors (4-bit) emulation.

It works very slow this way.

Having 32-bit True Color driver makes Win98 VMs run on VirtualBox *much* faster.

If you want True color or high resolution, you need to download special drivers.

3.2. SciTech Display Doctor (recommended)
The second option is to get the SciTech Display Doctor version 7 beta driver (12 MB) –
(contributed by Richard_S)

download them here: https://docs.google.com/open?id=0BycgkM … UhnWGRycVE

The driver is a high quality commercial grade video driver (even includes some software emulated Open GL 3D support), and it does include an exe installer program.

Despite having an installer, the SciTech Display Doctor is a little tricky to get going.

After the program launches, you have to find the little round radio button link to click to ‘enable’ the new driver (otherwise you still have VGA).

Even then, you can’t select any higher resolution modes until you ditch the ‘default monitor’ and select one of the ‘Super VGA’ types.

After fiddling around with the above changes and rebooting several times you should be able to select 800×600 or 1024×768 (or higher) resolutions with 32 bit color depth. (setting 32 bit color mode optimizes the interface with Virtualbox and really speeds things up)

4. Network works out of the box! 🙂
Easiest thing, is to setup VirtualBox to NAT, and AMD PCnet-II network chip.

It will be auto-detected by Win 9x.

5. Mouse integration
(contributed by stefan.becker)

VirtualBox 4.1 provides for Windows-98-compatible USB tablet device.

Enable USB Tablet: VM->Settings->System->Enable Absolute pointing device

there is no such option anymore in VirtualBox 5.2.6 but you can put it on “Tablet”

then on the linux host fire up a terminal:

# to enable Windows-98 mode
VBoxManage setextradata "VM name" "VBoxInternal/USB/HidMouse/0/Config/CoordShift" 0

have the Win98SE.iso ready, it will ask for a HID driver after reboot (which can be found on the Win9X.iso, the drive letter may have changed from E: to D:, adjust accordingly)

6. Shared Folders
Since VirtualBox shared folders won’t work, there are other ways, such as SMB/Windows File Sharing.

Recommended for Windows hosts.

(Tested with VBox 2.1.2.– and was successful with “bridged” network. I had no success with NAT.)
WARNING: I admit that with VirtualBox the network is very unstable, presumably due to very slow performance of Win 9x guests under VBox.

For Unix hosts, WinSCP is recommended.

Another way of read-only file sharing is to create a virtual CD-ROM *.iso file on the host and insert it into the guest VM.

7. Clipboard Host<=>Guest
(contributed by stefan.becker)

Clipboard integrated in VirtualBox only works with the Guest Additions, so not for Windows9x.

But there is another workaround: Clipboard over TCP/IP

A Solution tested successfull with Linux Host is ShareClip: http://homepage.mac.com/bnej/shareclip/

-Technologov
Written on 2.9.2008, updated on 18.07.2011.

Please discuss this tutorial here

This topic is only for additions to this tutorial. Do not ask questions about how to get something working. Use a separate topic for that.

how to pass USB vFAT Stick to Win98:

you will need to plugin/out/in/out several times to make win98 accept usb sticks/drives/devices…

first of you will need to install those mass storage device drivers…

Windows 98 Second Edition (4.10.2222): Windows 98SE USB Mass Storage Device Drivers

These drivers offer generic USB mass storage support for Windows 98SE. You should check your version of Windows 98 before installing. Once installed USB mass storage devices should work within Windows 98. Only install these drivers on Windows 98SE where Mass Storage Devices are not working.

Version 3 of the drivers includes generic USB 2.0 controller drivers adding USB 2.0 support for computers that support it.

To install the drivers

Version 3.x

  1. Download the exe file to the desktop
  2. Remove ALL drivers for USB flash drives in Device Manager
  3. Remove ALL drivers for any USB 2.0 controllers (many have an uninstall option)
  4. Remove ALL unknown devices from Device Manager
  5. Run the exe file you downloaded, and follow the instructions, rebooting after installation
  6. When the computer boots up again, it may detect new USB 2.0 controllers, in which case you may need to reboot again

Version 2.x

  1. Download the exe file to the desktop
  2. Remove ALL drivers for USB flash drives in Device Manager
  3. Remove ALL unknown devices from Device Manager
  4. Run the exe file you downloaded, and follow the instructions, rebooting after installation

 

Disclaimer

You should note, that these drivers are generic, and they may not work with some devices. It is also only intended for the English version of Windows 98SE, although there are some other language versions below. Installing on the wrong version of Windows may cause problems with your operating system. There is no guarantee that they will work with your device, but our experience shows that they work with most without problem.

Please also note that these drivers are not warranted in any way, and no support is offered for them; you use at your own risk. As a precaution, whenever making changes to your operating system, we recommend you do a full system backup. If you do experience any problems, you can always try asking in our forum.

 

Download

The drivers can be downloaded from the following link:

Windows 98 SE Generic USB Mass Storage Device Drivers v3.3 – nusb33e.exe

Windows 98 First Edition (4.10.1998): Windows 98FE USB Mass Storage Device Drivers:

 

These drivers offer generic USB mass storage support for the original release of Windows 98, sometimes called Windows 98 First Edition, or 98FE. You should check your version of Windows 98 before installing. Once installed USB mass storage devices should work within Windows 98.

These drivers include generic USB 2.0 controller drivers adding USB 2.0 support for computers that support it.

 

To install the drivers

  1. Download and install the Windows 98 Service Pack (35.5Mb)
  2. Download to your desktop the driver file from the Download section below
  3. Remove ALL drivers for USB flash drives in Device Manager
  4. Remove ALL drivers for any USB 2.0 controllers (many have an uninstall option)
  5. Remove ALL unknown devices from Device Manager
  6. Run the exe file you downloaded, and follow the instructions, rebooting after installation
  7. When the computer boots up again, it may detect new USB 2.0 controllers, in which case you may need to reboot again

 

Disclaimer

You should note, that these drivers are generic, and they may not work with some devices. It is also only intended for the English version of Windows 98, although there are some other language versions below. Installing on the wrong version of Windows may cause problems with your operating system. There is no guarantee that they will work with your device, but our experience shows that they work with most without problem.

Please also note that these drivers are not warranted in any way, and no support is offered for them; you use at your own risk. As a precaution, whenever making changes to your operating system, we recommend you do a full system backup. If you do experience any problems, you can always try asking in our forum.

 

Download

The drivers can be downloaded from the following link:

Windows 98 FE Generic USB Mass Storage Device Drivers v3.20 – nusb320-Eng-98FE.exe

 

Other Versions

 

Version 3.20 Japanese nusb320-Jpn-98FE.exe
Version 3.1.2 Beta English nusb312b-Eng-98FE.exe
Version 3.1.1 Alpha English nusb311a-Eng-98FE.exe
# make sure the stick is vFAT (16 or 32) formatted
# and you can access/mount the USB stick via linux host
dmesg
[28827.846256] usb 2-6: Manufacturer: TOSHIBA
[28827.846259] usb 2-6: SerialNumber: 0EF03160B1510A07
[28827.848502] usb-storage 2-6:1.0: USB Mass Storage device detected
[28827.848714] scsi host6: usb-storage 2-6:1.0
[28828.869800] scsi 6:0:0:0: Direct-Access     TOSHIBA  TransMemory      1.04 PQ: 0 ANSI: 0 CCS
[28828.870430] sd 6:0:0:0: Attached scsi generic sg3 type 0
[28829.971819] sd 6:0:0:0: [sdd] 1001472 512-byte logical blocks: (513 MB/489 MiB)
[28829.972006] sd 6:0:0:0: [sdd] Write Protect is off
[28829.972010] sd 6:0:0:0: [sdd] Mode Sense: 23 00 00 00
[28829.972177] sd 6:0:0:0: [sdd] No Caching mode page found
[28829.972180] sd 6:0:0:0: [sdd] Assuming drive cache: write through
[28829.974617]  sdd: sdd1
[28829.975719] sd 6:0:0:0: [sdd] Attached SCSI removable disk
[28830.397330] FAT-fs (sdd1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.

select USB device to pass through:

you should see something like this…

note the little green arrow on the bottom right corner… that let’s you unmount (or umount 😉 USB drives… after several tries it should unmount.

try several mount/unmounts… sometimes it says “device not ready” on first tries.

do not give up so easily.

it’s not your fault – but faulty USB drive support in win98.

one question remains to be answered…. if other USB devices can be reliably passed through to the Win98 VM which is essentially what a lot of people probably want to do.

to still use their old USB-serial-adapters and programs with this virtual machine.

to spare you the pain of going through all of this

you might simply download the “ready to go” virtualbox vm here

sha512sum here

it is the German version of SE however!

liked this article?

  • only together we can create a truly free world
  • plz support dwaves to keep it up & running!
  • (yes the info on the internet is (mostly) free but beer is still not free (still have to work on that))
  • really really hate advertisement
  • contribute: whenever a solution was found, blog about it for others to find!
  • talk about, recommend & link to this blog and articles
  • thanks to all who contribute!
admin