Hide Forgot
Description No virtio drivers available warning shows when converting win8 guest Version: virt-v2v-1.27.53-1.1.el7.x86_64 libguestfs-winsupport-7.1-4.el7.x86_64 libguestfs-1.27.53-1.1.el7.x86_64 virtio-win-1.7.2-1.el7.noarch How reproducible: 100% Steps to Reproduce: 1.Use virt-v2v to convert a xen win8 guest.Warning shows as: virt-v2v: warning: there are no virtio drivers available for this version of Windows (6.2 x86_64). virt-v2v looks for drivers in /usr/share/virtio-win # virt-v2v -ic xen+ssh://10.66.106.64 -os default xen-hvm-win8-x86_64 -of qcow2 [ 0.0] Opening the source -i libvirt -ic xen+ssh://10.66.106.64 xen-hvm-win8-x86_64 [ 16.0] Creating an overlay to protect the source from being modified [ 30.0] Opening the overlay [ 52.0] Initializing the target -o libvirt -os default [ 52.0] Inspecting the overlay [ 55.0] Checking for sufficient free disk space in the guest [ 55.0] Estimating space required on target for each disk [ 55.0] Converting Windows 8 Enterprise to run on KVM virt-v2v: warning: there are no virtio drivers available for this version of Windows (6.2 x86_64). virt-v2v looks for drivers in /usr/share/virtio-win The guest will be configured to use slower emulated devices. This guest does not have virtio drivers installed. [ 56.0] Mapping filesystem data to avoid copying unused and blank areas [ 58.0] Closing the overlay [ 58.0] Copying disk 1/1 to /var/lib/libvirt/images/xen-hvm-win8-x86_64-sda (qcow2) (100.00/100%) [ 339.0] Creating output metadata Pool default refreshed Domain xen-hvm-win8-x86_64 defined from /tmp/v2vlibvirtdfac7e.xml [ 339.0] Finishing off 2.Check /usr/share/virtio-win: # cd /usr/share/virtio-win/drivers/amd64 # ls Win2003 Win2008 Win2008R2 Win2012 Win2012R2 Win7 Win8 Win8.1 # ls Win8 netkvm.cat netkvm.inf netkvm.sys vioscsi.cat vioscsi.inf vioscsi.sys viostor.cat viostor.inf viostor.sys Actual results: As description. Expected results: virtio driver installed for win8 guest. Additional info: I can not get the detailed log file by -v -x,it will always hang during conversion.
It seems some windows version are badly recognized. 1.As described,win8 x86_64 guest is recognized as 6.2 x86_64. 2.Tested win7 i386,it is recognized as 6.1 i386: # virt-v2v -ic xen+ssh://10.66.106.64 -os default xen-hvm-win7-i386 -of raw [ 0.0] Opening the source -i libvirt -ic xen+ssh://10.66.106.64 xen-hvm-win7-i386 [ 16.0] Creating an overlay to protect the source from being modified [ 30.0] Opening the overlay [ 52.0] Initializing the target -o libvirt -os default [ 52.0] Inspecting the overlay [ 59.0] Checking for sufficient free disk space in the guest [ 59.0] Estimating space required on target for each disk [ 59.0] Converting Windows 7 Ultimate to run on KVM virt-v2v: warning: there are no virtio drivers available for this version of Windows (6.1 i386). virt-v2v looks for drivers in /usr/share/virtio-win The guest will be configured to use slower emulated devices. This guest does not have virtio drivers installed. [ 60.0] Mapping filesystem data to avoid copying unused and blank areas [ 62.0] Closing the overlay [ 62.0] Copying disk 1/1 to /var/lib/libvirt/images/xen-hvm-win7-i386-sda (raw) (100.00/100%) [ 316.0] Creating output metadata Pool default refreshed Domain xen-hvm-win7-i386 defined from /tmp/v2vlibvirt377576.xml [ 318.0] Finishing off
Should be fixed in >= 1.27.54: https://github.com/libguestfs/libguestfs/commit/0ba0692fda5d866eb3ae57e9aa3c6d95de79c961
Tested with: libguestfs-1.27.54-1.1.el7.x86_64 virt-v2v-1.27.54-1.1.el7.x86_64 Use virt-v2v to convert xen-hvm-win7-i386 and xen-hvm-win8-x86_64,no such warning info shows as description. # virt-v2v -ic xen+ssh://10.66.106.64 -os default xen-hvm-win7-i386 -of raw [ 0.0] Opening the source -i libvirt -ic xen+ssh://10.66.106.64 xen-hvm-win7-i386 [ 16.0] Creating an overlay to protect the source from being modified [ 30.0] Opening the overlay [ 52.0] Initializing the target -o libvirt -os default [ 52.0] Inspecting the overlay [ 59.0] Checking for sufficient free disk space in the guest [ 59.0] Estimating space required on target for each disk [ 59.0] Converting Windows 7 Ultimate to run on KVM This guest has virtio drivers installed. [ 60.0] Mapping filesystem data to avoid copying unused and blank areas [ 62.0] Closing the overlay [ 62.0] Copying disk 1/1 to /var/lib/libvirt/images/xen-hvm-win7-i386-sda (raw) (100.00/100%) [ 303.0] Creating output metadata Pool default refreshed Domain xen-hvm-win7-i386 defined from /tmp/v2vlibvirtd7570b.xml [ 304.0] Finishing off Lock the driver. # virt-v2v -ic xen+ssh://10.66.106.64 -os default xen-hvm-win8-x86_64 -of qcow2 [ 0.0] Opening the source -i libvirt -ic xen+ssh://10.66.106.64 xen-hvm-win8-x86_64 [ 16.0] Creating an overlay to protect the source from being modified [ 30.0] Opening the overlay [ 52.0] Initializing the target -o libvirt -os default [ 52.0] Inspecting the overlay [ 56.0] Checking for sufficient free disk space in the guest [ 56.0] Estimating space required on target for each disk [ 56.0] Converting Windows 8 Enterprise to run on KVM This guest has virtio drivers installed. [ 57.0] Mapping filesystem data to avoid copying unused and blank areas [ 60.0] Closing the overlay [ 60.0] Copying disk 1/1 to /var/lib/libvirt/images/xen-hvm-win8-x86_64-sda (qcow2) (100.00/100%) [ 327.0] Creating output metadata Pool default refreshed Domain xen-hvm-win8-x86_64 defined from /tmp/v2vlibvirtca3450.xml [ 328.0] Finishing off However,for xen-hvm-win7-i386,if fails to boot with BSOD,see the screenshot. For xen-hvm-win8-x86_64,it fails to boot with locked driver,see the screenshot. So refer to the above comments,move the bug back to ASSIGNED.
Created attachment 940979 [details] screenshot of win7 32 BSOD
Created attachment 940980 [details] screenshot of win8 64
To save everyone else time, the bizarre and confusing Windows error "The driver where Windows is installed is locked" means that Windows has no driver for the main disk. In other words our installation of the viostor driver failed for some reason.
I just talked to Matt about this, and apparently the old virt-v2v did NOT support Windows 2012, Windows 2012R2, Windows 8 or Windows 8.1. Basically the method that we use to install virtio drivers does not work, and we haven't got around to reverse engineering Windows to find out how to make things work again. For more information see: https://www.redhat.com/archives/libguestfs/2014-June/thread.html#00068 Any bugs that refer to Windows 2012/2012R2/8/8.1 are going to be moved to RHEL 7.2, and you might as well not bother testing these (but of course testing Windows <= 7 is still welcome).
Can you open a separate bug for the win7 32 bit BSOD problem. I also need to the virt-v2v -x -v output from the conversion. Essentially every source hypervisor x guest x bitsize combination that fails could be failing for a different root cause, and therefore needs a new bug to be opened.
(In reply to Richard W.M. Jones from comment #10) > Can you open a separate bug for the win7 32 bit BSOD problem. > I also need to the virt-v2v -x -v output from the conversion. > > Essentially every source hypervisor x guest x bitsize combination that > fails could be failing for a different root cause, and therefore > needs a new bug to be opened. Yes,indeed this bug should only track win8 issues,for win7 guests,there is already bug 1145916,I checked win7 32 and 64 windows,they both fail with BSOD,so let's check win7 BSOD issues in bug 1145916.
*** This bug has been marked as a duplicate of bug 1190669 ***