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
- iso file
- How to install Windows 98 in QEMU - Computernewb Wiki
- How TO install Windows 98 with Qemu Hardy/ Gusty x86/ AMD64 was the most useful part.
- virtual machines - How to increase video memory in libvirt/KVM gui? - Server Fault
- https://www.claunia.com/qemu/drivers/index.html
- Windows 98 & Samba – framebuffer.io
- NfsAxe Windows NFS Client And NFS Server 3.6 Download page
- PC Audio Codecs > AC'97 Audio Codecs Software - REALTEK
Specific download files
- https://www.claunia.com/qemu/drivers/w2k_8139.zip (my mirror)
- https://www.claunia.com/qemu/drivers/w9x_sb16.zip (my mirror
- http://framebuffer.io/DSCLIENT.EXE (my mirror)
- https://web.archive.org/web/20160307000259/http://www.labtam-inc.com/download/win32/pnfslabp.exe (my mirror)
- 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