Creting Windows 11 Guest VM under Ubuntu Host#
Install and Setup Windows 11 VM#
Prerequisites#
Installation Script
If you already have installed the required
rpls_sriov_kvm_multios_emt-3.1_ww2525.zipscript as part of the host setup, skip this step. Otherwise, download the installation script from a source provided by Your Intel Representative.Unzip and install it on the host OS:
unzip -jo rpls_sriov_kvm_multios_emt-3.1_ww2525.zip
Windows ISO Image
Download Windows 11 Enterprise version 24H2 into your working directory, where you unzipped the installation scripts and ran the host setup. For purpose of this guide we’re assuming this directory to be
/home/$USER.
Prepare Windows VM Image#
Create a symlink.
# Windows 11 ln -s 26100.1.240331-1435.ge_release_CLIENTENTERPRISE_OEM_x64FRE_en-us.iso windows.iso
Create an empty Windows image file:
cd /home/$USER/ qemu-img create -f qcow2 win.qcow2 64G
Prepare OVMF files:
ln -sf ovmf/OVMF_CODE.fd OVMF_CODE.fd cp ovmf/OVMF_VARS.fd OVMF_VARS_windows.fd
Install Windows VM Image#
Run
install_windows.shto install the Windows guest OS.# Start guest VM to install Windows cd /home/$USER/ sudo ./install_windows.sh
Note: If you miss the “Press Any Key” message, press ESC key until you reach the EFI shell prompt, then type “reset” to start over again. Then, follow the Windows installation steps.
Select Install Windows 11 and click Next:

Select Windows 11 IoT Enterprise”:

Select Drive 0 Unallocated Space and click Next:

Select Ready to install:

Follow the Windows installation steps as usual, rebooting as necessary. When the installer asks for a network connection, select I don’t have internet.

Windows will be installed to
win.qcow2.Once the installation is done, disable the automatic updates temporarily with the following steps:
Open Settings.
Click Updates & Security.
Click Windows Update.
Click Pause updates for 7 days.
Properly shut down the Windows guest OS.
Configure SRIOV on Windows 11 Enterprise VM#
Required Drivers#
Windows 11 OS Patch 26100.3037:
Windows VirtIO Drivers:
Note: To get access to Intel Graphics UHD Iris Xe GFX driver ver. 32.0.101.6733 and SRIOV ZeroCopy Windows driver (v1797), apply for access in Intel AGS. Remember to setup the proxy settings if operating from behind a corporate firewall.
Launch Windows Guest VM and Install Drivers#
Launch Windows Guest VM#
From Host OS launch Windows guest VM with start_windows.sh.
# Start guest VM to install Windows drivers
cd /home/$USER/
sudo ./start_windows.sh
Download and install Windows 11 OS patches in correct order#
Double click on the KB5043080 *.msu file to start the installation. After successful installation reboot the Windows Guest VM.
Double click on the KB5050094 *.msu file to start the installation. After successful installation reboot the Windows Guest VM.


Install GFX Driver#
Download Intel Graphics UHD Iris Xe GFX driver ver. 32.0.101.6733
Use the File Explorer to navigate to the downloaded .exe file, and launch it.
Wait for the Dell Update Package window to open, then click INSTALL and follow the prompts.

After intel GFX Driver installation windows opens, click the Begin Installation button:
After the installation is completed, reboot the Windows guest VM:
Launch Device Manager to verify the installation.
Expand the “Display adapters” item in the device list.
Right-click on the graphics device and select Properties. Click Drivertab. Verify that the Intel® Graphics version is 32.0.101.6733.
Install SR-IOV Zero Copy Driver#
Download Windows Zero Copy Drivers Release 1797 [DVServer, DVServerKMD] SRIOV ZeroCopy Windows driver (v1797)
Please make sure the correct ZCBuild version is chosen from the drop-down. By default, the latest ZCBuild version will be the first one.
Use File Explorer to extract the .zip file.
The SR-IOV Zero Copy Driver can be installed either with the GUI installer or through the command line.
Install SR-IOV Zero Copy Driver Using GUI Installer
Go to the directory containing ZeroCopyInstaller.

Double-click the ZeroCopyInstaller to run it.

Click on the Install button when prompted.

Once the installation is completed, click the Finish button to restart Windows.
Install SR-IOV Zero Copy Driver Using Command Line
Open Powershell in administrator mode.
Navigate to the directory containing ZeroCopyInstaller.
Enter the following command to perform the installation:
C:\> .\ZeroCopyInstaller.exe /VERYSILENT /SUPPRESSMSGBOXES
Note: Option usage details:
/VERYSILENTRuns silently without displaying windows/SUPPRESSMSGBOXESSuppresses message boxes from displaying/NORESTARTAvoids restarting the system after installation.
Wait for the Windows guest to automatically restart.
Verify SR-IOV Zero Copy Driver Installation
Launch Device Manager to verify the installation.
Expand the Display adapters item in the device list, as shown below:

Verify that DVServerUMD Device and VServerKMD driver are loaded properly.
In Task Manager, verify that the GPU tab is showing correct information.
Disable Graphics Driver Updates#
Identify the Graphics Hardware ID#
Launch the Device Manager.
Expand the Display adapters item in the device list:

Right click on the graphics device and select Properties.
Switch to the Details tab and select Hardware IDs from the Property drop down list.

Right click on the second ID in the list and select Copy from the context menu.
Enable Group Policy Disabling Graphics Driver Update#
In the Windows search bar type
gpedit.mscand launch the Group Policy Editor.On the left pane, navigate to Computer Configuration -> Administrative Templates -> System -> Device Installation -> Device Installation Restrictions

On the right pane, double click Prevent installation of devices that match any of these device IDs to display additional configuration options.

In the new pop-up window, click the Enabled radio button.

Clicking Show… will bring up a new window. Enter the device hardware ID copied earlier:

Click OK in all the dialog windows to disable graphics driver updates.
Note: To allow the graphics driver to be updated, follow the steps above, but select the Disabled radio button instead of Enabled.
Resume Windows Update#
Resume the automatic Windows updates (excluding Graphics driver) with the following steps:
Open Settings.
Select Update and Security.
Select Windows Update.
Click the Resume Updates button.
Install Windows VirtIO Drivers#
Use one of the provided links, or download the most recent
virtio-win-gt-x64.msi or virtio-win-gt-x86.msi from inside the VM.
Run the downloaded installer and follow the installation process.
IMPORTANT NOTE: Please shutdown the guest properly once the installation is completed!
Configuration Options for Running Windows Guest VM#
HMI Buildtime and Runtime Customer Applications#
Contact Your Intel Representative to obtain the required application.
Launch Windows VM
# Change to work directory cd <work directory> # Launch Windows 11 guest VM sudo ./start_windows.sh
Install the HMI applications
Download the HMI application to the host OS. In the Winodws guest VM use SCP to get the HMI application.
Follow the HMI installation user guide to install and configure the License.
IMPORTANT NOTE: Please shutdown the guest properly once the installation is completed! The win.qcow2 image is now ready to use.
Changing Guest VM Memory and Number of CPUs#
The default launch command without any parameters is for 2 cores and 2G RAM. You can change that with startup parameters:
Below is an example of guest start configuration for 4 cores and 4GB of RAM:
# Add -m option to specify 4G of memory
# Add -c option to specify 4 cpu cores for guest VM
sudo -E ./start_windows.sh -m 4G -c 4
Enabling USB Devices in Windows Guest VM**#
For Windows guest VMs, USB devices can be setup in two ways:
Passthrough of all USB Host Devices
USB host passthrough parameter option can be added in the launch command to passthrough all USB devices on the USB host.
Specify an additional parameter to the Guest VM launch command as shown below.
# Note: all connected USB devices will be passthrough to the guest VM with USB host passthrough option sudo -E ./start_windows.sh --passthrough-pci-usb
Passthrough of selected USB devices.
An external command option can be used to passthrough only a few selected USB devices.
Retrieve the vendorid and productid of USB device. In this example,
046dis vendor ID,c06ais product ID.# On the target terminal. $ lsusb
Displays the following information:
Bus 004 Device 003: ID 046d:c06a Logitech, Inc. USB Optical
Mouse
Specify an additional parameter to the Guest VM launch command:
# Add extra command when starting the guest OS
sudo -E ./start_windows.sh -e "-device usbhost,vendorid=0x046d,productid=0xc06a"
Note: A passthrough device option can only be used once because a device can be passed through to only 1 guest VM at a time.
Enabling PCIe Wi-Fi Adapter Device in Windows Guest VM#
For Windows guest VMs, PCI Wi-Fi device passthrough can be setup by adding
--passthrough-pci-wifi parameter to guest VM launch command:
# Add --passthrough-pci-wifi for passing through Wifi adapter
sudo -E ./start_windows.sh --passthrough-pci-wifi