Knowledge Base

Preserving for the future: Shell scripts, AoC, and more

How I installed Windows 98 VM in virt-manager

Here are some notes I've assembled during my journey to install Windows 98 SE on a virtual machine on modern hardware. This isn't a complete follow-me guide, but hopefully can get you further in the right direction.

Summary

  • Host:
  • CentOS 7
  • kvm, QEMU
  • libvirt
  • virt-manager on remote system (Fedora) with X11
  • existing bridged network interface
  • VM:
  • cpu pentium2
  • memory 128MB
  • graphics cirrus
  • sound (couldn't get to work even with drivers) Realtek AC'97
  • bridge nic, of type rtl8139

Narrative

I used virt-manager, and selected "Create VM." I gave my new system a 30GB hard drive because I remember that Windows XP kind of wanted 40GB, so 30GB should be in the range. Also, I gave my new VM 128MB of memory because I remember that being in the low end for Windows XP.

It took me quite a while to sus out the types of graphics and sound cards that libvirt can provide that should work with Windows 98 SE. I found that I could manually type in cirrus for the graphics card even thought it wasn't in the drop-down list. In the VM, use driver Cirrus Logic 5446 PCI, which will let you get up to 1024x768x16.

I already had a bridged network card for my virtualized environments, and I emulated the Realtek 8139 for which I found drivers on the Internet. But to get the NIC recognized, I needed to perform a few steps documented on reference 3:

In Windows 98 goto My Computer>Control Panel>System>Device Manager>

Is there a yellow ! next to Plug and Play BIOS(fail safe) ?If so double click on it.

Update Driver>Next>mark Display a list of all drivers....>mark Show all hardware,>click on PCI bus>Next>The driver that you have chosen was not.... CLICK Yes>Next>The driver you have chosen is older than....CLICK Yes>Finish> Yes Restart

I couldn't get sb16 for the sound card, so I tried to find Realtek AC'97 drivers but after I installed them I couldn't get audio to work.

I forgot how many reboots it took the get Windows 98 going! It would have been frustrating if I had to wait for real hardware to boot. The VM of course boots in under 2 seconds. I also discovered that the system would always hang at boot. But it works when I forcibly-reset and at the recovery menu chose "confirm step-by-step", and then half-slowly press ENTER until I had approved every single step. I suspect the speed of the VM has something to do with choking up Windows. Yeah, that's my line and I'm sticking to it.

Injecting files into the VM

Before I got my nic up (and even afterwards, without any usable TCP/IP-based file sharing), I would build an iso file with any files I wanted to pass to the VM. Then I can mount the iso in the virtualized IDE cd drive.

mkisofs -J -rock -V drvdisc1 -o w98drivers.iso path_with_all_files/

Alternatively, you can just pass each filename to be added.

References

Weblinks

  1. iso file
  2. How to install Windows 98 in QEMU - Computernewb Wiki
  3. How TO install Windows 98 with Qemu Hardy/ Gusty x86/ AMD64 was the most useful part.
  4. virtual machines - How to increase video memory in libvirt/KVM gui? - Server Fault
  5. https://www.claunia.com/qemu/drivers/index.html
  6. Windows 98 & Samba – framebuffer.io
  7. NfsAxe Windows NFS Client And NFS Server 3.6 Download page
  8. PC Audio Codecs > AC'97 Audio Codecs Software - REALTEK

Specific download files

  1. https://www.claunia.com/qemu/drivers/w2k_8139.zip (my mirror)
  2. https://www.claunia.com/qemu/drivers/w9x_sb16.zip (my mirror
  3. http://framebuffer.io/DSCLIENT.EXE (my mirror)
  4. https://web.archive.org/web/20160307000259/http://www.labtam-inc.com/download/win32/pnfslabp.exe (my mirror)
  5. https://www.realtek.com/en/agree-to-download?downloadid=f46b37f00890518f2f9bd795606dd56d which lead to CDN file https://realtekcdn.akamaized.net/rtdrivers/pc/audio/0001-WDM_A406.exe?token=exp=1644240073~acl=/rtdrivers/pc/audio/0001-WDM_A406.exe~hmac=9a498ee5fe5329f71a67d3aba0e9de67fa834c9fcdbf20c5d68135890732bb17 (my mirror)

Internal files

My original Windows 98 SE license key

Comments