Windows Virtual PC only officially supports Windows XP, Windows Vista and Windows 7 as guest operating systems. Thankfully it has great compatibility and can run many operating systems that are not officially supported.
I recently needed to setup a Windows 98 virtual machine for my wife – who has some genealogy software that will not even run on Windows XP. To do this I created a new virtual machine and configured it with 64mb of RAM and a 16GB virtual hard disk.
I was then able to install Windows 98 with no real problems:
Some things to be aware of when doing this:
- I originally created the virtual machine with 128mb of RAM – but that caused problems for the setup program. Setting the memory to 64mb allowed the installation to go through successfully – and I was able to increase the memory after the operating system installation.
- I happen to have a bootable Windows 98 installation CD – but most Windows 98 installation CDs are not bootable. If you have one of these – you need to use a boot floppy – which means you will need these scripts for attaching floppy disks to virtual machines.
- While I used a 16GB virtual hard disk – because that is all that I needed – I have tried this with disks up to 127GB in size and not seen any problems.
After installation both networking and sound work correctly – but the video is kind of “sucky” and you need to capture / release the mouse whenever you use the virtual machine. Luckily you can address both of these issues by installing older virtual machine additions in the virtual machine. Doing this will give you:
- Better graphics
- Integrated mouse functionality
- Desktop resizing
But you will not get:
- Clipboard integration
- Time synchronization
- Shared Folders
- Printer / smart card sharing
But how do you do this? The trick is to extract the old virtual machine additions out of a previous product. In my case I decided to get the virtual machine additions out of Virtual Server 2005 R2. To do this what you will need to do is:
- Download Virtual Server 2005 R2 SP1
- Download the Virtual Server 2005 R2 SP1 Update
- Put both files in a temporary working directory (I used C:\work)
- Rename the Virtual Server setup.exe to 1setup1.exe
- This is needed to get around the Windows application compatibility check, which we do not care about as we will not be installing Virtual Server
- Open a command prompt and change to your temporary working directory
1setup1.exe /c /t .
This will extract the installation files out of the executable file
- Next run:
start /wait msiexec /a “Virtual Server 2005 Install.msi” TARGETDIR=”C:\Work\bits” /qn
This will extract all of the files out of the setup package
- Finally run:
start /wait msiexec /p KB948515.msp /a “C:\Work\bits\Virtual Server 2005 Install.msi” /qn
This will apply the Virtual Server 2005 R2 SP1 update to the extracted files
- Make a copy of the virtual machine additions ISO – which will be at C:\Work\Bits\Program Files\Microsoft Virtual Server\Virtual Machine Additions\VMAdditions.iso
- You can delete all the other files now – as that ISO file is the only one you need
At this stage you should start up your Windows 98 virtual machine and login. Then attach the VMAdditions.iso file to the virtual machine. The virtual machine additions installer should start automatically inside the virtual machine:
After this you will need to reboot the virtual machine.
With all this in place – some parting notes that I have are:
- Do not connect this to a network! Seriously. Windows 98 is no longer supported by Microsoft – and security updates are not being released. Furthermore – there are no antivirus programs that are being actively maintained for Windows 98. So it is just a terrible idea to do.
- If you do have to connect it to the network – here are some tips:
- Configure the virtual machine to use Shared Networking (NAT) – that will at least protect it from active network based attacks
- You can install Internet Explorer 6 from here – but please, please, please do not use the virtual machine for general purpose web browsing
- The Windows Update link in Windows 98 is broken – but you can use Windows Update by manually going to http://windowsupdate.microsoft.com