Windows 10 VM hangs on reboot


Mar 30, 2019

I've got a Ryzen 7 2700 based PC with an MSI NVidia 1050 Ti graphics card. I've set up a Windows 10 (October 2018 iso downloaded from MS) VM in Proxmox and after following the various tutorials online (in particular, I can't post the link but its the one posted to Proxmox subreddit in the last few days), have managed to get GPU pass-through working with the following exceptions:

1. If Windows 10 reboots, it goes to a black screen with a cursor and hangs. If I try to reset the VM, nothing happens. There's nothing in the logs of note that I can find. It's completely frozen and if I try to shut down the VM it times out.
2. Sometimes shutting down the VM hangs the VM or if it works and I restart the VM then it hangs. Essentially, I need to reboot Proxmox if I want to stop and restart the VM. The error in syslog after successfully shutting down the VM and attempting to restart it is:

Mar 30 09:26:09 pve kernel: [ 1200.017558] vfio-pci 0000:1c:00.0: Refused to change power state, currently in D3
Mar 30 09:26:09 pve kernel: [ 1200.037545] vfio-pci 0000:1c:00.0: Refused to change power state, currently in D3
Mar 30 09:26:09 pve kernel: [ 1200.057545] vfio-pci 0000:1c:00.0: Refused to change power state, currently in D3
Mar 30 09:26:10 pve kernel: [ 1200.785964] vfio-pci 0000:1c:00.0: timed out waiting for pending transaction; performing function level reset anyway
Mar 30 09:26:11 pve kernel: [ 1202.033936] vfio-pci 0000:1c:00.0: not ready 1123ms after FLR; waiting
Mar 30 09:26:12 pve kernel: [ 1203.089921] vfio-pci 0000:1c:00.0: not ready 2147ms after FLR; waiting
Mar 30 09:26:14 pve kernel: [ 1205.169899] vfio-pci 0000:1c:00.0: not ready 4195ms after FLR; waiting

(2) wouldn't be as much of an issue if (1) wasn't a problem as I could leave the VM on continuously.

My pveversion is:

root@pve:~# pveversion -v
proxmox-ve: 5.3-1 (running kernel: 4.15.18-12-pve)
pve-manager: 5.3-12 (running version: 5.3-12/5fbbbaf6)
pve-kernel-4.15: 5.3-3
pve-kernel-4.15.18-12-pve: 4.15.18-35
pve-kernel-4.15.18-10-pve: 4.15.18-32
corosync: 2.4.4-pve1
criu: 2.11.1-1~bpo90
glusterfs-client: 3.8.8-1
ksm-control-daemon: 1.2-2
libjs-extjs: 6.0.1-2
libpve-access-control: 5.1-3
libpve-apiclient-perl: 2.0-5
libpve-common-perl: 5.0-48
libpve-guest-common-perl: 2.0-20
libpve-http-server-perl: 2.0-12
libpve-storage-perl: 5.0-39
libqb0: 1.0.3-1~bpo9
lvm2: 2.02.168-pve6
lxc-pve: 3.1.0-3
lxcfs: 3.0.3-pve1
novnc-pve: 1.0.0-3
proxmox-widget-toolkit: 1.0-24
pve-cluster: 5.0-34
pve-container: 2.0-35
pve-docs: 5.3-3
pve-edk2-firmware: 1.20190312-1
pve-firewall: 3.0-18
pve-firmware: 2.0-6
pve-ha-manager: 2.0-8
pve-i18n: 1.0-9
pve-libspice-server1: 0.14.1-2
pve-qemu-kvm: 2.12.1-2
pve-xtermjs: 3.10.1-2
qemu-server: 5.0-47
smartmontools: 6.5+svn4324-1
spiceterm: 3.0-5
vncterm: 1.5-3
zfsutils-linux: 0.7.13-pve1~bpo2`

The vm configuration is:

agent: 1
args: -cpu 'host,+kvm_pv_unhalt,+kvm_pv_eoi,hv_vendor_id=NV43FIX,kvm=off'
bios: ovmf
boot: dcn
bootdisk: scsi0
cores: 16
cpu: host,hidden=1,flags=+pcid
hostpci0: 1c:00.0,x-vga=1,pcie=1
ide2: none,media=cdrom
machine: q35
memory: 16000
name: Windows
net0: virtio=96:DB:30:3F:3F:91,bridge=vmbr0
numa: 1
ostype: win10
scsi0: local-lvm:vm-100-disk-0,cache=writeback,iothread=1,replicate=0,size=200G,ssd=1
scsihw: virtio-scsi-single
smbios1: uuid=6c528219-7221-4008-b880-7b23b7302b2e
sockets: 1
vga: none
vmgenid: 17177e2a-bb1b-4326-8763-eed5028c9a61

I'm looking to also run some kubernetes cluster nodes on the same Proxmox machine so rebooting Proxmox whenever Windows has hung is going to be an issue. Also, it seems M$ insists on being able to force a reboot via Windows Update when it desires so for now I've disabled automatic updates but it's not a long term solution.

Any help would be very appreciated.
I think I've got this solved now. Passing the bios file (unpatched) seems to work. Note that getting the ones from did not work. only grabbing my own worked.


The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!