How to install Windows 2022, 2019 or 10 Professional on Proxmox

Proxmox documentation is exceptional but we have created a quick guide for setting up a Windows host as it’s not the same defaults to be used when setting up Linux. The guide on Proxmox’s Wiki for Windows 2019 and Windows 10 seems exactly the same. We’ve included both links in the references. When doing this operation you want to focus on Virtio disk.

This article highlights the non defaults.

TL;DR

  1. Download Windows (server = 5 GB+):
  2. Download special disk, network, and ballooning drivers here: https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso
    • If you’ve downloaded this before, choose IDE / local disk / virtio
      • This is stored on Proxmox on /var/lib/vz/template/iso
  3. In addition to mounting the Windows ISO, also mount that fresh ISO as IDE device #3 (some strange default occurs
    • Be sure to mount the ISO when creating the VM otherwise you’ll have to reboot before the OS will recognize it.
  4. Ensure you select QEMU Agent on the second tab of the wizard.
  5. So here are interesting disk settings:
    •  Set “Write back” as cache option for best performance
    • Tick “Discard” to optimally use disk space (TRIM)
  6. Driver locations on Virtio CD:
    1. Hard disk: vioscsi\2k19\amd64
    2. Network: NetKVM\2k19\amd64
    3. Memory Balloon: Balloon\2k19\amd64
    4. Prep for QEMU Guest Agent
      • Device Manager / Look for “PCI Simple Communications Controller”
        • Update to D:\vioserial\2k19\amd64
    5. You want to install all four drivers, starting with the disk driver which is needed before the disk will be seen.
  7. Choose SCSI bus as you normally would for the disk
  8. Choose this network device: VirtIO (paravirtualized)

Proxmox Wizard Steps

If you are import an existing QCOW2, then you probably only need the Proxmox wizard stuff to fill in:

  1. General Tab
    • Name
  2. OS Tab
    • Do not use any media
    • Guest OS: Microsoft Windows version 10/2016/2019
  3. System Tab
    • Tick Qemu Agent
  4. Hard Disk Tab
    • Bus/Device: SCSI. That will default next line to VirtIO SCSI
    • Storage: raid1 or whatever volume you decide on
    • Cache: Write back
    • Discard: Tick this
  5. CPU
  6. Memory
  7. Network
    • VirtIO (paravirtualized)

Proxmox Wiki Guides

Further Steps

Install QEMU Guest Agent for Windows

  1. Make sure you’ve followed the step to update the unknown PCI Simple Communications Controller as per previous step
  2. Browse to the ISO and guest-agent and install the 64bit guest agent.
  3. Test so:
    • Services or Powershell
      • Get-Service QEMU-GA

Memory Ballooning

You should also install the VirtIO Balloon Driver to avoid an exclamation mark in your Device Manager.

Browse to the CD, Balloon, your OS, and then amd64 folder.

VirtIO Serial Driver

That’s the other exclamation mark, “PCI Simple Communications Device”.

Simply specify to browse the root of the CD to install that.

Allow Ping for Windows Server 2019

By default Windows Server 2019 doesn’t allow ping. If you want to set it, do this:

https://kb.vander.host/operating-systems/unable-to-ping-newly-installed-windows-2019-server/

Enable Remote Desktop Connection

You probably want RDP enabled:

https://kb.vander.host/operating-systems/how-to-enable-remote-desktop-protocol-for-administration-purposes-on-newly-created-windows-2019-server/

Group Policy Changes

Allow More Than One RDP Connection

  1. Start / Run / gpedit.msc
  2. Navigate to Computer Configuration >> Administrative Templates >> Windows Components >> Remote Desktop Services >> Remote Desktop Session Host >> Connections.
  3. Double click on “Set Restrict Remote Desktop Services user to a single Remote Desktop Services session and set this to Disabled.
  4. Next, double click on “Limit number of connections”, Enable, and set the RD Maximum Connections allowed to 999999 (6 x 9s)

Account Lockout

Some people like to have RDP on exposed on the internet. Your server will immediately become part of a dictionary attack. Very soon the lockout policy of RDP security will be reached. If you really have to, you can follow the route below:

Settings > Edit Group Policy
Group Policy > Computer Configuration > Windows Settings > Security Settings > Account Policies > Account Lockout Policy > Account Lockout Threshold

Share this article

Leave a Reply

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

Scroll to Top