Windows 7 virtualization by KVM on Fedora 20

Today I managed to set up a guest Windows 7 virtual machine on a Fedora 20 host using KVM. The easy setup and the superior performance led me to the conclusion that KVM should be the preferred virtualization solution over either VMware or VirtualBox under Linux.

Your hardware must support Intel vt-x or AMD equivalent in order to run a Windows guest.

KVM/QEMU can be installed via `yum install @virtualization`, then Virtual Machine Manager becomes available in System menu.

It is straightforward to create a virtual machine and install Windows 7. Guest drivers I used are virtio-win and spice-guest-tools. Here are some screenshots of my configurations and installed guest drivers.

The guest driver makes memory management in Windows more like Linux. Nearly all the memory are reported to be consumed in Windows Task Manager just after a fresh restart.

Fig. 3. Hard drive configurations.

Setting disk bus to VirtIO is the key here. However, many people suggest setting cache mode to none. I found that the default cache mode works better. At the same time, IO mode must be set to default, which is threads.

Fig. 4. Network configurations.

Setting the device model to virtio is likely to give better performance following the hard drive configuration.

Fig. 5. Video configurations.

The default model QXL with spice guest driver can already meet my needs. You can also try VMVGA with drivers from VMware guest additions for better performance.

Fig. 6. Installed guest drivers.

After all the guest drivers are installed, the performance of the virtual machine is very satisfying. It does not support 3D acceleration, so there is no Aero, but the Classic theme is perfect for my usage patterns.