virtio-win / kvm-guest-drivers-windows

Windows paravirtualized drivers for QEMU\KVM
https://www.linux-kvm.org/page/WindowsGuestDrivers
BSD 3-Clause "New" or "Revised" License
1.92k stars 377 forks source link

virtio-win-0.1.217.iso - No Signed Drivers Found with Windows 2022 #785

Open victorhooi opened 2 years ago

victorhooi commented 2 years ago

Describe the bug When trying to install Windows 2022, using virtio-win-0.1.217.iso, I get an error:

No signed device drivers were found. Make Sure that the installation media contains the correct drivers, and then click OK.

To Reproduce

  1. Create a new QEMU KVM instance, booting from en-us_windows_server_2022_updated_june_2022_x64_dvd_ac918027.iso
  2. Attach the virtio-win-0.1.217.iso file, taken from https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.217-2/
  3. Boot the VM.
  4. On the Load Driver screen, Browse to the CD drive, then Balloon, then 2k22\amd64.
  5. Hit OK.

Expected behavior The Windows 2022 Installer should load the appropriate virtio drivers from the subdirectory.

Screenshots

Screen Shot 2022-06-28 at 06 21 03

Host:

VM:

Additional context Testing with 0.1.215 appears to work, and Windows is able to load drivers.

So I'm assuming this is some regression introduced between 0.1.215 and 0.1.217-2?

vrozenfe commented 2 years ago

all win10(+) binaries supposed to be attestation signed Checked WS2022 balloon driver and it looks fine

G:\Balloon\2k22\amd64>signtool verify /kp /v balloon.cat balloon.sys

Verifying: balloon.cat

Signature Index: 0 (Primary Signature) Hash of file (sha256): 24D81A6012F1A5AF9D541AA37D16C6EF62AEB448AB33A561BE332F74AE765734

Signing Certificate Chain: Issued to: Microsoft Root Certificate Authority 2010 Issued by: Microsoft Root Certificate Authority 2010 Expires: Sun Jun 24 08:04:01 2035 SHA1 hash: 3B1EFD3A66EA28B16697394703A72CA340A05BD5

    Issued to: Microsoft Windows Third Party Component CA 2014
    Issued by: Microsoft Root Certificate Authority 2010
    Expires:   Tue Oct 16 06:41:27 2029
    SHA1 hash: 1906DCF62629B563252C826FDD874EFCEB6856C6

        Issued to: Microsoft Windows Hardware Compatibility Publisher
        Issued by: Microsoft Windows Third Party Component CA 2014
        Expires:   Fri Sep 02 05:16:00 2022
        SHA1 hash: FFCD048D87EF3AD50590913C5C1F6D019B057ABA

The signature is timestamped: Sun Apr 10 22:25:51 2022 Timestamp Verified by: Issued to: Microsoft Root Certificate Authority 2010 Issued by: Microsoft Root Certificate Authority 2010 Expires: Sun Jun 24 08:04:01 2035 SHA1 hash: 3B1EFD3A66EA28B16697394703A72CA340A05BD5

    Issued to: Microsoft Time-Stamp PCA 2010
    Issued by: Microsoft Root Certificate Authority 2010
    Expires:   Tue Oct 01 04:32:25 2030
    SHA1 hash: 36056A5662DCADECF82CC14C8B80EC5E0BCC59A6

        Issued to: Microsoft Time-Stamp Service
        Issued by: Microsoft Time-Stamp PCA 2010
        Expires:   Fri Jan 27 05:27:39 2023
        SHA1 hash: 01AED834735A42A58E65F2497D64A2B1CBE1F327

Cross Certificate Chain: Issued to: Microsoft Root Certificate Authority 2010 Issued by: Microsoft Root Certificate Authority 2010 Expires: Sun Jun 24 08:04:01 2035 SHA1 hash: 3B1EFD3A66EA28B16697394703A72CA340A05BD5

    Issued to: Microsoft Windows Third Party Component CA 2014
    Issued by: Microsoft Root Certificate Authority 2010
    Expires:   Tue Oct 16 06:41:27 2029
    SHA1 hash: 1906DCF62629B563252C826FDD874EFCEB6856C6

        Issued to: Microsoft Windows Hardware Compatibility Publisher
        Issued by: Microsoft Windows Third Party Component CA 2014
        Expires:   Fri Sep 02 05:16:00 2022
        SHA1 hash: FFCD048D87EF3AD50590913C5C1F6D019B057ABA

Successfully verified: balloon.cat

Verifying: balloon.sys

Signature Index: 0 (Primary Signature) Hash of file (sha256): 59DD73BDF43A6E065C6C4A387ADC8F5602AD78ED3B09341AADD810DC0E9F56CB

Signing Certificate Chain: Issued to: Microsoft Root Certificate Authority 2010 Issued by: Microsoft Root Certificate Authority 2010 Expires: Sun Jun 24 08:04:01 2035 SHA1 hash: 3B1EFD3A66EA28B16697394703A72CA340A05BD5

    Issued to: Microsoft Windows Third Party Component CA 2014
    Issued by: Microsoft Root Certificate Authority 2010
    Expires:   Tue Oct 16 06:41:27 2029
    SHA1 hash: 1906DCF62629B563252C826FDD874EFCEB6856C6

        Issued to: Microsoft Windows Hardware Compatibility Publisher
        Issued by: Microsoft Windows Third Party Component CA 2014
        Expires:   Fri Sep 02 05:16:00 2022
        SHA1 hash: FFCD048D87EF3AD50590913C5C1F6D019B057ABA

The signature is timestamped: Sun Apr 10 22:25:53 2022 Timestamp Verified by: Issued to: Microsoft Root Certificate Authority 2010 Issued by: Microsoft Root Certificate Authority 2010 Expires: Sun Jun 24 08:04:01 2035 SHA1 hash: 3B1EFD3A66EA28B16697394703A72CA340A05BD5

    Issued to: Microsoft Time-Stamp PCA 2010
    Issued by: Microsoft Root Certificate Authority 2010
    Expires:   Tue Oct 01 04:32:25 2030
    SHA1 hash: 36056A5662DCADECF82CC14C8B80EC5E0BCC59A6

        Issued to: Microsoft Time-Stamp Service
        Issued by: Microsoft Time-Stamp PCA 2010
        Expires:   Wed Mar 01 05:05:15 2023
        SHA1 hash: F32C1EFE217933C7C8536693EB2437BE73E95793

Cross Certificate Chain: Issued to: Microsoft Root Certificate Authority 2010 Issued by: Microsoft Root Certificate Authority 2010 Expires: Sun Jun 24 08:04:01 2035 SHA1 hash: 3B1EFD3A66EA28B16697394703A72CA340A05BD5

    Issued to: Microsoft Windows Third Party Component CA 2014
    Issued by: Microsoft Root Certificate Authority 2010
    Expires:   Tue Oct 16 06:41:27 2029
    SHA1 hash: 1906DCF62629B563252C826FDD874EFCEB6856C6

        Issued to: Microsoft Windows Hardware Compatibility Publisher
        Issued by: Microsoft Windows Third Party Component CA 2014
        Expires:   Fri Sep 02 05:16:00 2022
        SHA1 hash: FFCD048D87EF3AD50590913C5C1F6D019B057ABA

Successfully verified: balloon.sys

Number of files successfully Verified: 2 Number of warnings: 0 Number of errors: 0

Why are you trying to install balloon driver during the OS installation stage? You should be choosing viostor or vioscsi at this point.

Best, Vadim.

victorhooi commented 2 years ago

I normally install four VirtIO drivers during Windows installation:

I also tried with vioscsi - I get the same error message. (I've included some screenshots at the bottom).

Here is the checksum of the virtio ISO I'm using:

# md5sum virtio-win-0.1.217.iso
e3c9613adcbc7d8721350e0ef5f99964  virtio-win-0.1.217.iso

0.1.217 does not work (i.e. no signed drivers found), but 0.1.215 does work. Do you know any reason there might be a difference between the two?

Here is the checksum of the Windows installer ISO I'm trying with:

# md5sum en-us_windows_server_2022_updated_june_2022_x64_dvd_ac918027.iso
b15f9bbf2a55be3223641ca14192fb21  en-us_windows_server_2022_updated_june_2022_x64_dvd_ac918027.iso

Here are some screenshots of the steps I took:

Screen Shot 2022-06-29 at 10 55 24 Screen Shot 2022-06-29 at 10 55 28 Screen Shot 2022-06-29 at 10 55 42 Screen Shot 2022-06-29 at 10 55 45
vrozenfe commented 2 years ago

Let me check it. At the moment I don't have any problem installing WS2022 on virtio-blk. But my setup is different from yours

(qemu) info version 7.0.50v7.0.0-55-g1be5a765c0-dirty

qemu script:

!/bin/sh

IMG='/work/images/xru.qcow2' QEMU='/work/devel/qemu/build/x86_64-softmmu/qemu-system-x86_64' CDROM='/work/isos/en-us_windows_server_2022_x64_dvd_620d7eac.iso' ISO='/work/isos/virtio-win-0.1.217.iso' VNC='-vnc 0.0.0.0:75' FLAGS=',hv_stimer,hv_synic,hv_vpindex,hv_relaxed,hv_spinlocks=0xfff,hv_vapic,hv_time,hv_frequencies,hv_runtime,hv_tlbflush,hv_reenlightenment,hv_stimer_direct,hv_ipi,+kvm_pv_unhalt' CPU='host'

sudo $QEMU -name WS2022-PERF -M q35 $VNC -S -L /work/devel/qemu/pc-bios/ -cpu $CPU$FLAGS \ -no-hpet -monitor stdio -enable-kvm -rtc base=localtime,clock=host,driftfix=slew \ -usb -device usb-tablet,id=input0 -global kvm-pit.lost_tick_policy=discard \ -m 2G -smp 4,cores=4,threads=1,sockets=1 \ -device virtio-vga \ -device virtio-net-pci,mac=9a:55:56:57:75:74,id=id18Xcuo,vectors=4,netdev=idGRsMas -netdev tap,id=idGRsMas,script=/etc/qemu-ifup \ -drive file=$IMG,if=none,id=drive-virtio-disk0,format=qcow2,cache=unsafe \ -device virtio-blk-pci,scsi=off,drive=drive-virtio-disk0,id=virtio-disk0,bootindex=1,serial=xru001 \ -drive id=drive_cd1,if=none,snapshot=off,aio=threads,cache=none,media=cdrom,file=$CDROM -device ide-cd,id=cd1,drive=drive_cd1,bootindex=-1,bus=ide.1,unit=0 \ -drive id=drive_cd2,if=none,snapshot=off,aio=threads,cache=none,media=cdrom,file=$ISO -device ide-cd,id=cd2,drive=drive_cd2,bootindex=-1,bus=ide.2,unit=0 \ Screenshot from 2022-06-29 13-41-38 Screenshot from 2022-06-29 13-42-23

vrozenfe commented 2 years ago

@victorhooi I've just downloaded the iso from https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.217-2/virtio-win-0.1.217.iso and checked the checksum. It looks different from what yours

This is the original iso built loacaly and uploaded to fedorapeople by myself md5sum virtio-win-0.1.217_mine.iso e41265eb7fb71a4aa698dc950f1ff207 virtio-win-0.1.217_mine.iso

This one is downloaded from fedorapeople md5sum virtio-win-0.1.217.iso e41265eb7fb71a4aa698dc950f1ff207 virtio-win-0.1.217.iso

yours is e3c9613adcbc7d8721350e0ef5f99964

Can you mount the iso and check the content of viostor\2k22\amd64 subfolder ?

vrozenfe commented 1 year ago

@victorhooi Can we close this issue? Thanks, Vadim.

FabulousGee commented 1 year ago

I downloaded the image you mentioned, @vrozenfe, but doesn't work for me either. I've got the same problem as stated above.

I found out, that I need to select the deepest folder to make the drivers appear. It seems like the installer does not search recursively... Dunno if this is wanted behaviour or not but that's definitely something that has not happened before (as many tutorials do not mention it)

e.g. for the viastore driver to appear I need to "Browse" and pick "D:\viostore\2k22\amd64"-folder. Only then, two drivers appear in the list

regis-amaral commented 1 year ago

Create a Sata CDROM with Windows 10 ISO and then create another sata CDROM with virtio-win-0.1.229.iso, it worked for me!

Before, I was creating a Sata CDROM for Windows and another SCSI CDROM for virtio-win-0.1.229.iso and it gave the same error reported by @victorhooi

mrtargaryen commented 1 month ago

This is happening for me trying to install Windows 10 on Proxmox 8.2.2 ... any hints or tips?

tomcass240 commented 1 week ago

happening to me as well. please fix