Al termine dell’installazione di Windows vera e propria, ne abbiamo spesso parlato, si apre una fase finale chiamata OOBE (Out of Box Experience). Si tratta di una procedura che, attraverso una serie di passaggi che si susseguono uno dopo l’altro, guida gli utenti nella configurazione iniziale del dispositivo Windows in uso.
Le richieste fondamentali presentate durante la fase OOBE sono la scelta della lingua e della regione, l’impostazione di un account utente, dell’accesso alla rete locale, le preferenze sulla privacy e una serie di personalizzazioni. Con le ultime versioni di Windows 10 e di Windows 11, OOBE è divenuta sempre più articolata. Anche troppo. Ad esempio con l’aggiunta di schermate che hanno più a che fare con gli aspetti legati al marketing che con la reale configurazione del sistema (si pensi alla promozione di Microsoft 365, di OneDrive, alle esortazioni volte all’uso di un account Microsoft). Attivando l’installazione non presidiata di Windows (unattended), è eventualmente possibile saltare tutta la parte OOBE e richiedere l’impostazione del sistema operativo in maniera del tutto automatica, secondo quanto riportato in un file di configurazione.
I segreti di OOBE: quali combinazioni di tasti si possono usare
Durante la fase OOBE è possibile premere la combinazione di tasti MAIUSC+F10
per accedere ad un prompt dei comandi, utile per modificare subito il comportamento di alcuni aspetti del sistema operativo. Abbiamo visto, ad esempio, come usare la finestra del terminale per installare Windows 11 senza connessione di rete ed evitare il requisito dell’account Microsoft.
Certamente meno conosciuta è la scorciatoia da tastiera CTRL+MAIUSC+F3
che, se utilizzata durante OOBE, riavvia il sistema nella cosiddetta modalità Audit. Si tratta di una modalità di funzionamento che lavora in parallelo con OOBE e che permette di configurare il sistema secondo le proprie esigenze prima della sua effettiva installazione.
La modalità Audit crea una sorta di “dispositivo modello” che l’utente può configurare per poi creare una versione del file ISO di Windows utilizzabile su qualunque macchina, indipendentemente dalla sua configurazione hardware. Pensate ai produttori di PC: in questo modo possono creare una versione personalizzata di Windows da distribuire su milioni di sistemi, riducendo al minimo il tempo richiesto per completare l’operazione. A valle dell’intervento si ottiene infatti un file install.wim
personalizzato da inserire nel file ISO.
Il “nocciolo” del sistema è l’ottima utilità Microsoft Sysprep che permette di personalizzare a proprio piacimento il contenuto del supporto d’installazione del sistema.
OOBE è un’applicazione Web: ecco la scoperta davvero interessante
Se provate a premere MAIUSC+F10
durante l’installazione di Windows 11 quindi a digitare taskmgr
, noterete che OOBE dipende direttamente dal componente di sistema WWAHost.exe
: già questo suggerisce che l’intera fase finale della configurazione è di fatto un’applicazione Web.
Non solo. Con una semplice verifica, si può accertare che OOBE è chiamato “a basso livello” CloudExperienceHost ed è contenuto nella cartella \Windows\SystemApps
: accedendo a tale cartella, ci si accorge che OOBE utilizza codice HTML, CSS e JavaScript. È tutto spiegato nel video pubblicato da Andrew Enderman su YouTube.
Usando un sistema di test, si può ad esempio scaricare la ISO di Windows 11 quindi estrarre il file \sources\install.wim
. Aprendolo con la nota utilità 7-Zip, quindi portandosi nella sottocartella Windows\SystemApps
, si può estrarre la directory Microsoft.Windows.CloudExperienceHost*
e analizzarne nel dettaglio il contenuto. L’intera logica di funzionamento di OOBE è racchiusa nel file default.html
.
Come fa notare Enderman, OOBE contiene un sacco di riferimenti a tecnologie legacy che Microsoft non usa più: divertendosi a “sfogliare” il contenuto della cartella, infatti, si notano espliciti riferimenti all’ormai defunto assistente digitale Cortana. Non solo, tra gli “Event listener” sviluppati in JavaScript e contenuti nella Web app OOBE ce n’è anche uno non documentato: CTRL + MAIUSC + J
.
La console da sviluppatori nascosta in Windows OOBE ci lascia increduli
Il lavoro svolto da Enderman ha portato alla luce quella che di fatto è una console di sviluppo lasciata in un ambiente di produzione. Provate a premere la combinazione di tasti CTRL + MAIUSC + J
durante la fase OOBE di Windows. Si aprirà una schermata a sfondo grigio che accetta in input una serie di comandi. Provate a digitare help
e a premere il tasto Invio.
La nostra domanda è: ha davvero senso lasciare questa console, seppur abilmente celata, in una procedura d’installazione utilizzata su centinaia di milioni di sistemi in tutto il mondo?
Come si vede qui, quella che ci si trova davanti è una console JavaScript interattiva perfettamente funzionante, che consente a qualunque programmatore di interagire direttamente con la fase OOBE. È qualcosa di davvero incredibile!
Ed è allucinante che eventuali modifiche (Enderman si è addirittura divertito a modificare le condizioni di licenza d’uso di Windows 11 rendendolo goliardicamente un software copyleft…) sono immediatamente acquisite. Dopo un riavvio della macchina (ad esempio con shutdown /r /t 0
) le si trovano automaticamente applicate.
Maggiori dettagli sulle logiche di funzionamento di OOBE sono disponibili a questo indirizzo.
Di nuovo, viene da chiedersi quale sia la ratio della scelta di Microsoft: impossibile, davvero, che i segreti di OOBE non emergessero, prima o poi…
Credit immagine in apertura: iStock.com – NguyenDucQuang