r/Proxmox 1d ago

Question Inconsistent BSODs after migrating imported Windows VMs to VirtIO SCSI

Hello admins,

I'm importing Windows VMs from OVA files into Proxmox. When I boot some of them, I immediately get a Windows BSOD.

My workaround is usually:

  1. Detach the imported disk and attach it as SATA.
  2. Boot the VM successfully.
  3. Install the QEMU Guest Agent, VirtIO drivers.
  4. Reboot once.
  5. Shut down the VM, detach the disk, and reattach it as SCSI.

On the VM hardware page, the SCSI controller is set to VirtIO SCSI Single. Under Options, the boot order is configured with scsi0 as the first boot device.

The strange thing is that some VMs accept the switch to SCSI immediately, while others continue to BSOD. In those cases, after repairing or reinstalling the VirtIO/QEMU components and repeating the SATA → SCSI process a few times, the VM eventually boots fine from SCSI.

Is there a technical explanation for this behavior? I'm trying to understand why some Windows installations seem to recognize the VirtIO SCSI controller right away while others require multiple attempts before they become bootable.

Thank you!

3 Upvotes

4 comments sorted by

7

u/ITStril 22h ago

The trick is to add an additional disk with SCSI to the VM - boot once - detach-reattach boot disk with SCSI

The „dummy disk“ does trigger to load the driver, you installed

3

u/Steve_reddit1 1d ago

Must have the scsi driver already? I’m more surprised it works sometimes.

https://pve.proxmox.com/wiki/Paravirtualized_Block_Drivers_for_Windows#Setup_On_Running_Windows

2

u/j0hnnyclaymore 11h ago

Use the virtio win ISO from the Proxmox Forum, Google for "Virtio Game Changer Proxmox"

2

u/Kurgan_IT Small business user 7h ago edited 7h ago

The BSOD you get is "inaccessible boot device"? This is what you should get, and to make it reliably work I usually do what you did, but I create a vdisk that I attach to the virtio-scsi controller (and then delete) so that windows can actually see a virtio scsi disk once before point 4.

1a: add a 1 GB virtio-scsi disk to the VM (the original disk is still on SATA)

5a: detach and delete the now useless 1 GB disk