Windows 10 HVM with PCI devices does not boot


If I attach PCI devices (2 USB controllers) to my Windows 10 standalone HVM it fails to boot with error:

Booting from Hard Disk…
Boot failed: could not read the boot disk

No bootable device.

How can I fix this? Is this a known issue?

Background: goal is to back up an iPhone. On R4.0 I succesfully used a Windows 10 VM with attached USB controllers (via qube settings/PCI devices). Now I tried to recreate this on R4.1.1. Installing new Windows 10 standalone VMs and Qubes Windows Tools according to the official guides worked great. But when I attach a PCI device I get the above error.

Further details: the error occurs for Windows 10 VMs with and without QWT installed. If I remove the USB controllers from the VMs they boot just fine. Same error also occurs with an old Windows 7 standalone VM. Strict PCI reset is disabled.

Thanks for any thoughts!

I have found a solution: setting the Windows 10 VMs RAM to 3500MB. Now it boots fine, with the USB controllers attached.

After coming across the issue below I tried lowering the VMs RAM:

For me, 3500MB turned out to be the limit. With more RAM, I got the ‘no bootable device’ error. Initially I had the Windows 10 VM set to use 6GB.

1 Like

Great. Please mark your post as a solution so it could help other users too.

I have to note that it is not a solution. It is workaround.
And in some cases the amount of memory that works is as low as 0.8GB, that makes Windows 10 almost unusable, so something should be done to address this bug.

1 Like

Had the same issue but fixed it using this guide

There’s two options to patch stubdom-linux-rootfs.gz, for me the first option didn’t work but the second did. However, you have to reapply the patch every time dom0 updates.

1 Like

What do you mean as second option, “Alternative without patching stubdom-linux-rootfs”?

My problem is that memory limitation is about 1GB, not 3.5GB. If I set 0.8GB - it boots, if 1.1GB - no bootable media.

Yes I do mean that option. Before applying it I could only do 1100MB max on my windows VM.

1 Like

I tried modification of xen.xml,
I tried downgrading to xen-hvm-stubdom-linux-1.2.3-1.fc32,
=> nothing helped.

I can use only 1032 MB (MiB?) of memory. I consider to report it as a new separate issue, because existing say something like - just reduce memory to less than 4GiB.
But I can use only 1GiB, it makes Windows qubes almost unusable.
On the other hand the origin of this bug can be the same.

I read that this or related issue exists from 2018. Unbelievable.

Luckily for me in my user case connecting USB device instead of PCI USB Controller is enough.
But it is still such a shame and such a deal-breaker for other users. Problems like that are unsolvable by users and should be addressed more actively, to my opinion.

1 Like

Now I recalled you liked my post about 3.5GB patch. While it should be resolved yesterday, it’s better to be named “3.5GB-when-you’re-lucky-patch”

1 Like

I’m sorry it didn’t work for you, it seems to be super hit or miss which is weird.
On a side note, could I ask what your PCI USB hub is? I bought one and it didn’t work at all with qubes passthrough.

USB controller: NEC Corporation uPD720200 USB 3.0 Host Controller
You should try one with this NEC chip, it was reference for Linux implementation and works flawlessly, unlike uPD720202 and unlike many ASIX models. The device model can be different, the chip model is what matters for proper Linux support.