Chapter 5 Oracle VirtIO Drivers for Microsoft Windows

The Oracle VirtIO Drivers for Microsoft Windows are paravirtualized drivers for Microsoft Windows guests that are running on KVM hypervisors; these drivers improve performance for network and block (disk) devices on Microsoft Windows guests and resolve common issues.

The following instructions describe how to install, use, and troubleshoot the Oracle VirtIO Drivers for Microsoft Windows. Note that these instructions are intended for users and administrators of guests that are running the Microsoft Windows operating system in virtualized environments, where KVM is the hypervisor.

5.1 What's New

Included in release 1.1.7 of the Oracle VirtIO Drivers for Microsoft Windows is an update for the pvpanic driver to enable better support for both modes of operation to inform the host of a panic or crash dump being performed in a Windows virtual machine. The pvpanic driver triggers the event to notify the host when the Windows guest crashes. Depending on the QEMU version installed on the host and the Windows system version, either PVPANIC_PANICKED or PVPANIC_CRASHLOADED is sent.

Release 1.1.7 also includes a fix to the installer to fully remove older versions of the Oracle VirtIO Drivers for Microsoft Windows drivers.

5.2 Supported Releases, Operating Systems, and Configuration Limits

The following information pertains to the Oracle Linux and Oracle Cloud Infrastructure releases that are supported with the Oracle VirtIO Drivers for Microsoft Windows, in addition to the supported operating systems for each version of the Oracle VirtIO Drivers for Microsoft Windows.

Information about Microsoft Windows compatibility signing and details on tested and recommended configuration limits for the Oracle VirtIO Drivers for Microsoft Windows is also provided.

5.2.1 Supported Environments

The following environments and platforms provide support for the Oracle VirtIO Drivers for Microsoft Windows Release 1.1.7:

  • Oracle Cloud Infrastructure

  • Oracle Linux 7

5.2.2 Supported Guest Operating Systems

The following table lists the supported Microsoft Windows operating systems for the Oracle VirtIO Drivers for Microsoft Windows.

Table 5.1 Microsoft Windows Supported Guest Operating Systems

Guest Operating System with Oracle VirtIO Drivers for Microsoft Windows Installed

64-bit

32-bit

Microsoft Windows Server 2019

Yes

N/A

Microsoft Windows Server 2016

Yes

N/A

Microsoft Windows Server 2012 R2

Yes

N/A

Microsoft Windows Server 2012

Yes

N/A

Microsoft Windows Server 2008 R2 SP1

Note

This operating system is supported only when the following Microsoft hotfixes are applied:

Yes

N/A

Microsoft Windows Server 2008 SP2

Note

This operating system is supported only when the following Microsoft hotfixes are applied:

Yes

Yes

Microsoft Windows Server 2003 R2 SP2

Yes

Yes

Microsoft Windows 10

Yes

Yes

Microsoft Windows 8.1

Yes

Yes

Microsoft Windows 8

Yes

Yes

Microsoft Windows 7 SP1

Yes

Yes

Microsoft Windows Vista SP2

Yes

Yes


Note

For information about the supported Microsoft Windows operating systems for the Oracle VirtIO Drivers for Microsoft Windows in the Oracle Cloud Infrastructure environment, see https://docs.oracle.com/en-us/iaas/Content/Compute/References/bringyourownimage.htm.

Virtual Machine Configuration

Virtual machine configuration for the Oracle VirtIO Drivers for Microsoft Windows complies with shape configurations for virtual machines in the Oracle Cloud Infrastructure environment. For more information, see: https://www.oracle.com/cloud/compute/virtual-machines/.

5.2.3 Microsoft Windows Compatibility Signing

The following table shows the Microsoft Windows operating systems for which the Oracle VirtIO Drivers for Microsoft Windows have been signed and certified. Oracle has also tested the drivers to ensure they work as expected. Additional information on the certifications can be found at the Windows Server Catalog.

Table 5.2 Microsoft Windows Compatibility Signing

Guest Operating System

Signed and Certified by Microsoft

Tested by Oracle to Operate Successfully

Microsoft Windows Server 2019

Yes

Yes

Microsoft Windows Server 2016

Yes

Yes

Microsoft Windows Server 2012 R2

