:
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:
virtio-win-0.1-59.iso βββ amd64/ # 64-bit drivers (Windows 7/8/10/Server) βββ i386/ # 32-bit drivers βββ NetKVM/ # virtio-net network driver βββ viostor/ # virtio-blk storage driver βββ vioscsi/ # virtio-scsi driver βββ viorng/ # virtio-rng entropy source βββ vioserial/ # virtio-serial (console/ports) βββ balloon/ # virtio-balloon memory management βββ qxl/ # QXL video driver (spice) βββ pxeboot/ # PXE boot utilities βββ guest-agent/ # QEMU Guest Agent (qemu-ga) βββ *.cat, *.inf, *.sys : These are standard .inf + .sys Windows drivers, signed by Red Hat. 3. Common Use Cases (Development Context) 3.1 Automated Windows Guest Provisioning When scripting Windows VM creation with virt-install or libvirt , you attach this ISO as a second CD-ROM. virtio-win-0.1-59.iso
Output example:
# 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: : virt-install \ --name win10-vm \ --disk path=win10
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:
- name: Install viostor driver win_shell: | pnputil -i -a E:\amd64\viostor\viostor.inf $isoPath = "C:\ISOs\virtio-win-0.1-59.iso" $driveInfo = Mount-DiskImage -ImagePath $isoPath -PassThru $driveLetter = ($driveInfo | Get-Volume).DriveLetter + ":\" $driverInf = Get-ChildItem -Path "$driveLetter\amd64\viostor*.inf" -Recurse Select-String -Path $driverInf.FullName -Pattern "DriverVer" Common Use Cases (Development Context) 3
: This ISO is not a Windows installation disc β itβs a driver bundle loaded at Windows install time or added post-install.