→ Applies to: SynetoOS 6.x and above
This procedure is used when want to upgrade the VirtIO drivers (network, storage, balloon, serial, GPU, and related devices) on a Windows guest VM to the latest available version, rather than only updating the guest agent tools.
IMPORTANT
Jumping directly from the default guest-tools baseline (virtio-win 1.9.x) to a much newer build (virtio-win 0.1.3xx) can fail with the error "A newer version of Virtio-win-driver-installer is already installed." This happens because the installer compares version numbers across two different virtio-win numbering tracks that aren't directly comparable. The workaround below avoids this by installing the drivers individually via pnputil instead of running the bundled installer.
Step 1. Download the VirtIO Driver recommended for your OS version and extract it ("VirtIO Library Download")
Step 2. Login to SynetoOS GUI
Step 3. From Virtualization menu, click on Virtual machines

Step 4. Select the VM on which you want to install the Guest agent tools

The Install button is displayed after scrolling down to the OS Details section.
Step 5. Click on the three dots, then click Edit hardware

Step 6. From Optical drives section, click on Add optical drive, then click on your image repository and Select file

Step 7. Click on Upload file

Step 8. Click on Browse and select the downloaded ISO, then click on Upload and wait for completion

Step 9. Ensure mount image is checked, select the uploaded ISO then click on Update.

Step 10. Connect to the VM, open PowerShell, then check the Current Drivers Versions
Get-CimInstance Win32_PnPSignedDriver | Where-Object {$_.DeviceName -like "*Red Hat*" -or $_.DeviceName -like "*VirtIO*"} | Select-Object DeviceName, DriverVersion, DriverDate | Sort-Object DeviceNameEXAMPLE OUTPUT
DeviceName DriverVersion DriverDate Red Hat VirtIO Ethernet Adapter 100.101.104.28500 7/8/2025 5:00:00 PM Red Hat VirtIO SCSI pass-through controller 100.101.104.28500 7/8/2025 5:00:00 PM VirtIO Balloon Driver 100.101.104.28500 7/8/2025 5:00:00 PM VirtIO Serial Driver 100.101.104.28500 7/8/2025 5:00:00 PM
Step 11. Identify the CD-ROM Drive Letter
For this example the drive letter “E:”
Step 12. Upgrade the Drivers (replace <CD-ROM_drive_letter> with the CD-ROM drive letter and <OS_version> with the OS version)
pnputil /add-driver <CD-ROM_drive_letter>\vioscsi\<OS_version>\amd64\vioscsi.inf /install
pnputil /add-driver <CD-ROM_drive_letter>\viostor\<OS_version>\amd64\viostor.inf /install
pnputil /add-driver <CD-ROM_drive_letter>\NetKVM\<OS_version>\amd64\netkvm.inf /install
pnputil /add-driver <CD-ROM_drive_letter>\Balloon\<OS_version>\amd64\balloon.inf /install
pnputil /add-driver <CD-ROM_drive_letter>\viorng\<OS_version>\amd64\viorng.inf /install
pnputil /add-driver <CD-ROM_drive_letter>\vioserial\<OS_version>\amd64\vioser.inf /install
pnputil /add-driver <CD-ROM_drive_letter>\viosock\<OS_version>\amd64\viosock.inf /install
pnputil /add-driver <CD-ROM_drive_letter>\viogpudo\<OS_version>\amd64\viogpudo.inf /installNOTE
The last command upgrades the VirtIO GPU (display) driver.
Confirm the folder name matches the structure of the mounted ISO (dir <CD-ROM_drive_letter>\viogpudo\<OS_version>\amd64\) before running it, as folder naming can vary slightly between virtio-win builds.
Step 13. Reboot the VM
Step 14. Connect to the VM, open PowerShell, then verify the drivers were updated
Get-CimInstance Win32_PnPSignedDriver | Where-Object {$_.DeviceName -like "*Red Hat*" -or $_.DeviceName -like "*VirtIO*"} | Select-Object DeviceName, DriverVersion, DriverDate | Sort-Object DeviceNameEXAMPLE OUTPUT
DeviceName DriverVersion DriverDate Red Hat VirtIO Ethernet Adapter 100.103.104.30200 7/21/2026 5:00:00 PM Red Hat VirtIO SCSI pass-through controller 100.103.104.30200 7/21/2026 5:00:00 PM VirtIO Balloon Driver 100.103.104.30200 7/21/2026 5:00:00 PM VirtIO Serial Driver 100.103.104.30200 7/21/2026 5:00:00 PMNOTE
IfDriverVersionandDriverDateare unchanged, the drivers were not actually updated, re-check the mounted ISO path and drive letter, and confirm eachpnputilcommand completed without error.