July 12, 201610 yr Hi all, As part of my move to unRAID 6.2 RC1, I thought I'd try moving my desktop into a VM. So I used "dd" to grab the system disk image, and used the nifty new Windows 10 template. I also used the nifty new VirtIO download feature to grab virtio-win-0.1.118-2.iso and mount it in the VM. I booted the VM and used VNC to install all the drivers. I didn't install the guest tools yet. I stopped the VM, and changed the system disk to use VirtIO. But during boot, Windows fails with the error INACCESSIBLE_BOOT_DEVICE. Help? Is the problem this? https://support.microsoft.com/en-us/kb/2795397 So I stopped the VM, switched the system disk to IDE, and started it. This time Windows tried to do startup repair. But I just selected the "reboot" option and the second time it came up clean. In a command prompt run as administrator, I ran the command: bcdedit /set {current} safeboot minimal as suggested by the Microsoft support site. This time the machine showed the automatic repair screen, followed immediately by SYSTEM_THREAD_EXCEPTION_NOT_HANDLED. This webpage suggests that I should try to get into the recovery console and run "bootrec /fixmbr". But how do I do that? Is that the right answer? Luckily, I made a backup of the image before doing anything. I'll restore it, and will try telling windows to boot into safe mode after installing the VirtIO drivers. But I have no idea if I'm on the right track or not.
July 12, 201610 yr Author Update: So I went through the wiki instructions a little more carefully. I noticed two things: 1) It says to add a second small virtual disk, install the drivers, then remove that disk 2) It doesn't say to change the vdisk1 from IDE to VirtIO. I did both of these, and the VM doesn't crash any more. It seems slow, but then again it's on my array. After I move it to SSD hopefully it will be back to normal. Does this seem right to people? I'm surprised by #2, and worried that even though device manager says I have the VirtIO devices, I haven't configured the disk properly to use them.
July 13, 201610 yr Windows doesn't automatically install drivers for devices it doesn't have. Windows won't boot from a storage device that it doesn't have the drivers installed. Those two statements sum up your (and everyone else's) issue with moving an existing windows installation to a foreign hard drive controller type. You can solve this several ways. The wiki outlines one way, which is to temporarily set the boot drive to a slow compatible controller, and add a secondary volume using the fast virtio controller. Windows boots from the normal drive, sees the new hardware, and installs the drivers. Now that the drivers are installed, you can change the boot drive to virtio, and remove the temporary 2nd volume, as the necessary drivers are now installed in windows. Another way is to add the drivers manually into the windows install on the physical pc before you image it, or you can manually install them after booting the vm using the compatible controller. Adding the drivers manually is faster if you know how to do it, instead of futzing around with a second image.
July 13, 201610 yr The way I did it for my WHSv1 VM was to create a floppy image of a driver disk for Win2003 drivers and then use the following XML added to the VMs XML to install the drivers while I installed WHSv1. <disk type='file' device='floppy'> <source file='/mnt/cache/VMs/ISOs/whs-viostor.vfd'/> <target dev='fda'/> </disk> I did have to fix the floppy image in virtio-win-0.1.96.iso to install with. The existing image was broken. Hopefully newer ISOs have the floppy images fixed.
July 13, 201610 yr Author The wiki outlines one way, which is to temporarily set the boot drive to a slow compatible controller, and add a secondary volume using the fast virtio controller. Windows boots from the normal drive, sees the new hardware, and installs the drivers. Now that the drivers are installed, you can change the boot drive to virtio, and remove the temporary 2nd volume, as the necessary drivers are now installed in windows. Actually, the wiki doesn't say anything about the 2nd volume being configured for virtio. It also doesn't mention flipping the OS disk to virtio after installing the drivers. Maybe that was part of my trouble. Let me try the process you've described... Works great! Thanks!
January 9, 20206 yr On 7/13/2016 at 2:28 AM, jonathanm said: Windows doesn't automatically install drivers for devices it doesn't have. Windows won't boot from a storage device that it doesn't have the drivers installed. Those two statements sum up your (and everyone else's) issue with moving an existing windows installation to a foreign hard drive controller type. You can solve this several ways. The wiki outlines one way, which is to temporarily set the boot drive to a slow compatible controller, and add a secondary volume using the fast virtio controller. Windows boots from the normal drive, sees the new hardware, and installs the drivers. Now that the drivers are installed, you can change the boot drive to virtio, and remove the temporary 2nd volume, as the necessary drivers are now installed in windows. Another way is to add the drivers manually into the windows install on the physical pc before you image it, or you can manually install them after booting the vm using the compatible controller. Adding the drivers manually is faster if you know how to do it, instead of futzing around with a second image. Thank you jonathanm, this is the simplest way to install virtio drivers. I was moving from vmware to proxmox and this solved all my problems! (add a secondary volume)
Archived
This topic is now archived and is closed to further replies.