Patched - Virtio-win-0.1-59.iso

<DriverPaths> <PathAndCredentials wcm:action="add" wcm:keyValue="1"> <Path>E:\amd64\viostor</Path> </PathAndCredentials> <PathAndCredentials wcm:action="add" wcm:keyValue="2"> <Path>E:\amd64\NetKVM</Path> </PathAndCredentials> </DriverPaths> | Driver | Device | Purpose | Critical for boot? | |------------|---------------|----------------------------------------------|--------------------| | viostor | virtio-blk | Disk access (high performance) | Yes (boot volume) | | vioscsi | virtio-scsi | SCSI emulation, better for many disks | Yes | | NetKVM | virtio-net | Network device (much faster than e1000) | No | | viorng | virtio-rng | Provides entropy from host | No | | balloon | virtio-balloon| Dynamic memory management | No | | qxl | QXL | SPICE video acceleration | No (but recommended)| 5. Programmatic Access & Automation 5.1 Extract drivers without mounting (Python example) import iso9660 import shutil iso = iso9660.ISO9660('virtio-win-0.1-59.iso') for entry in iso.list_files(): if entry.name.endswith('.sys') or entry.name.endswith('.inf'): data = iso.read_file(entry) with open(f'extracted/entry.name', 'wb') as f: f.write(data) 5.2 Ansible playbook for driver installation (post-boot) - name: Install virtio drivers on Windows guest hosts: windows_vm tasks: - name: Mount virtio ISO win_disk_image: image_path: D:\virtio-win-0.1-59.iso state: present register: iso_mount - name: Install NetKVM driver win_shell: | pnputil -i -a E:\amd64\NetKVM\netkvm.inf

# Mount Windows image dism /Mount-Image /ImageFile:C:\win10.wim /Index:1 /MountDir:C:\mount dism /Image:C:\mount /Add-Driver /Driver:D:\amd64\viostor /Recurse dism /Image:C:\mount /Add-Driver /Driver:D:\amd64\NetKVM /Recurse Commit and unmount dism /Unmount-Image /MountDir:C:\mount /Commit 3.3 Unattended Windows Installation (Answer File) In autounattend.xml , specify the driver paths: virtio-win-0.1-59.iso

1. Overview virtio-win-0.1-59.iso is a specific release of the virtio Windows drivers package, provided by the Fedora Virtualization Project (and Red Hat). It contains paravirtualized I/O drivers for Windows guests running on KVM, QEMU, libvirt, and oVirt. Overview virtio-win-0

Version 0.1-59 is an older but stable release (circa 2015–2017). Modern versions are 0.1.2xx +, but legacy systems often pin this version. When mounted, typical directory structure: Modern versions are 0

virt-install \ --name win10-vm \ --disk path=win10.qcow2,size=50 \ --disk path=virtio-win-0.1-59.iso,device=cdrom \ --os-variant win10 \ --cdrom /path/to/Win10_install.iso During Windows setup, at the “Where do you want to install Windows?” step, you click → Browse to E:\amd64\viostor (for storage) or E:\amd64\NetKVM (for network). 3.2 Post-Install Driver Injection (Offline) Using dism to inject drivers into a mounted Windows image: