In the first part of this series I showed you a preview of the latest Redhat Windows Virtio Drivers beginning with the network drivers. In this follow up post, I’ll demonstrate how to install and use the latest windows virtio block drivers. A few things to note here. First of all, I didn’t actually use the virtio block drivers from the rpm I found in my redhat subscription account as I had some issues getting that to work. Instead I built the drivers myself from the latest gpl source, the most recent change being September 6th 2009 which provided fixes to get it working for me. This is the version I’ll be writing about today and you’ll find a copy of it at the bottom of this post. Lastly, I’ll be using virt-manager 0.8.0 for this demonstration but you can use command line if you prefer.
So far I have not been able to get the drivers to work during an install of Windows. The only way I could get this to work is to install the virtio block drivers after attaching a non system virtio disk. Once the virtio block drivers are installed, change your system disk to use a virtio controller and reboot. Thanks to Bill McGonigle for this hint.
First attach a virtio disk to your windows guest. It doesn’t matter how big this disk is and you will not need this disk after the drivers are installed. The only reason for using this disk is to get the virtio block drivers installed.
In Virt-manager choose a virtio disk to add.

Now you should have two disks attached. Your system disk and a virtio disk. In my case my system disk was used an IDE controller and is shown as "hda"

Attach the cdrom image provided in this post to your windows guest and boot. When you boot your guest with the virtio block disk attached windows will prompt you on startup for a driver to install.

Select No when the wizard asks you to search for the driver software.

Select “install from a list of specific location” .

Select the Browse button and navigate to the driver CD.

Select the appropriate folder for your guest architecture. My test was done with a windows 2003 32 bit guest.

Click Next to begin the install.

You will get a prompt warning about the driver not being signed. Go ahead and select “Continue Anyway”.

Your driver has now successfully been installed.

When you inspect your drivers you’ll now see the redhat virtio scsi controller listed.
This last step involves rebooting your windows guest. Shut down your windows guest, detach the virtio disk you added in the previous section (unless you want to continue using it) and change your system disk to use a virtio block controller. My virt-manager guest now looked like below where my system disk is shown as “vda”.

Boot your windows guest now.
Your windows guest is now using the latest windows virtio block driver.
Admittedly this is a round about way for installing the virtio block drivers on windows. I had no luck getting it work on Windows XP and so far I’ve only gotten a chance to test with windows 2003 32 bit. You should be able to use the windows 2008 drivers with Vista. Give these drivers a test and comment on any issues you have.
Attached below is an ISO image containing windows virtio block drivers built using the most recent source code (Sep 6 2009).
| Attachment | Size |
|---|---|
| viostor.iso | 1.92 MB |
Comments
Re: Just the Red Hat version worked
Friday, January 22, 2010 - 07:16 Daniel Kühl Lima (not verified)Installed Windows 2008 64 bits.
Win 2008 x86 (not R2)
Monday, March 22, 2010 - 21:13 Jonathan Lundquist (not verified)Has anyone got this working with Win2008 x86 (not R2), if so, did you have to do anything special? With both these drivers and the RedHat signed drivers, I can't get past a \Boot\BCD status 0xc0000001 error. Thank you.
Windows 7 "Tri-Boot": Ubuntu / real Windows / virtual Windows
Wednesday, April 21, 2010 - 06:14 Nils (not verified)I installed the driver with Windows 7 (disabled driver signature checks etc). Viostor.sys is loaded at boot time (I see its name in the output of the safe mode boot), but Windows doens't boot at all. I get an 0x7b STOP error, which means "inaccessable boot device".
I can start the boot recovery tool, manually load the driver once again from CD and then access the hard disk. I don't know why Windows doesn't find the hard disk itself ...
Any comments are welcome, just mail to tri-boot-kvm(at)sn4b(dot)de. Thanks!
not much luck with 64 bit Windows 2008
Thursday, May 20, 2010 - 07:15 mangoo (not verified)I didn't have much luck with 64 bit Windows 2008.
The drivers are installed, but according to Windows, "are broken", and virtio devices are unusable.
Second disk
Thursday, May 20, 2010 - 07:32 Vito (not verified)Hi,
I didn't read this article properly, but you need to keep system disk as IDE, add another VIRTIO disk, install drivers and then you can change the system disk to VIRTIO as well, I tested on Windows 2003 only though, maybe there is another issue in W7.
However I don't use VIRTIO anymore because it has performance issue, guest would stuttering all the time, with IDE has much better results.
works with Windows 2008 32 bit, not with 64 bit
Thursday, May 20, 2010 - 08:18 mangoo (not verified)I could make it work with Windows 2008 32 bit (both disk and net).
With a 64 bit version of Windows 2008, neither disk nor net virtio driver worked.
Post new comment