Yes

Yes

Microsoft Windows Server 2012

Yes

Yes

Microsoft Windows Server 2008 R2 SP1

Yes

Yes

Microsoft Windows Server 2008 SP2 (32- and 64-bit)

Yes

Important

All binaries are signed by Microsoft except for the pvpanic driver binaries.

Yes

Microsoft Windows Server 2003 R2 SP2

No

Yes

Microsoft Windows 10

No

Yes

Microsoft Windows 8.1

No

Yes

Microsoft Windows 8

No

Yes

Microsoft Windows 7 SP1

No

Yes

Microsoft Windows Vista SP2

No

Yes


Note

A security alert occurs during installation on a Windows operating system for which Oracle VirtIO Drivers for Microsoft Windows are not signed.

5.3 Downloading the Oracle VirtIO Drivers for Microsoft Windows

Before you can install the Oracle VirtIO Drivers for Microsoft Windows you must download them from Oracle Software Delivery Cloud or My Oracle Support (MOS).

To download the Oracle VirtIO Drivers for Microsoft Windows from Oracle Software Delivery Cloud:

  1. Navigate to https://edelivery.oracle.com and log in.

  2. Search for Oracle Linux.

  3. Select DLP: Oracle Linux 7.9.0.0.0 (Oracle Linux).

  4. Click Continue.

  5. In the Platforms / Languages column, select x86 64 bit in the drop-down list and then click Continue.

  6. Review and accept the Oracle License Agreement and then click Continue.

  7. Click the V1009702-01.zip file name, Oracle VirtIO Drivers for Microsoft Windows, Version 1.1.7, 67.90 MB, and save it to your system.

To download the Oracle VirtIO Drivers for Microsoft Windows from MOS:

  1. From the MOS home page, click the Patches & Updates tab.

  2. From the Patch Search options, in the Patch Name or Number field enter 27637937 and then click Search.

  3. From the search results table, click the 27637937 Patch Name that corresponds to the Oracle VirtIO Drivers for Microsoft Windows, Version 1.1.7.

  4. From the Patch Details page, click Download.

    The File Download window opens.

  5. Click the p27637937_79000_MSWIN-x86-64.zip file and save it to your system.

5.4 Installing the Oracle VirtIO Drivers for Microsoft Windows

Installing the Oracle VirtIO Drivers for Microsoft Windows involves configuring Microsoft Windows policies, running the installation program, and then verifying the installation.

5.4.1 Installing the Oracle VirtIO Drivers for Microsoft Windows on Existing Microsoft Windows Guests

To install the Oracle VirtIO Drivers for Microsoft Windows on existing Microsoft Windows guests, perform the following procedures.

5.4.1.1 Configuring Policies for Device Installation

Configure Microsoft Windows policies to allow the installation of the Oracle VirtIO Drivers for Microsoft Windows, if these policies are not already configured. This task prevents the following error from occurring during an installation:

The installation of this device is forbidden by system policy. 
Contact your system administrator. 

To configure policies for installation:

  1. Open the Microsoft Windows virtual machine on which you want to install the Oracle VirtIO Drivers for Microsoft Windows.

  2. From the Start menu, select Run.

  3. Enter gpedit.msc and then click OK.

    The Local Group Policy Editor is displayed.

  4. From the Console Tree, display the list of device installation restrictions (Device Installation Restrictions) as follows:

    1. Expand Computer Configuration, and then expand Administrative Templates.

    2. Expand System, and then expand Device Installation.

    3. Select Device Installation Restrictions.

  5. Edit the policy settings so that no device installation restrictions are configured.

    Alternatively, review each policy setting to determine the correct configuration for your business needs.

  6. Close the Local Group Policy Editor.

  7. Restart the Microsoft Windows virtual machine.

When you are finished configuring the policy settings for device installation, you can proceed with the installation of the Oracle VirtIO Drivers for Microsoft Windows.

5.4.1.2 Installing Oracle VirtIO Drivers for Microsoft Windows

Before You Begin.  Do the following before you start the installation process:

Note

If you are migrating Windows guests from Oracle Cloud Infrastructure Classic to Oracle Cloud Infrastructure, the installer copies the Oracle VirtIO Drivers for Microsoft Windows files, installs the drivers on the guest, and configures the guest to support migration from Oracle Cloud Infrastructure Classic to Oracle Cloud Infrastructure.

