How to Install & Run Windows Server (Desktop Experience) under KVM on Ubuntu. With High Performance networking, hard drive, and display drivers. Then Configure for Remote Desktop Thin Clients with USB, Sound, and Microphone Forwarding.

I used Windows Server 2012r2 on Ubuntu 18.04 Bionic. Windows Server 2016 and Ubuntu 19.10 seems to work as well.

Example bridge config.

sudo nano -w /etc/netplan/01-netcfg.yaml
# This file describes the network interfaces available on your system
# For more information, see netplan(5).

  version: 2
  renderer: networkd
      dhcp4: no
          search: [mydomain, otherdomain]
          addresses: [,]
        - eno1
  • Install KVM
sudo apt install virt-manager 

Install Windows VM

  1. Download Windows
  2. Create QEMU/KVM Virtual Machine.
    1. Be sure to Disk bus under Disk  hard drive  type to VirtIO.
    2. Be sure to change NIC device model to “virtio”
      1. Be sure to select the bridge you set up.
    3.  Confirm There is a “Display Spice” and “Video QXL”
  3. Attach both Windows 2016 ISO and the VIRTIO driver ISO downloaded from here:

Install FreeRDP nightly…

  1. /groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
  2. Install Windows server, and choose custom to choose the Win2k16 version. Select the CD-rom drive the was attached and navigate to the prospective folders.
    1. Balloon
    2. NetKVM
    3. vioserial
    4. Viostor
  3. Install networking driver from iso. Install virtio serial, and virtio balloon driver. If not done in the above step by simple going to device manager, and right clicking to choose update driver. Choose browse my computer and point it to the iso. be sure to click include sub directories.
  4. Install Display driver QXL by going to Device mananger Display update driver
  5. Install QEMU “guest-agent” from iso
  6. Install spice-guest-tools from:…

Configure VM for remote desktop

  1. Change serial, and activate Windows 2016
  2. Enable Windows Audio service and set to automatic.
  3. Rename Computer.
  4. Set static IP.
  5. Allow remote desktop through firewall.
  6. Connect to existing Domain for User Authentication, or set up a new one:…
  7. Install Remote Desktop Services…
  8. Install Remote Desktop Licenses…
  9. Add Users.

Configure thin client

  1. Setup the RDP client…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.