Creare in Proxmox una VM con le seguenti caratteristiche

Agganciare alla VM due CD/DVD rispettivamente con i seguenti file ISO:
Far partire la VM da cd installazione ed iniziare l’installazione Windows (la VM deve essere senza rete)
Selezionare “I don’have a product key”

Selezionare Windows Pro perché ha il Remote desktop ed è accettata dalle licenze KMS (maggiori info qui per le Licenze INFN)

Seleziona Load Driver

Nel CD virtio-win cercare nella cartella amd60a la versione di windows che si sta installando

E procedere all’installazione del driver proposto

A questo punto il disco della macchina virtuale compare ed è possibile procedere con l'installazione

Durante l’installazione di Windows, per creare una unica partizione su disco, quando ti trovi nella schermata "Dove vuoi installare Windows?", SHIFT+F10 e si aprirà una finestra dos ed esegui questi comandi:
diskpart list disk select disk 0 clean create partition primary format fs=ntfs quick assign active exit |


Da qua poi inizia l’installazione di windows

Procedere ma selezionare “I don’t have internet” così si può proseguire senza avere un account online


Specificare un nome utente tale utente non verra' poi utilizzato se non durante questa fase di preparazione (si consiglia di usare un nome di fantasia come "cloud", ma in ogni caso non usare un account utilizzato in produzione).
Windows è installato

Sysprep non può essere eseguito quando il sistema sta usando la "Reserved Storage" (una porzione del disco riservata per aggiornamenti e manutenzioni di Windows), e questo blocca la fase di pulizia (cleanup) di Sysprep.
powershell (aprire la riga di comando apposita con diritti di amministrazione):
dism /Online /Set-ReservedStorageState /State:Disabled |
Il servizio onedrive, anche se non configurato, crea problemi nel
passaggio successivo, quindi e' necessario disinstallarlo per tutti gli utenti tramite questi comandi
powershell (aprire la riga di comando apposita con diritti di amministrazione):
Get-AppxPackage -AllUsers Microsoft.OneDriveSync | Remove-AppxPackage -AllUsers |

riavviare la macchina per rendere effettiva la modifica
Ora procedere ad installare il resto dei driver necessari
Dall disco con i driver virtio ed eseguire "virtio-win-guest-tools" per installare tutti i driver necessari al buon funzionamento della VM.

al termine dell'installazione eseguire riavvio

Verificare che il disco sia unico e non ci sia discontinuità (Disk Management)

Per attivare la connessione da Remoto:
![]()
Perchè la macchina risponda al ping :


Restart della macchina
Ora procedere alla pulizia di tutta la macchina
A questo punto resta solo da installare il servizio cloudbase-init, che comunica con openstack durante l'istanziazione della macchina.
Nel CD trovi
installare cloud-init sulla VM.

Procedere all’installazione

Prima della maschera “Complete The Cloudbase-Init….”
copia il contenuto dei file cloudbase-init-unattend.conf e Unattend.xml negli stessi file presenti in
C:\Program Files\Cloudbase Solutions\Cloudbase-Init\conf
I file devono essere aperti con Notepad come amministratore


Ora la nostra immagine e' pronta per essere utilizzata sul cloud ma per ottimizzare lo spazio è possibile compattare il disco.
Sul computer host, dove si e' installata la vm windows, recarsi nel percorso dove e' presente il disco virtuale (su Proxmox /var/lib/vz/images/NVM) e quindi dare i seguenti comandi:
apt install libguestfs-tools virt-sparsify <nome_immagine.qcow2> <nuova_immagine.qcow2> |
esempio:
virt-sparsify vm-110-disk-1.qcow2 vmCloud240325.qcow2 |
L'immagine è ora veramente pronta per l'uso su cloud.
Procedere con Upload in glance di una nuova immagine pubblica