You can install the Oracle VirtIO Drivers for Microsoft Windows by using the GUI installation program or by performing a silent installation. Use the graphical installation program if you are installing a single instance of the Oracle VirtIO Drivers for Microsoft Windows. If you plan to silently install multiple instances of the Oracle VirtIO Drivers for Microsoft Windows, you must run the GUI installation program in a command-line window on at least one Microsoft Windows guest to create a response file. You can then use the response file to perform all of the subsequent installations silently.

To install the Oracle VirtIO Drivers for Microsoft Windows:

  1. Copy the Oracle VirtIO Drivers for Microsoft Windows installation program Setup.exe to the guest.

  2. Start the installation by running Setup.exe in one of the following ways:

    • To perform a single installation, double-click Setup.exe to start the Oracle VirtIO Drivers for Microsoft Windows installer.

    • To record a response file for automated installations on multiple systems:

      1. Open a command line window.

      2. Navigate to the directory where the Setup.exe file is located.

      3. Run Setup.exe -r to start the Oracle VirtIO Drivers for Microsoft Windows installer and create a response file for silent installations.

  3. If prompted, select Yes in the User Account Control dialog to allow the Oracle VirtIO Drivers for Microsoft Windows installer to proceed.

    The Welcome window is displayed.

  4. Click Next.

    The Start to install Oracle VirtIO Drivers for Microsoft Windows Release 1.1.7 window is displayed with information about your selection.

  5. Click Install to start the installation.

    The installer copies the Oracle VirtIO Drivers for Microsoft Windows files and installs the drivers on the guest.

  6. Once the installation completes, click Finish.

    The virtual machine is restarted.

    Note

    If you are migrating Windows guests from Oracle Cloud Infrastructure Classic to Oracle Cloud Infrastructure, shut down the Windows guest VM in the Oracle Cloud Infrastructure Classic environment and then start the Windows guest VM in the Oracle Cloud Infrastructure environment.

The Oracle VirtIO Drivers for Microsoft Windows are installed in the following directories:

  • On 32-bit systems: C:\Program Files\Oracle Corporation\Oracle Windows VirtIO Drivers

  • On 64-bit systems: C:\Program Files (x86)\Oracle Corporation\Oracle Windows VirtIO Drivers

If you used the -r option in the command line, the installation program creates a response file in the C:\Windows directory. You then use the response file, setup.iss, to perform silent installations on other Microsoft Windows guests. See Section 5.6, “Silently Installing or Upgrading the Oracle VirtIO Drivers for Microsoft Windows”.

5.4.2 Installing the Oracle VirtIO Drivers for Microsoft Windows During Microsoft Windows Guest Installation

Before You Begin.  Do the following before you start the installation process:

To install the Oracle VirtIO Drivers for Microsoft Windows during the installation of a Microsoft Windows guest, do the following:

  1. Create the virtual machine, but do not start it.

  2. Attach the Oracle VirtIO Drivers for Microsoft Windows ISO file to the virtual machine as an emulated IDE device. You can find the winvirtio.iso file in the Oracle VirtIO Drivers for Microsoft Windows zip file you downloaded.

    Ensure that the Microsoft Windows installation ISO is attached to the virtual machine as the first IDE device. The Oracle VirtIO Drivers for Microsoft Windows ISO file should be the second IDE device.

  3. Start the virtual machine and begin the Microsoft Windows installation process.

  4. When the disk or partition screen displays, follow the prompts to browse and load drivers.

  5. Navigate to the appropriate driver location on the Oracle VirtIO Drivers for Microsoft Windows ISO file and then select them.

    The contents of the Oracle VirtIO Drivers for Microsoft Windows ISO file are as follows:

    autorun.inf      # File that automatically runs the installation program.
    Setup.exe        # The main graphical installation program.
    NetKVM           # Directory that contains the license file for NetKVM drivers.
    pvpanic          # Directory that contains the license file for pvpanic drivers.
    vioscsi          # Directory that contains the license file for vioscsi drivers.
    vioserial        # Directory that contains the license file for vioserial drivers.
    viostore         # Directory that contains the license file for viostore drivers.
    vio              # Base directory for drivers.
    
    vio/Win10        # Drivers for Windows 10, Windows Server 2016, and Windows Server 2019.
    vio/Win10/amd64  # 64-bit drivers.
    vio/Win10/i386   # 32-bit drivers. {only Windows 10)
    
    vio/Win8.1       # Drivers for Windows 8.1 and Windows Server 2012 R2.
    vio/Win8.1/amd64 # 64-bit drivers.
    vio/Win8.1/i386  # 32-bit drivers. (only Windows 8.1)
    
    vio/Win8         # Drivers for Windows 8 and Windows Server 2012.
    vio/Win8/amd64   # 64-bit drivers.
    vio/Win8/i386    # 32-bit drivers. (only Windows 8)
    
    vio/Win7         # Drivers for Windows 7 and Windows Server 2008 R2.
    vio/Win7/amd64   # 64-bit drivers.
    vio/Win7/i386    # 32-bit drivers.
    
    vio/Wlh          # Drivers for Windows Vista and Windows Server 2008 (Longhorn).
    vio/Wlh/amd64    # 64-bit drivers.
    vio/Wlh/i386     # 32-bit drivers.
    
    vio/Wnet         # Drivers for Windows Server 2003 R2.
    vio/Wnet/amd64   # 64-bit drivers.
    vio/Wnet/i386    # 32-bit drivers.
  6. Repeat the preceding step to install additional drivers as necessary and then continue with the Microsoft Windows installation process.

After you install the Microsoft Windows guest, you must configure Microsoft Windows policies. See Section 5.2.2, “Supported Guest Operating Systems”.

5.4.3 Optional Configuration Changes

This section describes optional changes that can be made to the configuration after installation is complete.

Note

The optional configuration changes are only relevant if you completed a Default type of installation, are running Oracle Linux, and have control of the host system. If you have completed a Custom installation and migrated your VM from the OCI-C to Oracle Cloud Infrastructure environment, you do not have access to the host.

The changes that are described here require that the host system is running the latest supported virtualization packages, which are available in the ol7_kvm_utils Yum repository on the Oracle Linux yum server or in the ol7_x86_64_kvm_utils or ol7_aarch64_kvm_utils channels on ULN.

If you have not already done so, enable the appropriate channel or repository and install the packages from this location before proceeding. See Section 2.1, “Configuring Yum Repositories and ULN Channels” for more information. If you perform an upgrade of the virtualization packages, you might need to restart any running virtual machines for the changes to take effect.

5.4.3.1 Configuring Block Drivers

The Oracle VirtIO Drivers for Microsoft Windows provide block drivers that improve disk performance on Microsoft Windows guests. However, guests do not automatically start by using the Oracle VirtIO Drivers for Microsoft Windows storage drivers after installation. As a result, guests cannot use the paravirtualized storage drivers for boot disks. You must configure each guest to use paravirtualized storage drivers instead of emulated disks after installation.

To configure block drivers after installation:

  1. Ensure you have installed the Oracle VirtIO Drivers for Microsoft Windows.

  2. Stop the guest if it is running.

  3. Create a new temporary image that you can add to the guest as a second disk. For example, run:

    sudo qemu-img create -f qcow2 disk_name.qcow2 1G
  4. Add the disk you created to the guest.

  5. Specify virtio as the bus type for the disk you added and then start the guest. Microsoft Windows will locate the disk drivers and complete the installation at this point.

  6. Change the bus type for the boot disk to virtio and then start the guest.

    Microsoft Windows then installs the Oracle VirtIO Drivers for Microsoft Windows block driver on the boot disk.

  7. Detach the temporary disk from the guest.

5.4.3.2 Setting the MTU Size for Virtual Machines

The Oracle VirtIO Drivers for Microsoft Windows override the maximum transmission unit (MTU) settings in the virtual network adapters for Microsoft Windows guests. After you have successfully installed and verified the Oracle VirtIO Drivers for Microsoft Windows, set the MTU for each guest as follows:

  1. Open the Microsoft Windows virtual machine.

  2. Open the control panel, then locate and open the Device Manager window.

  3. Expand Network adapters and select the appropriate Oracle VirtIO Ethernet Adapter.

  4. Right-click the adapter, select Properties, and then select the Advanced tab.

  5. Select the MTU property and set the value as appropriate.

  6. Click OK to save your changes.

