How to Install & Run Windows 2016 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.

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 VM

  1. Download Windows
  2. Create QEMU/KVM .
    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:…
  4. 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
  5. 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.
  6. Install Display driver QXL by going to Device mananger Display update driver
  7. Install QEMU “guest-agent” from iso
  8. 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. Install FreeRDP nightly…
deb freerdp-nightly main
wget -O - | sudo apt-key add -

Leave a Reply

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