How to install Windows 95 in QEMU

< Windows 3.1 | Windows 98 >

Windows 95 with Welcome screen.

Windows 95 is an operating system created by Microsoft, released in August 1995. Support ended on December 2001.

Running on CollabVM

The Windows 9x series has a slight problem running on CollabVM (and QEMU itself; more on that later) out of the box, and that is the mouse. The mouse will be off position from the host mouse. This is due to Windows 95 having no USB support at all. However, special USB 1.1 drivers are known to exist for Windows 95B, so if you can find drivers for USB 1.1, then the mouse will function smoothly.

QEMU also has some problems running Windows 95 itself - it tends to be glitchy at times and sometimes BSODs or crashes, but this happens rarely and its not unusable. Also, Windows 95 may sometimes fail to boot under a memory allocation error but this usually goes away on the next restart. This usually happens more on Windows 95 RTM ("Gold") and less on "OSR 2", so it is recommended to run OSR 2.

Also, due to the old age of Windows 95 (it was released in 1995; 29 years ago (1995)), practically no modern programs will run on it. It is recommended to run Windows 98 instead since it is able to run KernelEx, which is capable of running a few modern programs.

Starting up

QEMU

Pre-installation

Make a qcow2 image (or a raw image if you want) by typing

qemu-img create -f qcow2 win95.img 700M

700M can be replaced with however big you want the hard drive to be (with M standing for Megabytes). Windows 95 is not a space hog or resource intensive, being such an old OS - you can even make the disk space as low as 70MB (for a compact installation) but this is unrecommended. Win 95 RTM does not support hard drives more than 2 GB, and hard drives bigger than 2 GB tend to be slightly unstable under 95, so it is not recommended to make the disk size anymore than 2G.

When that's done, run the following command:

qemu-system-i386 -hda win95.img -cdrom win95_iso_name.iso -boot d -cpu pentium -m 64 -vga cirrus -net nic,model=pcnet -net user -localtime

We do not enable KVM - Windows 95 does not work with it. We also don't use cpu host because we aren't using KVM (and we wouldn't want a modern CPU running under 95 anyway). This command does not require root or virtualization.

We set the memory to 64 but it can be as low as 4 MB, but this is really not recommended if you want your users to be running any programs. The highest Windows 95 can still boot on without a memory allocation error is ~400 MB.

After installation

qemu-system-i386 -hda win95.img -boot c -cpu pentium -m 64 -vga cirrus -net nic,model=pcnet -net user -localtime

< Windows 3.1 | Windows 98 >