5.5 Upgrading the Oracle VirtIO Drivers for Microsoft Windows

You can upgrade an existing installation of the Oracle VirtIO Drivers for Microsoft Windows by using the GUI installation program or by performing a silent upgrade. Use the graphical installation program if you are upgrading a single instance of the Oracle VirtIO Drivers for Microsoft Windows. If you plan to silently upgrade multiple instances of the Oracle VirtIO Drivers for Microsoft Windows, you must run the graphical installation program in a command-line window on at least one Microsoft Windows guest to create a response file. You can then use the response file to perform all subsequent upgrades silently.

To upgrade the Oracle VirtIO Drivers for Microsoft Windows:

  1. Copy the Oracle VirtIO Drivers for Microsoft Windows installation program, Setup.exe, to the guest.

  2. Do one of the following:

    • Double click Setup.exe to begin the upgrade.

    • Open a command line window and then do the following:

      1. Navigate to the directory where the Setup.exe file is located.

      2. Run the Setup.exe -r command to begin the upgrade and create a response file for silent installations.

  3. If prompted, select Yes in the User Account Control dialog to allow the Oracle VirtIO Drivers for Microsoft Windows installer to proceed.

    Figure 5.1 Oracle VirtIO Drivers for Microsoft Windows user account control dialog
    This figure shows the initial Update window. The buttons that are available are Back, Next and Cancel.

    The initial upgrade window is displayed.

  4. Click Next to start the upgrade.

    The installation program then copies new versions of the Oracle VirtIO Drivers for Microsoft Windows to the system and updates the installed drivers. The Update Complete window is displayed.

  5. Click Yes, I want to restart the system now and then click Finish to restart the virtual machine.

If you used the -r option in the command line, the installation program creates a response file in the C:\Windows directory. You then use the response file, setup.iss, to perform silent upgrades on other Microsoft Windows guests. See Section 5.6, “Silently Installing or Upgrading the Oracle VirtIO Drivers for Microsoft Windows”.

5.6 Silently Installing or Upgrading the Oracle VirtIO Drivers for Microsoft Windows

You can use a response file that you create with the graphical installation program to silently install or upgrade the Oracle VirtIO Drivers for Microsoft Windows. The response file provides the prompts that the installation program requires to successfully install or upgrade the Oracle VirtIO Drivers for Microsoft Windows.

Important
  • Oracle VirtIO Drivers for Microsoft Windows must be signed by Microsoft to perform a silent installation or upgrade. See Section 5.2.3, “Microsoft Windows Compatibility Signing”.

  • You can perform a silent installation or upgrade only on 64-bit versions of Microsoft Windows later than Windows Vista. You cannot perform a silent installation or upgrade on any 32-bit version of Microsoft Windows or Microsoft Windows 2003 (32-bit or 64-bit).

To install or upgrade the Oracle VirtIO Drivers for Microsoft Windows silently:

  1. Complete at least one installation or upgrade of the Oracle VirtIO Drivers for Microsoft Windows by using the GUI installation program to create a response file. See Section 5.4.1.2, “Installing Oracle VirtIO Drivers for Microsoft Windows” or Section 5.5, “Upgrading the Oracle VirtIO Drivers for Microsoft Windows”.

  2. Locate the response file, setup.iss, in the C:\Windows directory on the file system of the computer where you ran the graphical installation program.

  3. Copy setup.iss to the same directory as the Oracle VirtIO Drivers for Microsoft Windows installation program. Alternatively you can specify the location of the response file at the command line.

  4. Open a command-line window.

  5. Run the Setup.exe -s command to silently install or upgrade the Oracle VirtIO Drivers for Microsoft Windows with the response file.

    You can include the following options at the command line:

    • -f1c:path\to\setup.iss to specify the location of setup.iss.

      For example, Setup.exe -s -f1c:\Users\Username\setup.iss.

    • -f2c:path\to\setup.log to specify the location of setup.log. By default, log files are written to the C:\Windows directory, for example, Setup.exe -s -f2c:\Users\Username\setup.log.

