In questo articolo vediamo come creare e configurare correttamente una macchina virtuale Windows Server su Proxmox Virtual Environment 9.1.6, applicando best practice per ambienti di laboratorio e produzione.
Prerequisiti
- ISO Windows Server (2019 / 2022 / 2025)
- ISO driver VirtIO (scaricabile dal sito Fedora / Proxmox)
- Storage configurato (local-lvm, Ceph, ZFS, ecc.)
- Bridge di rete attivo (es. vmbr0)
Upload ISO su Proxmox
- Accedi alla Web UI di Proxmox.
- Seleziona il nodo.
- Vai su Storage → ISO Images → Upload.
- Carica i file:
- ISO Windows Server
- ISO VirtIO

- Cliccare sul tasto “Select File”:
- Selezionare i file ISO da importare (una alla volta).

- Cliccare sul tasto “Upload”:

… avanzamento upload:

… fine del task di caricamento:

Per visualizzare la iso caricata:
- Selezionare il datatstore.
- Selezionare “ISO Image”.
- L’immagine ISO caricata deve essere visibile all’interno della cartella

Creazione della VM
- Selezionare il nodo di partenza
- Cliccare sul nodo con il tasto dx selezionare “Create VM”:

- Se volessimo cambiare nodo di installazione è possibile farlo selezionandolo dal menu “Node”.

- Node: selezionare il nodo di partenza
- VM ID: automatico o personalizzato
- Name: es. Windows-2016
- Cliccare sul tasto “Next” per proseguire.

- Selezionare lo Storage in cui c’è la cartella ISO che contiene il file di installazione del sistema operativo.

- Selezionare il file ISO:

OS:
- ISO Image: seleziona Windows Server
- Type: Microsoft Windows
- Version: default
- Cliccare sul tasto “Next” per proseguire.

System (Configurazione Consigliata):

Perché q35?
Supporta PCIe moderno e migliora compatibilità con OS recenti.
- Cliccare sul tasto “Next” per proseguire”:

Hard Disk:

💡 Se usi Ceph/ZFS valuta l’allineamento corretto del block size.
- Cliccare sul tasto “Add”.

CPU:
- Type: host (massime performance)
- Cores: in base al carico
- Sockets: 2
- NUMA: abilitare solo su VM grandi
- Cliccare sul tasto “Next” per proseguire”:
Esempio CLI modifica CPU: qm set 101 –cpu host –cores 4 –sockets 1Inizio modulo

RAM:
- Minimo laboratorio: 4GB
- Produzione: 8GB+
- Ballooning: abilitabile in ambienti non criticiSelezionare la memoria che si vuole dare alla VM

Network:
- Model: VirtIO (paravirtualized)
- Bridge: rete dedicata
- VLAN Tag: se richiestoSelezionare la VLAN dedicata alle virtual machine

- Selezionare il modello della scheda di rete: VirtIO (paravirtualized)

- Cliccare sul tasto “Next” per proseguire.

- Rileggere e confermare cliccando sul tasto “Finish”

Installazione Windows Server
- Selezionare la Virtual machine e cliccare sul tasto “Start” per accenderla.

… fase di caricamento del sistema operativo…

- Proseguire con l’installazione del sistema operativo (questa parte non viene illustrata).

- installazione conclusa e virtual machine “Windows Server 2016” creata.

Post-Installazione Fondamentale
Dopo il primo login:
- Apri ISO VirtIO
- Installa:
- NetKVM
- Balloon
- QXL / SPICE
- VirtIO SCSI
- Installa QEMU Guest Agent
Su Proxmox occorre abilitarlo: qm set 101 –agent enabled=1
Verifica: qm guest ping 101
Ottimizzazioni Produzione
Abilitare CPU flags Hyper-V (migliora performance Windows)
qm set 101 –cpu host,hv_relaxed=1,hv_vapic=1,hv_spinlocks=0x1fff
Abilitare backup consistency (Guest Agent richiesto)
Nel job di backup seleziona:
- Mode: Snapshot
- QEMU Guest Agent: Yes
Conclusioni
Configurare correttamente Windows Server su Proxmox Virtual Environment permette di ottenere:
✔ Performance migliori rispetto a configurazioni legacy
✔ Maggiore compatibilità con OS moderni
✔ Snapshot e backup consistenti
✔ Integrazione corretta con storage avanzati
By: Alessandro Romeo – Enjoy 👍

