Installing kvm block drivers during windows installation now works after the latest updates to the windows guest driver code repository. In this post I’ll walk through this process on a windows xp 32-bit guest and provide a floppy image that you can download and use for this purpose. The floppy image contains block drivers for Windows XP 32-bit, Windows 2003 32-bit and Windows 2003 64-bit. I’ve only tested this with windows xp 32-bit guest so provide feedback if you have any issues with windows 2003 guests.
If you’re managing your virtual machine from the command line then you need to start your new windows guest VM with the following minimum set of options.
/usr/bin/qemu-kvm \ -boot d \ -cdrom /files/en_windows_xp_professional_with_service_pack_3_x86_cd_x14-80428.iso \ -drive file=/vm/testinstall.img,if=virtio,boot=on \ -fda /home/hsolomon/Download/isos/viostor-31-03-2010-floppy.img \ -m 1200 &
The most important option is the if=virtio,boot=on and the floppy image which provides the drivers during installation. If you’re using a GUI management tool such as virt-manager, then you only need to add the floppy image before installation and specify your disk type as virtio.
Shortly after the windows install CD boots is the option to install any additional storage drivers. This is the critical thing to remember when installing storage drivers during windows installation because it’s easy to miss this. If you miss that opportunity you’ll have to restart the installation. Below is a screenshot showing the screen to hit F6 in order to install storage drivers.
Before installation begins, you’ll be prompted to specify your storage drivers as shown below.
Type “S” to specify your viostor block driver. You’ll then be prompted to specify your driver from the driver list. The floppy image contains drivers for Windows XP and 2003 as shown below. Select your driver.
Installation goes as usual after this. You will get a prompt during installation asking you to confirm the installation of the unsigned driver.
Accept and finish install as usual.
As mentioned earlier, I have only tested this with windows xp 32-bit guest. Try this floppy image with your Windows guests and feel free to comment or ask questions.