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.91k stars 377 forks source link

Add-WindowsDriver pvpanic-pci fails with: the request is not supported #1107

Open rgl opened 2 weeks ago

rgl commented 2 weeks ago

Describe the bug

In a Windows 2022 machine, while building a Windows PE image mounted at $env:WINDOWS_PE_MOUNT_PATH, calling Add-WindowsDriver pvpanic-pci fails with the request is not supported error.

This also happens for the smbus.inf driver.

To Reproduce

Follow the procedure to mount the Windows PE (e.g. like done at https://github.com/rgl/windows-pe-vagrant/blob/master/provision-winpe.ps1), then try the following to include the pvpanic-pci driver into the mounted Windows PE image:

cd virtio-win-0.1.248\pvpanic\2k22\amd64
$driverPath = 'pvpanic-pci.inf'
Add-WindowsDriver -Path $env:WINDOWS_PE_MOUNT_PATH -Driver $driverPath`

Expected behavior

Expected the driver to be successfully added to the Windows PE image.

Host:

VM:

YanVugenfirer commented 2 weeks ago

Please supply QEMU command line.

Also keep in mind that officially we are not supporting Windows PE. So it might take time for us to take a look at the issue. Looks like Windows PE failing ACPI based devices.

rgl commented 2 weeks ago

Why is the qemu cmdline relevant? I mean, Add-Windows Driver is supposed to just add the driver to the windows driver store? Does it actually load the driver?

YanVugenfirer commented 2 weeks ago

So is this SW first scenario (adding driver without having HW device)?

rgl commented 2 weeks ago

Yes, the VM (which calls Add-WindowsDriver) that is creating the windows pe iso does not have all the virtio HW devices added to qemu.

The idea is to add all of the virtio drivers to the windows pe iso (and not to the VM that is creating the iso), that way, when windows pe runs, it has all the possible virtio drivers baked in.