How do I convert an IDE disk to VirtIO?

Darren

New Member
Jul 28, 2016
21
1
1
47
I have installed the drivers in the Windows guest and then powered it off. I detached the disk and then reattached it with a VirtIO instead of IDE (side bar: zero reason not to have a simple pull down for this in the 'EDIT' menu).

I get 'inaccessible boot device' shortly into the boot of the Win2016 server.

What am I doing wrong?
 
Start the VM again with IDE, then add a dummy drive with VirtIO (preferably use Virtio-Scsi!). You can add the drivers then correcty with the Device Manager. Then shut down the VM again, change the drive type to VirtIO (SCSI if you use that!) remove the dummy drive and boot up again.

Then it should work.
 
  • Like
Reactions: Tmanok
Thanks - that did it. Wish list: an installer for the KVM tools that injects all of the necessary stuff into the right places so that we don't need to resort to trickery.
 
Uhhm that is a little bit complicated. But on a fresh install, you can do it that way: -> create both Disk and Network with virtio, and add a second CDROM with the virtio driver CD. Then you can install both drivers during the install process.
 
Thanks - that did it. Wish list: an installer for the KVM tools that injects all of the necessary stuff into the right places so that we don't need to resort to trickery.
That's a microsoft "issue", there's nothing KVM can do about how windows discovers hardware and installs specific drivers.
It works "out of the box" with any recent Linux distribution.
 
  • Like
Reactions: Tmanok
Start the VM again with IDE, then add a dummy drive with VirtIO (preferably use Virtio-Scsi!). You can add the drivers then correcty with the Device Manager. Then shut down the VM again, change the drive type to VirtIO (SCSI if you use that!) remove the dummy drive and boot up again.

Then it should work.

You just saved my day! I migrated some VMs from HyperV to Prox and I had to do IDE disks for compatibility, but disk performance was crap. Now after the switch to VirtIO the disk performance on VirtIO vs IDE is double. Thanks!
 
Start the VM again with IDE, then add a dummy drive with VirtIO (preferably use Virtio-Scsi!). You can add the drivers then correcty with the Device Manager. Then shut down the VM again, change the drive type to VirtIO (SCSI if you use that!) remove the dummy drive and boot up again.

Then it should work.
I have tried the same but for me it doesn't work:

Windows starts up but after a couple of seconds shows a BOD giving an "inaccessible boot drive" as the reason.

I have tried

- only changing the hard disk from sata to virtio and
- doing this and also changing the SCSI adapter from "default" to virtio scsi

The outcome is the same.

I have confirmed that Windows recognized the dummy virtio drive and installed the corresponding virtio driver.

I have changed the boot order so that the new virtio (=old sata) drive is the first boot option (I have also tried the dummy virtio drive just in case I mixed them up but with the dummy drive I get the expected "no boot media" error).

Anything else that I might be missing here?

Thanks in advance!
 
In a last desperate attempt I tried the whole process again but with choosing SCSI instead of virtio.

Now it works.
 
  • Like
Reactions: aaron
Ok guys this is what worked for me, a longer process because cannot select 2 scsi controllers at once in one VM.
However can use virtio block alongside scsi.

1 Created EFI disk as a quick way to make a dummy disk.
2 Set controller to vmware (As this came from vmware so driver already on it)
3 Added dummy disk as virtio block
4 Booted up windows and it installed "redhat virtio scsi controller."
5 Shutdown the VM
6 Detached both disks
7 Reattached windows disk as virtio block.
8 Changed scsi controller to virtio scsi.
9 Attached dummy disk to virtio scsi
10 Booted up windows and a second virtio controller installed called "redhat virtio scsi pass-through controller"
11 shutdown windows again
12 detach both disks
13 attach windows disk to virtio scsi.
14 finally windows boots and the pain is over.

Would be a whole lot easier if could add 2 scsi controllers :)
 
Ok guys this is what worked for me, a longer process because cannot select 2 scsi controllers at once in one VM.
However can use virtio block alongside scsi.

1 Created EFI disk as a quick way to make a dummy disk.
2 Set controller to vmware (As this came from vmware so driver already on it)
3 Added dummy disk as virtio block
4 Booted up windows and it installed "redhat virtio scsi controller."
5 Shutdown the VM
6 Detached both disks
7 Reattached windows disk as virtio block.
8 Changed scsi controller to virtio scsi.
9 Attached dummy disk to virtio scsi
10 Booted up windows and a second virtio controller installed called "redhat virtio scsi pass-through controller"
11 shutdown windows again
12 detach both disks
13 attach windows disk to virtio scsi.
14 finally windows boots and the pain is over.

Would be a whole lot easier if could add 2 scsi controllers :)
In proxmox 6.4 I've made transfer hard Disk (which I have created from virtualise phisical server by VmWare Converter) from IDE to Virtio Block succefully in your way. When I tried to do that from IDE into SCSI, I have "boot media is not accesible". Transfer works only from IDE into Virtio Block or SATA. (Which is better?). I will try use clonezilla to clone SATA disk into SCSI, but i'm not sure, that is good way. Virtio Blocks looks well - full virtio support, but I know, that is old solution.
 
Ok guys this is what worked for me, a longer process because cannot select 2 scsi controllers at once in one VM.
However can use virtio block alongside scsi.

1 Created EFI disk as a quick way to make a dummy disk.
2 Set controller to vmware (As this came from vmware so driver already on it)
3 Added dummy disk as virtio block
4 Booted up windows and it installed "redhat virtio scsi controller."
5 Shutdown the VM
6 Detached both disks
7 Reattached windows disk as virtio block.
8 Changed scsi controller to virtio scsi.
9 Attached dummy disk to virtio scsi
10 Booted up windows and a second virtio controller installed called "redhat virtio scsi pass-through controller"
11 shutdown windows again
12 detach both disks
13 attach windows disk to virtio scsi.
14 finally windows boots and the pain is over.

Would be a whole lot easier if could add 2 scsi controllers :)
I found solution to resolve problems with "MEDIA BOOT IS INACCESIBLE"after implementation of this procedure.

The full procedure should be:

"
1 Created EFI disk as a quick way to make a dummy disk.
2 Set controller to vmware (As this came from vmware so driver already on it)
3 Added dummy disk as virtio block
4 Booted up windows and it installed "redhat virtio scsi controller."
5 Shutdown the VM
6 Detached both disks
7 Reattached windows disk as virtio block.
8 Changed scsi controller to virtio scsi.
9 Attached dummy disk to virtio scsi
10 Booted up windows and a second virtio controller installed called "redhat virtio scsi pass-through controller"

10. 1 Change of booting WINDOWS into safe mode:
  • Open an elevated command prompt and set the VM to boot into safe mode by typing
  • bcdedit /set {current} safeboot minimal
  • shut-down the VM and change the boot device type to virtio.
  • boot the VM. It will enter in safe mode.
    Note: In Safe mode all boot-start drivers will be enabled and loaded, including the virtio driver. Since there is now a miniport installed to use it, the kernel will now make it part of the drivers that are to be loaded on boot and not disable it again.
  • in the booted VM reset the bcdedit settings to allow the machine to boot into the Normal mode by typing (in elevated command prompt again):
    bcdedit /deletevalue {current} safeboot
  • Done.
    (Source: https://superuser.com/questions/1057959/windows-10-in-kvm-change-boot-disk-to-virtio)
11 shutdown windows again
12 detach both disks
13 attach windows disk to virtio scsi.
14 finally windows boots and the pain is over.
 
  • Like
Reactions: Unfurled

About

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!