5.7 Uninstalling the Oracle VirtIO Drivers for Microsoft Windows

You can uninstall the Oracle VirtIO Drivers for Microsoft Windows through the Microsoft Windows control panel or by running the installation program that you used to install the Oracle VirtIO Drivers for Microsoft Windows.

To uninstall through the Microsoft Windows control panel:

  1. Open the control panel and navigate to the Uninstall or change a program section.

    Note that the name of this section might be different, depending on your version of Microsoft Windows.

  2. Locate, then select the Oracle VirtIO Drivers for Microsoft Windows.

  3. Right-click the Uninstall option.

    The installation program starts and prompts you to confirm the uninstallation.

  4. Select Yes when prompted to remove the application.

    The installation program removes the Oracle VirtIO Drivers for Microsoft Windows and deletes the binaries from your system.

  5. When prompted, select Yes, restart the system and then click Finish to complete the uninstallation.

To uninstall with the installation program:

  1. Double click Setup.exe to start the Oracle VirtIO Drivers for Microsoft Windows installer.

    The installation program starts and prompts you to modify the current installation.

    Figure 5.2 Remove Installation
    This figure shows the Installation Repair or Remove dialog. You can choose Repair or Remove for your installation.

  2. Select Remove and then click Next.

  3. Select Yes from the pop-up dialog.

    The installation program removes the Oracle VirtIO Drivers for Microsoft Windows and deletes the binaries from your system.

  4. When prompted, select Yes, restart the system and then click Finish to complete the uninstallation.

5.8 Known Limitations and Workarounds

The following are known limitations and workarounds.

5.8.1 Security Alert for Unsigned Drivers

The Oracle VirtIO Drivers for Microsoft Windows have not been signed by Microsoft for 32-bit Microsoft Windows operating systems or Microsoft Windows Server 2003.

Security Alert on 32-bit Microsoft Windows Operating Systems

On 32-bit Microsoft Windows operating systems, the installer displays security alerts such as the following for each driver:

Figure 5.3 Windows Security Alert
This figure shows the Security Alert dialog. The buttons that are available are Install and Don't Install.

To continue with the installation, select Install.

Security Alert on Microsoft Windows Server 2003 and Microsoft Windows Server 2008 SP2

On Microsoft Windows Server 2003 and Microsoft Windows Server 2008 SP2 (32- and 64-bit), the installer displays a security alert similar to the following:

The driver software you are installing has not been properly signed with 
Authenticode Technology. Therefore, Windows cannot tell if the software 
has been modified since it was published. The publisher's identity cannot 
be verified because of a problem:
  
  Authenticode signature not found.

Do you still want to install this software?

The following image is an example of the security alert on Microsoft Windows.

Figure 5.4 Security Alert for Driver Installation
This figure shows the Security Alert dialog. The buttons that are available are Yes, No, and More Info.

To continue the installation, click Yes. Then, click Continue Anyway when the installer displays a message similar to the following:

The software you are installing has not passed Windows Logo testing to verify
its compatibility with this version of Windows.

Continuing your installation of this software may impair or destabilize the correct
operation of your system either immediately or in the future. Microsoft strongly
recommends that you stop this installation now and contact the software vendor
for software that has passed Windows Logo testing.

The following image is an example of the preceding security alert.

Figure 5.5 Continue Software Installation
This figure shows the security alert dialog. The buttons available are Continue Anyway and Stop Installation.

5.8.2 Found New Hardware Wizard Displayed

During the installation or uninstallation of the Oracle VirtIO Drivers for Microsoft Windows, the Found New Hardware wizard is displayed during the installation/uninstallation, and when the guest restarts. This only occurs on a guest with Microsoft Windows Server 2003 (32- or 64-bit) installed.

Workaround: Click Cancel to ignore the message and close the dialog box.

5.8.3 Microsoft Windows Server 2012 Data Center Guests With Failover Clustering Cannot Get IP Address

A Microsoft Windows Server 2012 data center guest may fail to get an IP address from a DHCP server or encounter a UDP connection failure after installing the Windows Server Failover Clustering feature and restarting the guest.

Note

This issue does not apply to Microsoft Windows Server 2012 R2. The issue affects only Microsoft Windows Server 2012.

Workaround: