- Realtek
- Qemu Windows Drivers
- Virtio Windows Drivers Driver
- Virtio Drivers Windows 2012 R2
- Virtio Drivers Windows 2016
- Virtio Drivers Windows 10
- Virtio Drivers Windows10
This repository contains KVM/QEMU Windows guest drivers, for bothparavirtual and emulated hardware. The code builds and ships as partof the virtio-win RPM on Fedora and Red Hat Enterprise Linux, and thebinaries are also available in the form of distribution-neutral ISOand VFD images. If all you want is use virtio-win in your Windowsvirtual machines, go to theFedora virtIO-win documentationfor information on obtaining the binaries.
If you'd like to build virtio-win from sources, clone this repo andfollow the instructions in Building the Drivers.Note that the drivers you build will be either unsigned or test-signedwith Tools/VirtIOTestCert.cer, which means that Windows will not loadthem by default. See Microsoft's driver signing pagefor more information on test-signing.
Installing the Drivers on an Installed Windows Guest Virtual Machine This procedure covers installing the virtio drivers with a virtualized CD-ROM after Windows is installed. Follow this procedure to add a CD-ROM image with virt-manager and then install the drivers.
If you want to build cross-signed binaries (like the ones that ship inthe Fedora RPM), you'll need your own code-signing certificate.Cross-signed drivers can be used on all versions of Windows except forthe latest Windows 10 with secure boot enabled. However, systems withcross-signed drivers will not receive Microsoft support.
If you want to produce Microsoft-signed binaries (fully supported,like the ones that ship in the Red Hat Enterprise Linux RPM), you'llneed to submit the drivers to Microsoft along with a set of testresults (so called WHQL process). If you decide to WHQL the drivers,make sure to base them on commit eb2996de or newer, since the GPLlicense used prior to this commit is not compatible with WHQL.Additionally, we ask that you make a change to the Hardware IDs sothat your drivers will not match devices exposed by the upstreamversions of KVM/QEMU. This is especially important if you plan todistribute the drivers with Windows Update, see theMicrosoft publishing restrictions for more details.
Active4 months ago
I have installed a Windows 10 virtual machine using an IDE disk and would now like to change the disk to use the Virtio driver.
For other versions of Windows, the approach in this question seems to be sufficient - How to migrate an IDE VM to a virtio VM?
However with Windows 10, this leads to an
INACCESSIBLE_BOOT_DEVICE
issue.I am aware that the preferred approach is the use the Virtio device from the start and install the appropriate virtio driver when prompted. Unfortunately I was having some separate issues with changing the CD in KVM (I couldn't get 2 CDROM devices to work either).
Is there any way to correct this issue without reinstalling?
Similar issue here - https://me.m01.eu/blog/2015/03/windows-10-kvm-and-iscsi/#comment-36090
Realtek
Community♦
GraemeGraeme27011 gold badge33 silver badges1111 bronze badges
5 Answers
All the answers are correct but you may need to perform few additional steps after you have installed virtio drivers. Here are the steps I followed:
- Open an elevated command prompt and set the VM to boot into safe mode by typingbcdedit /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.
llegolasllegolas
A fairly simple answer is provided - and may work in many cases, along with hints at other options. If (like me) you're not able to switch to IDE and forced to use VirtIO, then the following alternative approach might work:
Qemu Windows Drivers
- Add both windows 10 DVD/CD ISO and virtio driver ISO to VM.
- The latest driver ISO can be pulled out of the RPMs found at https://fedorapeople.org/groups/virt/virtio-win/repo/latest/
- Boot off windows 10 DVD/CD and get into a command prompt from repair mode option.
- Load the driver via the CLI e.g.
drvload e:viostorw10amd64viostor.inf
- In my case e: was where the virtio install ISO got assigned.
- After loading the driver f: was where the windows install became mounted.
- Use the DISM command to inject the storage controller driver
- E.g.
dism /image:f: /add-driver /driver:e:viostorw10amd64viostor.inf
- As above, change drive letter assignments according to your own environment.
- E.g.
Avoids needing to fiddle with making special windows boot CDs/Images and 'patches' the actual windows install image on the fly.
Note, for this niche case, I'd suggest avoiding startup repair (which failed for me). It didn't seem to know how to include vistor.inf after loading it, and if you do try it, be careful to avoid Windows 10's DVD eagerness to restore or reinstall everything..
Credit for DISM approach: Using dism to add drivers
JPvRielJPvRiel
The steps to follow in general are :
- Install the VirtIO drivers in the VM
- Set the system disk of the VM to use VirtIO
- If the VM does not boot, execute Startup Repair or even Repair Install
The procedure in detail is :
- Return the boot disk to IDE.
- Make sure the windows VM is shutdown.
- Download the VirtIO drivers ISO from here.
- Mount it on the CD drive for the VM.
- Add a storage device which is of the VirtIO type. The size allocation doesn't matter since you are using it to install the drivers.
- Start the Windows VM. It will try to install the drivers. If it doesn't, open the Device Manager and you should see the SCSI device listed with the exclamation point icon beside it. You can choose to update the driver and point to mounted ISO's appropriate directory. Once installed, don't reboot but shutdown the machine.
- In the virt-manager settings for Windows, change the storage type from IDE to VirtIO.
- You can remove the storage device you had created earlier. It is not longer needed.
- Start Windows, it should boot up and install the SCSI drivers. You will need to reboot after it does.
- If the VM does not boot but the drivers are installed, you might tryto do :
- Startup Repair that can fix certain system problems that might prevent Windows from starting.
- The last solution: Repair Install while booting from the Windows 10 ISO. This will keep all applications and user settings, just refreshing Windows and boot. Use a recent Windows 10 ISO.
If the last step is unfortunately required, one more difficulty that might beencountered is if the Windows boot CD cannot understand the VirtIO disk becausethese drivers were not included in it by Microsoft.In this case, one needs to create a custom boot CD/USB that containsthese drivers, but make sure that you start from a Windows ISO that isof the same level as the installation by getting the latest one (currently 1511).
Here are some tutorials on how to slipstream drivers in Windows :
harrymcharrymc287k1616 gold badges308308 silver badges624624 bronze badges
the answer from harrymc works fine for me.
the following steps I followed:
- Install the virtio driver in windows
- Add a additional 'dummy' virtio disk
- Switch the boot disk to virtio
- Reboot
- Remove the additional 'dummy' virtio disk
- ..
sdhdsdhd
It is unfortunately possible to have driver perfectly installed and STILL get 'inaccessible boot Device.' The reason is a bit shocking (I find): a Win 10 installation 'remembers' the drivers that were required when it was first installed, and by default WILL NOT load other storage drivers at boot time. Cambridge ielts listening download. This is done, it seems, to 'piracy' -- it makes it difficult to run the 'same' installation on different hardware. There is some great documentation on this 'feature' in this post from the gentoo forums. The essence is as follows:
Virtio Windows Drivers Driver
The Drivers that are targeted for forbidden-to-load-at-boot can be determined as follows:Within the registry key ComputerHKEY_LOCAL_MACHINESYSTEMControlSet001Services there is one subkey for every driver known to the installation. The name of this subkey is just the name of the driver. Within each driver subkey, there will be a subkey 'STARTOVERRIDE' if that driver is to be prevented from loading at boot. In particular, within the STARTOVERRIDE subkey there is a parameter whose name is '0' . IF the value of this parameter is '3', it will not be loaded at boot time. Setting this value to 0 instead will 'override' behavior.
I myself just go to ComputerHKEY_LOCAL_MACHINESYSTEMControlSet001Services and search for 'STARTOVERRIDE'. Each time i find it, if there is name under it called '0' with value '3', I change to '0'. This seem to be overkill, you only need to change the drive that needs to load. In my case there are several of them, and I never remember which, so I just do an 'F3-search' within that 'services' section.
Virtio Drivers Windows 2012 R2
And one final tip which isn't needed for current, signed, virtio storage, but might be to someone else reading this if they want to use a more experimental driver that is not (yet) signed: I found that EVEN after doing the above trick, I ALSO needed to boot into the advanced options screen and choose F7 ('disable driver signature verification'). Annoyingly, it wasn't enough to set the bcd flag to disable driver verification, because the driver needs to load before the machine reads the BCD and finds out that it doesn't need to verify the signature.
Virtio Drivers Windows 2016
All in all, not Microsoft's most shining hour. You really have to hate your users if you'd rather give legit users a made-up artificial Blue-Screen than allow people to (say) replace a SATA disk with an NVMe disk and have it 'just work.'
Virtio Drivers Windows 10
Scott PetrackScott Petrack