Creare in Proxmox una VM con le seguenti caratteristiche.

Creare una immagine NUOVA ogni volta perchè se si "recicla una immagine già usata la procedura fallisce (come se il disco di installazione fosse corrotto)
Per windows 11 i requisiti minimi di sistema includono un processore 1 GHz o superiore con 2 o più core, 4 GB di RAM, un dispositivo di archiviazione da 64 GB
Agganciare alla VM due CD/DVD rispettivamente con i seguenti file ISO:

Alla prima schermata (“Scegli lingua / layout tastiera”)

Premi Shift + F10 Scrivi i comandi nel prompt
ISTRUZIONI IN TEST (per risolvere proeelma della partizione dischi in corso....)
:: LabConfig: bypass hardware checks
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassTPMCheck /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassSecureBootCheck /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassRAMCheck /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassCPUCheck /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassStorageCheck /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassDiskCheck /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassNetworkCheck /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassBitlockerCheck /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\Setup\LabConfig /v BypassWin10BuildVersionCheck /t REG_DWORD /d 1 /f
reg add HKLM\SYSTEM\Setup\LabConfig /v UseLegacySetupFlow /t REG_DWORD /d 1 /f
:: MoSetup: consente aggiornamenti su hardware non supportato
reg add HKLM\SYSTEM\Setup\MoSetup /v AllowUpgradesWithUnsupportedTPMOrCPU /t REG_DWORD /d 1 /f
:: Disabilita OOBE dinamico (connessione a internet e aggiornamenti durante setup)
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\OOBE /v DisableDynamicUpdate /t REG_DWORD /d 1 /f
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\OOBE /v SkipMachineOOBE /t REG_DWORD /d 1 /f
reg add HKLM\Software\Microsoft\Windows\CurrentVersion\OOBE /v SkipUserOOBE /t REG_DWORD /d 1 /f
:: Imposta valore per evitare setup moderno (potenziale blocco 24H2)
reg add HKLM\SYSTEM\Setup /v SetupPlatform /t REG_SZ /d "Classic" /f
file di log in
notepad C:\Windows\Panther\setupact.log
notepad C:\Windows\Panther\setuperr.log
diskpart
select disk 0
clean
convert mbr
create partition primary
format fs=ntfs quick
active
assign letter=c
exit
reg add HKLM\SYSTEM\Setup\LabConfig reg add HKLM\SYSTEM\Setup\LabConfig /v BypassTPMCheck /t REG_DWORD /d 1 reg add HKLM\SYSTEM\Setup\LabConfig /v BypassSecureBootCheck /t REG_DWORD /d 1 reg add HKLM\SYSTEM\Setup\LabConfig /v BypassRAMCheck /t REG_DWORD /d 1 reg add HKLM\SYSTEM\Setup\LabConfig /v BypassCPUCheck /t REG_DWORD /d 1 reg add HKLM\SYSTEM\Setup\LabConfig /v BypassStorageCheck /t REG_DWORD /d 1 reg add HKLM\SYSTEM\Setup\LabConfig /v BypassDiskCheck /t REG_DWORD /d 1 - |
Comando | A cosa serve |
BypassTPMCheck | Ignora l’assenza di TPM 2.0 |
BypassSecureBootCheck | Ignora la mancanza di Secure Boot |
BypassRAMCheck | Permette installazione anche con meno di 4 GB di RAM |
BypassCPUCheck | Ignora CPU non ufficialmente supportate |
BypassStorageCheck | Evita blocco per spazio disco insufficiente |


Selezionare "I don't have a product key"

Selezionare Windows 11 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.
FORMAT + DELETE
Procedere a cancellare tutte le partizioni e a formattare il disco da questa maschera:

Quando ti trovi nella schermata "Select location to install Windows 11", 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 |
Eseguendo il refresh il disco apparirà unico in modo da procedere con l'installazione:

Da qua poi inizia l’installazione di windows (ci sono alcuni riavvii)




In Windows11 non c'è più la possibilità di procedere senza internet

SHIFT + F10
OOBE\BYPASSNRO |
Il PC si riavvia automaticamente
Al riavvio, l’opzione “I don’t have internet” apparirà magicamente nella schermata di rete

Clicca su “I don’t have internet”, poi “Continue with limited setup”
Ora puoi creare un account locale e finire l’installazione

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)

ATTENZIONE attualmente ora (03/06/2025) la situazione è questa (WIN11 HA CREATO UNA PARTIZIONE DI RECOVERY ALLA FINE):
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/NumeroVM) 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