Windows XP Guest Notes
This page is a collection of notes for configuring and performance tuning Windows XP guest virtual machines.
IMPORTANT: I've tried to be as accurate as possible, but I'm doing a "brain dump" very quickly. Use these notes at your own risk and always take backups of your VM's before attempting any system level modifications like these.
Use VirtIO Drivers
When you build an XP guest VM, chances are you use the IDE driver to get up and running right away. The IDE driver works OK for locally stored VMs, but performance will degrade significantly when accessing disk files over the network. Below are (rough) steps to switching to the Red Hat virtio drivers in a Windows XP guest.
- Build your Windows XP VM using the IDE disk driver and the rtl8139 NIC driver. These are both recognized by default on Windows XP.
- Boot the XP VM and verify that Internet access works.
- Download and install wincdemu inside the XP guest.
- Download the latest virtio-win iso from Fedora's server into the Windows XP VM.
- Note: It's a good idea to leave this iso stored inside your VM. You may need it outside of this original setup.
- Shut down the XP VM.
- In the Proxmox web admin, click on the VM, and then on it's Hardware tab.
- Add an ethernet device, and select virtio as the model.
- Add a hard disk, select qcow2 (faster creation than raw) as the format and virtio as the bus.
- Boot into the XP VM.
- The "found new hardware wizard" should appear. Leave this window open, you need to mount the virtio driver iso first.
- Locate the virtio iso, right-click on it and click Select drive letter & mount. It defaults to the V: drive - click OK.
- Go back to the "found new hardware wizard". Click next and verify its looking for the ethernet controller. Point the drivers to V:\NetKVM\XP\<arch> (where <arch> is either amd64 or x86). Finish the driver installation, click Continue when asked if you want to install an unsigned driver.
- Go through the same process for the virtio scsi controller. Drivers are in V:\viostor\WXp\<arch> (it looks like only x86 is currently available, as of 2011-01-13).
- Shut down the XP VM.
- Delete the second (virtio) disk and remove it (it's not needed).
- Delete the primary IDE disk (doesn't actually delete it, it just removes it from being used by the VM).
- Add a new hard disk, and in the lower section, choose the original IDE disk file. Change the bus to virtio and save it.
- Boot the XP VM.
- You may be prompted to install the virtio storage driver again. Do so.
- Reboot the XP VM to ensure that your virtio drivers are working without issue.
- If you remove the realtek network adapter, you may be prompted to reinstall the virtio network driver on reboot. Do so.
Shrinking Qcow2 Disk Files
See Shrink Qcow2 Disk Files for information on reducing the size of your *.qcow2 virtual disk files.
The Page File
- Whether a page file is necessary in a virtual XP machine may be discussed elsewhere.
- Myth: At least part of the Windows Pagefile need to be on the boot partition.
- Boxes running 2000 Server, 2003 Server, 2008 Server and XP Pro, all of which can be setup with no Pagefile on the Boot partition. For best performance, setup dedicated partitions/disks for all pagefile activity.
The following makes for it's shift out to a different (virtual) drive.
My computer > Properties > Advanced ; Performance > Settings; Advanced; Virtual memory > Change; select Boot partition > No paging file.
The 12 MB minimum that is spoken of, is a system wide minimum, that the system must have available to it. However, the discs that the pagefile is spread over (to make up the 12 MB minimum or more), are totally configurable.