I am using a prebuilt qcow2 windows 11 image which and when change from bus="sata" and address type="drive" to bus="virtio" and address type="pci" my KVM guest windows 11 does not boot .virtio drivers are already installed in the guest. I am using RHEL 9 as guest.

I have already a backup of the qcow2 image and i have done it multiple times by copying the backup qcow2 to /var/lib/libvirtd/images, i get the same result.

enter image description here

I wanted to do this cause of performace benefits but it seems windows does not boot when i make this change.

  • Why are you sure drivers are installed? Connect additional virtio disk device temporarily while boot from old sata to find out if it really works. Mar 4, 2023 at 5:52
  • I already have virtio drivers installed in my guest and host. Yes, i was able to create a qemu disk image and attach it as virtio.
    – munish
    Mar 4, 2023 at 5:52
  • i am not sure of this very old discussion on this says this is not possible access.redhat.com/discussions/679413 "RHEV will not allow changing disk controller types after a disk has been created because the guest OS usually doesn't like it. "
    – munish
    Mar 4, 2023 at 5:59
  • I don't know what they mean in that discussion, because a change of a boot drive type occurs very frequently when working with virtualization. The conclusion they made is clearly wrong; I did that many times with success. I always followed the procedure that is outlined in my answer to change the boot drive type. For 10+ years of my experience with QEMU-based virtualization (Xen, then libvirt, then Proxmox) it always worked like a charm. Never cloned anything. Mar 4, 2023 at 7:08

2 Answers 2


You need to install virtio drivers (from Fedora project) before changing the device to virtio.

Easies it to add another drive as virtio temporarily while boot from SATA, then install drivers from the ISO. Then you may remove the temporary drive and change the primary drive to virtio.

The ISO has a bunch of other features, that include netkvm (virtio network), balloon driver and service (memory usage reporting and control), virtio serial and QEMU guest agent which will allow for tighter integration of VM with the host (IP address reporting, guest filesystem freeze for on-line backup and so on). Explore additional resources to find it out!


I was able to get it working by adding another qemu drive with virtio bus after creating a new qcow2 image and then attaching to the guest

sudo qemu-img create -f qcow2 -o preallocation=metadata,size=62G /mnt/ramdisk/recovery.qcow2

then using Macrium trial version to clone it to the new virtio drive and then removing the original drive

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .