Windows Server In-place upgrade vs installazione pulita

Quando si deve aggiornare la versione di Windows Server ad una release successiva una delle prime domande è quella se è possibile eseguire un In-place upgrade (ovvero un aggiornamento del sistema operativo sul posto detto anche aggiornamento delle funzionalità) o se sia meglio un’installazione pulita del sistema.

Ovviamente  se non è un problema riconfigurare il server, è sempre meglio eseguire un’installazione pulita.

L’In-place upgrade, come indicato in Feature update, clean install, or migrate to Windows Server | Microsoft Learn, permette di eseguire l’aggiornamento a una versione successiva di Windows Server mantenendo al tempo stesso le impostazioni originali, i ruoli del server, le funzionalità e i dati, ma occorre tenere presente che alcuni ruoli e funzionalità non supportano l’In-place upgrade e che tale modalità di aggiornamento funziona meglio con le macchine virtuali (VM) che non necessitano di driver hardware oem (Original Equipment Manufacturer) specifici per eseguire correttamente l’aggiornamento.

Al seguente Overview of Windows Server upgrades | Microsoft Learn è possibile visualizzare i percorsi di aggiornamento supportati, in base alla versione attualmente in uso, ovvero i percorsi supportati per l’In-place upgrade. Si noto che l’In-place upgrade a Windows Server 2025 è supportato per Windows Server 2012 R2 e successivi (mentre l’In-place upgrade a Windows Server 2022 era supportato solo per Windows Server 2016 e successivi). Inoltre l’In-place upgrade non supporttato in Windows Storage Server Editions e su sistemi Windows Server configurati per eseguire il boot da VHD (a riguardo si veda Boot to a virtual hard disk: Add a VHDX or VHD to the boot menu | Microsoft Learn).

Si noti che è anche possibile effettuare l’aggiornamento da una versione evaluation a una versione retail, da una versione retail precedente a una più recente oppure, in alcuni casi, da un’edizione del sistema operativo con volume-licensed a una edizione retail, a riguardo si veda Upgrade and conversion options for Windows Server | Microsoft Learn

Non sono invece supportate le seguenti i seguenti percorsi di In-place upgrade di sistemi Windows Server già concesso in licenza, ovvero non evaluation:

  • L’In-place upgrade da un’architettura a 32 bit a un’architettura a 64 bit non è supportata, ma si tenga conto che le versioni di Windows Server a partire da Windows Server 2008 R2 sono solo a 64 bit.
  • L’In-place upgrade da una lingua a un’altra non è supportata.
  • L’In-place upgrade da un’installazione Server Core ad un’installazione Server con Desktop Experience e viceversa non è supportata.
  • L’In-place upgrade ad una versione Evaluation non è supportata.
  • Quando si esegue l’In-place upgrade per impostazione predefinita viene mantenuta l’edizione (Standard, Datacenter, Datacenter Azure Edition) mantenuta edizione del sistema operativo esistente, ma è consentito durante l’In-place upgrade passare da Standard verso Datacenter o Datacenter Azure Edition, oppure da Datacenter verso Datacenter Azure Edition. Mentre non è consentito durante l’In-place upgrade passare da Datacenter all’edizione Standard o da Datacenter Azure Edition alle edizioni Standard o Datacenter.
  • E’ possibile convertire la versione Evaluation dell’edizione Standard (Desktop Experience) nella versione retail dell’edizione Standard (Desktop Experience) o dell’edizione Datacenter (Desktop Experience), mentre la versione Evaluation dell’edizione Datacenter può essere convertita solo nella versione retail dell’edizione Datacenter. Inoltre nelle versioni di Windows Server successive alla versione 2016 le versioni Evaluation Desktop Experience non possono essere convertite nella corrispondente versione Core Retail, inoltre la versione Evaluation Standard Core può essere convertita solo nella versione Retail Datacenter Core e non nella Retail Standard Core.
  • Non è possibile convertire un Active Directory domain controller da una versione Evaluation ad una versione Retail.

Si tenga anche presente che se il sistema usa il NIC Teaming occorre disabilitare il NIC Teaming prima gruppo NIC prima dell’In-place upgrade e quindi riabilitarlo al termine dell’aggiornamento.

Sebbene l’In-place upgrade di un Active Directory Domain Controller sia supportato non è il metodo consigliato per aggiornare la versione di Windows Server, a riguardo si vedano le indicazioni riportate in Upgrade domain controllers to a newer version of Windows Server | Microsoft Learn. Il modo consigliato per aggiornare un dominio consiste nel promuovere nuovi server ai controller di dominio che eseguono una versione più recente di Windows Server e abbassare di livello i controller di dominio meno recenti in base alle esigenze.

Oltre a queste considerazioni circa gli scenari supportati da Microsoft e occorre valutare se l’In-place upgrade è supportato dal cloud provider, nel caso di VM, dal produttore hardware nel caso del server fisico e dal produttore del software in esecuzione sul sistema. Ad esempio come indicato in In-place Upgrade Guidelines for Windows Server 2022 | Dell US Dell Technologies non supporta l’In-place update e le indicazioni fornite sono da utilizzarsi solo in scenari di test. In particolare si noti la seguente considerazione che occorre tenere presente quando l’In-place upgrade viene eseguito su un server fisico:

“If the Out of Box (OOB) drivers of the current operating system are having versions less than the inbox driver of the target operating system, then during the upgrade the inbox driver will replace the OOB driver. Failures can be observed as the inbox driver might or might not support the same features being supported by the OOB driver.”

Prima di procedere ad un In-place upgrade eseguire le seguenti attività, a riguardo si veda Perform a Feature Update of Windows Server | Microsoft Learn:

  1. Installare gli ultimi aggiornamenti del sistema operativo.
  2. Installare gli ultimi aggiornamenti di driver, firmware e BIOS.
  3. Eseguire un backup completo del computer.
  4. Raccogliere alcune informazioni dal sistema  ai fini della diagnostica e della risoluzione dei problemi, nel caso l’aggiornamento delle funzionalità non vada a buon fine. Ad esempio eseguire i seguenti comandi in un prompt di PowerShell con privilegi elevati:
    Get-ComputerInfo -Property WindowsBuildLabEx,WindowsEditionID | Out-File -FilePath .\computerinfo.txt
    systeminfo.exe | Out-File -FilePath systeminfo.txt
    ipconfig /all | Out-File -FilePath ipconfig.txt

Per eseguire un aggiornamento delle funzionalità selezionare Mantieni i file personali e le app, l’opzione Mantieni i file personali conserva i file personali dell’utente, come documenti, immagini e altri dati presenti nelle cartelle dell’utente, mentre l’opzione Mantieni le app conserva sia le applicazioni installate che i file personali dell’utente, oltre alle impostazioni del sistema.

Per informazioni sul’In-place upgrade di VM in Azure si veda Windows in-place upgrade – Azure Virtual Machines | Microsoft Learn.

Dal momento che l’In-place upgrade può essere causa di problemi successivi è possibile verificare se il sistema ha subito questa modalità di aggiornamento, tale verifica è particolarmente utile nel caso si debba gestire un sistema, ma non si conosce la sua “storia”.

Se nel registro di sistema esiste la chiave di registro HKEY_LOCAL_MACHINE\SYSTEM\Setup\Upgrade sul sistema è stato eseguito un In-place upgrade e il valore DownlevelBuildNumber all’interno della chiave indica la versione del sistema prima dell’In-place upgrade. Inoltre in un sistema che ha subito un In-place upgrade viene creata un chiave del tipo HKEY_LOCAL_MACHINE\SYSTEM\Setup\Source OS (Updated on 1/21/2025 17:09:56) che oltre ad indicare quando è stato eseguito l’In-place upgrade contiene una serie di valori che descrivono dettagliatamente l’In-place upgrade eseguito.