Rufus: come fa a superare la verifica dei requisiti minimi di Windows 11

Rufus aggira i requisiti di Windows 11 intervenendo sia prima sia durante il setup, combinando modifiche al registro e automazione tramite unattend.xml per rendere l’installazione possibile anche su hardware non ufficialmente supportato.

Con l’introduzione di Windows 11, a ottobre 2021, Microsoft ha imposto una serie di requisiti hardware stringenti – tra cui TPM 2.0, Secure Boot, 4 GB di RAM e specifici modelli di CPU – per l’installazione del sistema operativo o l’aggiornamento a partire da Windows 10. La scelta operata a Redmond ha escluso una vasta gamma di sistemi perfettamente funzionanti. Così, l’utilità open source Rufus (download) si è affermata come uno degli strumenti più efficaci per creare supporti di installazione capaci di superare tali verifiche.

Ciò che rende particolarmente interessante Rufus non è semplicemente il risultato, ma il modo in cui ottiene questo comportamento. Analizzando il codice sorgente, emerge chiaramente che il bypass non si basa su un singolo trucco, ma su una combinazione di tecniche che agiscono in fasi diverse del processo di installazione di Windows.

Il punto chiave: quando avviene la verifica dei requisiti

La verifica dei requisiti minimi di Windows 11 avviene durante la fase iniziale del setup, all’interno dell’ambiente WinPE (Windows Preinstallation Environment). In questa fase, il programma di installazione controlla:

  • presenza e versione del TPM;
  • stato del Secure Boot;
  • quantità di RAM disponibile;
  • compatibilità della CPU.

Quando si effettua un’installazione di Windows 11 da zero, insomma, il controllo dei requisiti avviene subito dopo la scelta della lingua e del layout di tastiera. Se uno di questi controlli fallisce, l’installazione viene bloccata prima ancora che il sistema operativo sia trasferito sull’unità di sistema.

C’è però anche il caso dell’aggiornamento da Windows 10 o comunque dell’aggiornamento in-place a Windows 11. Avviando l’installazione di Windows 11 da Windows 10 (ma anche da una copia di Windows 11 già presente sul sistema in uso) usando l’Assistente all’installazione di Windows 11 oppure cliccando sul file setup.exe contenuto nel file ISO del sistema operativo (entrambi scaricabili dalla pagina dedicata sul sito Microsoft), si attiva una verifica dei requisiti.

In tanti nostri articoli, abbiamo visto le chiavi del registro di sistema sulle quali intervenire per bypassare i controlli. Il merito di Rufus è che fa tutto in automatico.

Il file setup.exe personalizzato da Rufus

Quando si crea un supporto d’installazione di Windows 11 con Rufus, il programma permette di scaricare direttamente il file ISO del sistema operativo dai server Microsoft oppure di elaborarne uno già salvato in locale.

La finestra Esperienza utente Windows, proposta da Rufus quando si sceglie Windows 11 come sistema operativo da inserire nel supporto avviabile (USB), consente di bypassare i requisiti ma anche di personalizzare altri aspetti dell’installazione.

Ad esempio, si può rimuovere l’obbligatorietà dell’account Microsoft in fase di setup, creare automaticamente un account locale, impostare le preferenze regionali senza nulla chiedere all’utente, evitare la richieste delle domande sulla privacy e disattivare la crittografia automatica con BitLocker per impostazione predefinita.

Personalizzare ISO Windows 11 con Rufus

In un altro articolo abbiamo sottolineato uno dei comportamenti forse meno conosciuti di Rufus. Un programma come Rufus permette di aggiornare a Windows 11 anche i PC che non soddisfano i requisiti creando un supporto avviabile contenente un file setup.exe personalizzato.

Tale file non è quello originale Microsoft (rinominato da Rufus in setup.dll) bensì un semplice eseguibile che aggiunge le voci di registro utili a bypassare tutti i controlli dei requisiti. Dopo aver inserito le voci di registro, setup.exe provvede ad avviare normalmente l’installazione di Windows 11 invocando setup.dll.

Le modifiche applicate da Rufus nel registro di sistema

Esaminando il codice sorgente del file setup.exe di Rufus, abbiamo verificato che tutte le modifiche sono concentrate nella parte finale del file setup.c, condiviso su GitHub. Nello specifico, sono le seguenti:

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\CompatMarkers" /f

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Shared" /f

reg delete "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\TargetVersionUpgradeExperienceIndicators" /f

reg add "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\HwReqChk" /f /v HwReqChkVars /t REG_MULTI_SZ /s , /d "SQ_SecureBootCapable=TRUE,SQ_SecureBootEnabled=TRUE,SQ_TpmVersion=2,SQ_RamMB=8192,"

Utilizzo del file unattend.xml

Al momento della creazione del supporto per l’installazione di Windows 11, Rufus genera anche un file unattend.xml che permette di bypassare un’altra verifica che la routine d’installazione effettua al momento di un’installazione pulita oppure all’atto di un aggiornamento in-place con un doppio clic su setup.exe.

Il file unattend.xml che Rufus crea è più o meno quello che potete consultare qui: la sua struttura, tuttavia, può differire in base alla scelte operate nella finestra Esperienza utente Windows presentata in precedenza.

La parte più interessante, tuttavia, è proprio all’inizio. I comandi che seguono sono automaticamente impartiti tramite il file unattend.xml all’avvio dell’installazione di Windows 11:

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

Come si vede, le tre istruzioni disattivano il controllo sulla presenza e sull’attivazione del chip TPM, sul Secure Boot e sul quantitativo di memoria RAM presente. Manca il controllo sul processore installato perché – udite, udite – quando si installa Windows 11 da zero o comunque fuori dall’ambiente Windows, la procedura d’installazione non verifica la CPU. Un’installazione pulita di Windows 11 funziona anche con CPU più vecchie, senza usare trucchi!

Il file unattend.xml è un file di configurazione XML utilizzato dal setup di Windows che, letto automaticamente durante la prima fase dell’installazione, permette di applicare impostazioni predefinite, eseguire comandi e automatizzare completamente il processo senza intervento dell’utente. Rufus salva il suo file nel percorso \sources\$OEM$\$$\Panther\unattend.xml.

Perché l’uso combinato di un setup.exe personalizzato e del file unattend.xml

Rufus combina l’uso di un setup.exe personalizzato con un file unattend.xml perché i due strumenti operano in momenti diversi del flusso di installazione di Windows 11: solo la loro integrazione consente un bypass realmente affidabile dei controlli imposti da Windows 11.

L’utilità sviluppata da Pete Batard introduce un primo livello di intervento “a monte”, agendo sul contesto di avvio del setup, in modo da impedire che i controlli blocchino l’esecuzione fin dall’inizio. Si affianca poi l’uso dell’unattend.xml, che fornisce un secondo stadio di controllo durante l’esecuzione del setup e nelle fasi successive, consentendo di impostare chiavi di registro e applicare ulteriori modifiche al sistema.

I più curiosi possono trovare nel file sorgente wue.c di Rufus (pubblicato su GitHub) tutte le voci che l’applicazione aggiunge al file unattend.xml.

Ecco una sintesi degli interventi che Rufus inserisce nel file unattend.xml:

  • bypass dei requisiti hardware (TPM, Secure Boot, RAM) tramite chiavi LabConfig;
  • bypass dell’obbligo di account Microsoft (BypassNRO);
  • automazione della fase OOBE (niente EULA, schermate ridotte, configurazione semplificata);
  • creazione automatica di un account locale amministratore;
  • impostazione lingua, layout e fuso orario;
  • disabilitazione della cifratura automatica del dispositivo (BitLocker/Device Encryption);
  • esecuzione di comandi al primo accesso (forzatura cambio password, policy password).

Insieme, questi interventi permettono di rendere l’installazione più rapida, automatica e indipendente dai vincoli imposti da Windows 11.

Abbiamo scovato anche numerosi flag UNATTEND_* che non trovano corrispondenza diretta nella finestra Esperienza utente Windows, perché non rappresentano vere e proprie opzioni pensate per l’utente finale, almeno per il momento. Tra le varie configurazioni ce n’è una che effettua la cancellazione del disco e predispone l’unità di sistema per accogliere Windows, senza richiedere alcun intervento da parte dell’utente (e provvede anche a caricare una specifica edizione di Windows 11).

Note finali: Hard Floor, Soft Floor e il “vero” ruolo di Rufus

Un aspetto poco noto è che i meccanismi sfruttati da Rufus non sono invenzioni arbitrarie o hack invasivi, ma si basano su comportamenti già previsti – anche se non pubblicizzati – all’interno di Windows 11 stesso. Come emerso anche da documentazione e analisi tecniche, Microsoft aveva inizialmente ipotizzato un modello a doppio livello per l’installazione di Windows 11, distinguendo tra Hard Floor e Soft Floor.

L’idea era quella di definire una soglia minima (Hard Floor) necessaria per eseguire il sistema operativo e una soglia consigliata (Soft Floor), più restrittiva, che avrebbe garantito l’esperienza ottimale ma senza bloccare l’installazione sui sistemi meno recenti. Tale approccio è stato poi abbandonato a favore di una politica più rigida, che impedisce ufficialmente l’installazione sui dispositivi non conformi.

È proprio qui che si inserisce Rufus: lo strumento non modifica file di sistema Microsoft né introduce codice esterno, ma si limita a utilizzare chiavi di registro e comportamenti già supportati dal setup di Windows. In altre parole, Rufus riattiva – in forma automatizzata – quelle possibilità che erano già presenti o previste nelle prime fasi di sviluppo di Windows 11.

Ti consigliamo anche

Link copiato negli appunti