Creazione in Proxmox della VM Windows 10


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

Creare unica partizione disco

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
  1. clean – Cancella tutte le partizioni e il contenuto del disco selezionato.
  2. create partition primary – Crea una singola partizione primaria (senza partizione di sistema, recovery, ecc.).
  3. format fs=ntfs quick – Formatto in NTFS.
  4. active – Imposta la partizione come avviabile (bootable).

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)


Attivazione RDP e PING

Per attivare la connessione da Remoto:


Perchè la macchina risponda al ping :

Restart della macchina


Preparazione Immagine per distribuzione


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



Ottimizzazione immagine cloud

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