Welcome to my blog, where I will guide you through the process of setting up Windows 10 on KVM (Kernel-based Virtual Machine) or QEMU (Quick Emulator) virtualization software. Whether you’re new to virtualization or just looking to try out Windows 10 in a safe and isolated environment, this tutorial is perfect for you. By the end, you’ll have a fully functional Windows 10 installation running inside a virtual machine on your Linux host. Let’s get started!

change boot disk to Virtio

  1. Return the boot disk to IDE.
  2. Make sure the windows VM is shutdown.
  3. Download the VirtIO drivers ISO from here.
  4. Mount it on the CD drive for the VM. I just choose SATA type.
  5. Add a storage device which is of the VirtIO type. The size allocation doesn’t matter since you are using it to install the drivers.
  6. Start the Windows VM. It will try to install the drivers. If it doesn’t, open the CD drive, install the virtio for the windows system, I choose x64. Once installed, check whether system can read the virtio volume I just added. If system can detected it, don’t reboot but shutdown the machine.
  7. In the virt-manager settings for Windows, change the storage type from SATA to VirtIO. in my case, I just change below:
<target dev="sda" bus="sata"/>

to:

<target dev="vda" bus="virtio"/>

if prompt wrong info, just delete the <address/> tag and let virt-manager to re-generate it.

  1. You can remove the storage device you had created earlier. It is not longer needed.
  2. then, restart the vm, it should be done.

correct CPU topology

if want allocate 8 vCPUs to windows 10 vm, should modify socket and thread like below, and then change cores number to let vm to identify properly:

  1. Sockets: 1
  2. Cores: 4 (or add more)
  3. Threads: 2