Cannot switch from VMware PVSCSI to VirtiO SCSI

alexyz4

New Member
Aug 16, 2023
3
0
1
Hello,

I migrated a windows server 2019 machine from VMware to Proxmox.

I initially set up VirtiO as SCSI controller but windows did not load, showing me a BSOD with error code "inaccessible boot device".

I could however enter in windows recovery advanced options and in the command prompt I entered diskpart and typed "list disk", and no disks were found.

Then I changed SCSI controller to VMware PVSCSI and everything worked, but I want to use VirtiO since I was told the performance is better.

For this, I tried to add a new disk with 1GB, load windows with VMware PVSCSI and try to install VirtiO drivers, but using the installer I get an error that the installed finished prematurely and could not install the drivers. I also tried to update the controller from device manager but it says the best driver is already installed.

I am aware of this tutorial:
https://pve.proxmox.com/wiki/Additi...rt_Windows_to_use_.28VirtIO.29_SCSI_.28KVM.29
and I tried to follow it, but I really do not understand or maybe do not apply to my case, because for me Windows does not load if I have virtio scsi controller selected.

So I really do not know what else to do in order to install virtiO drivers and be able to use virtiO as SCSI controller.

Any help would be appreciated.
 
When we migrated Windows VMs and Windows Server VMs, the best approach was to install virtio drivers even before migration - to be already present in the system. Then we migrated and somtetimes we got BSOD. In that case, we changed the drive type to SATA and rebooted VM several times - after one or two VM reboots it tried to find changes in the system and booted - at this moment I was also able to install virtio drivers. Then we added one new VirtIO SCSI drive and rebooted. Finally, we changed system drive also to VirtIO SCSI. Some steps we could sometimes skip, but BSODs occured then more frequently.
 
Last edited:
Hello,

I migrated a windows server 2019 machine from VMware to Proxmox.

I initially set up VirtiO as SCSI controller but windows did not load, showing me a BSOD with error code "inaccessible boot device".

I could however enter in windows recovery advanced options and in the command prompt I entered diskpart and typed "list disk", and no disks were found.

Then I changed SCSI controller to VMware PVSCSI and everything worked, but I want to use VirtiO since I was told the performance is better.

For this, I tried to add a new disk with 1GB, load windows with VMware PVSCSI and try to install VirtiO drivers, but using the installer I get an error that the installed finished prematurely and could not install the drivers. I also tried to update the controller from device manager but it says the best driver is already installed.

I am aware of this tutorial:
https://pve.proxmox.com/wiki/Additi...rt_Windows_to_use_.28VirtIO.29_SCSI_.28KVM.29
and I tried to follow it, but I really do not understand or maybe do not apply to my case, because for me Windows does not load if I have virtio scsi controller selected.

So I really do not know what else to do in order to install virtiO drivers and be able to use virtiO as SCSI controller.

Any help would be appreciated.
Hi,
which version of virtio for windows do you use? Last time I look for updates, there was not easy to find an actual version (used virtio-win.0.1.217.iso).

Udo
 
Following udo's answer, I installed an older version (virtio-win.0.1.215.iso) of virtiO drivers and it succeded. However, I still get the BSOD with error "inaccessible boot device".
I attached a new disk, in Bus/device I selected "virtio blocks" and I booted the machine with VMware PVSCSI controller, and windows recognized the disk. But when I boot with VirtiO SCSI, I still get the BSOD.

I don't really know what's happening or what else should I try.
 
I had similar problem, and this helped me:
https://www.thomas-krenn.com/de/wik..._Windows_/_Linux_VMs_von_VMware_zu_Proxmox_VE
After the import, set the bios if needed:
qm set 110 --bios ovmf
Change 110 to the imported vm's number.
add an extra disk on virtio scsi controller, change boot disk's controller to sata:
sed -i 's/scsi/sata/g' /etc/pve/qemu-server/110.conf
Change 110 to the imported vm's number.
Set the boot device at options to the sata disk. Boot, install virtio driver. Shut down.
Change boot disk's (and other disks too if there are) controller to virtio scsi:
sed -i 's/sata/scsi/g' /etc/pve/qemu-server/110.conf
Again, change 110 to the imported vm's number.
Change boot device at options, and boot.
 
  • Like
Reactions: udo
Using Veeam restore so the process of migration is slightly different, but the cleanest way I've found is to do a conversion to SATA first. Start on VMWare by adding a second disk as SATA and making sure the drivers loaded correctly and you can initialize that new disk, then shut down and change your primary disk to SATA and make sure it boots correctly. This allows you to remove VMWare tools while still loaded on the VMWare host so it's not a complete pain to remove later. Shut down and remove that spare disk; You can now backup/restore or perform the migration from there.

Once the machines on the Proxmox host you follow a similar procedure to convert your new disk to VirtIO SCSI Single. Start by making sure your controller is set to VirtIO SCSI Single and then adding a second disk using that controller, boot the VM and install the VirtIO drivers and then the QEMU guest tools. Make sure you can bring that new disk online, then shut down and convert your primary disk to VirtIO SCSI Single and make sure it boots again, and after this you can shutdown then detach+remove that spare disk.
 
Last edited: