Installing Windows 95 on Qemu
First of all Windows 95 will run on Qemu.. Yes even the hokey Windows 95a. However the PCI support from the first version of Windows 95 is.. not all that good. Prepare for hell.
For what it's worth, I find that Qemu 0.90 is the best overall version of Qemu.. 0.10.5 will 'work' but don't be surprsed if the sound doesn't work 100%... And there are MASSIVE pauses while the disk image expands...
I've found that you really need four key things for a good Qemu Windows 95 system:
- Intel PCI drivers for 95
- VBEMP video driver for 95
- 8029 NIC driver for 95
- mkisofs for building an install CD with tools..
Optional would be Internet Explorer 5.5sp2.. which is the last version to run on Windows 95.
Rough guide ISA
The first thing I did was to grab a bootdisk & make sure I could fdisk/format the hard disk & mount a CD-ROM.. Now if you don't have a good bootdisk for MS-DOS or an MS-DOS intall set, I'd recommend bootdisk.com
I'm using a real CD-ROM with Windows 95.. It's the 'upgrade' version so there is a little hackery to get around installing Windows 3.1..
The first thing you'll need to do is create a virtual hard disk. Because Windows 95 is a fat16 OS you can only have 2GB max partitions.. So I just create a 2gb disk.. I think the 'minimum' you would want would be 200MB..
qemu-img create -f qcow win95.disk 2G
Anyways for the first boot on Qemu 0.10.5 it looks like this:
qemu -L . -hda win95.disk -m 32 -M isapc -cdrom \\.\d: -fda bootfloppy.vfd -boot a
This will create & run a Windows 95 ISA machine, mount the physical CD-ROM and boot from the 'floppy'. From here you'll want to fdisk & format the hard drive.. It's not that hard with MS-DOS 6.22 as it'll want to just do it (keep hitting 1!)..
From the it will want to reboot, and you can format the hard disk....
format c: /s/u/v:hard_disk/q
Now with the disk formatted, I'm going to 'assume' your boot disk can read the CD-ROM.. I prep a fake windows 3.1 directory, and then copy the install files to the hard disk...
c: cd \ md install cd install md win95 cd win95 copy d:\win95\*.* . cd \ md win cd win dir > win.com md system cd system dir > win386.exe
Ok, now from here I'd close Qemu, and start it up like this:
qemu -L . -hda win95.disk -m 32 -M isapc -soundhw sb16 -vga std
This forces the virtual machine to have a Soundblaster 16 & standard VGA. The cirrus drivers in Windows 95a will *NOT* work with Qemu... Also we are still going to install this as an ISA computer. Once MS-DOS has done it's quick boot (no config.sys/autoexec.bat) we go ahead and run windows setup.
cd install\win95 setup
From here the setup program will start to copy files, and then prompt you that it wants to check for a previous windows install.. It'll find the 'stub' windows and then prompt for a new install in the C:\windows direcotory. So far so good. From here I usually modify the hardware myself, unselect all network cards, scsi cards, remove the video except for the standard VGA adapter, remove all audio cards, and select only the soundblaster, and let it do it's thing.
Then it will reboot the VM a few times, ask about printers, and whatnot.. Then you will have a running Windows 95 machine on ISA hardware. From here I'd recommend you shut down the VM, and backup the disk image.. This way you have something to fallback on that will boot, because from here the PCI 'upgrade' gets trickey.
This phase is trickey as you have to do a lot of foot work, but I find the PCI stuff works better then ISA... And I like SVGA not 16 colors..
Creating an update CDROM
In a directory with the NIC driver, PCI drivers & Internet explorer you'll need to run mkisofs. It's somewhat simple just use something like this:
..\mkisofs.exe -o ..\update.iso -J -r -v -V 95up_disk .
Starting the updates
Ok with your disk image backed up, it's time to start the PCI fun. We now run Qemu like this:
qemu -L . -hda win95.disk -soundhw sb16 -M pc -m 32 -vga std -cdrom update.iso
On the first boot nothing will have changed, you've got to kick in the hardware detection in the control panel to get Windows 95 to realize you are on a PCI machine now. From here it will go crazy installing device drivers for all kinds of things. And it will want to reboot a few times. I interuppeted it on the 3rd reboot about the fifo IDE stuff... I just hit cancel until the explorer window opened up. Once you can get to explorer it's time to run the Intel PCI updates for Windows 95.
This should be run first, it's called infinst_enu.exe . You HAVE to have gotten Windows 95 to do some PCI detection ahead of time, otherwise the driver will say there is NO PCI chipsets in the system. And yes most devices will not work until you've run this update.. It's annoying. Run the utility, let it do it's thing and it'll reboot a few times. Now you should have the PCI stuff running. If the video prompts for a driver you should just ignore it for now.
Next I just opened up the hardware manager, and pointed the video card to the 'new' driver located on the CD in VBE9X\UNI .. After installing the driver, and a reboot the VGA card was 'still in the way'. Simply open up the hardware manager and remove the VGA card, and reboot and it'll now be running the new SVGA / VESA driver. The only 'issue' I've had with this driver is that MS-DOS prompts seem to corrupt the screen... alt+enter seems to 'fix' it..
The network driver is simple to install. Shut down Qemu, and now use the following command to run Qemu :
qemu -L . -hda win95.disk -soundhw sb16 -net nic,model=ne2k_pci -net user -M pc -m 32 -vga std
On bootup it will detect that a new NIC has been added.. Point it to your CD-ROM for the driver, then it will need the Windows 95 install files (remember c:\install\win95) to get it going. Also you may want to check protocols and remove everything, and add TCP/IP in there as it's the only thing that will work with user mode networking...
Ok, this should be about it to get your system running... You should have sound, networking & video ... Enjoy the best of 1995!
Where to go from here
With a base install of Windows 95, there are a bunch of little things that you will most likely want.
- Installer 2.0 for 95
- Service pack 1 for Windows 95
- Direct X 8.0
- MP3 codec
- OpenGL for 95
- Winsock 2 update
- MSN Messenger 5.0 for Windows 95
And once you've installed Internet explorer 5.5sp2 that is about as far as Windows 95 will go.