Nel film Inception, diretto da Christopher Nolan, il protagonista interpretato da Leonardo DiCaprio, si immerge in una serie di sogni stratificati, creando un mondo onirico all’interno di ulteriori mondi onirici. NTDEV, ricercatore noto per le sue “sfide” stimolanti con i sistemi operativi, ha voluto spingere la virtualizzazione all’estremo riuscendo ad eseguire 5 versioni di Windows l’una dentro l’altra.
Per questo motivo, con un evidente richiamo alla pellicola cinematografica, NTDEV ha voluto chiamare Winception la sua prova. Ecco quindi che con una stratificazione a più livelli, NTDEV ha usato come base un sistema Windows 11 a partire dal quale sono state nidificate, l’una all’interno dell’altra, macchine virtuali Windows 10, Windows 8.1, Windows 8 e Windows 7.
Il concetto di virtualizzazione nidificata è noto da tempo e consiste nel caricare una macchina virtuale a partire da un altro ambiente virtualizzato. In altre parole, si installa una soluzione per la virtualizzazione sul sistema host, si crea una virtual machine “guest” e poi, dall’interno di quest’ultima, si configura e si avvia un’ulteriore macchina virtuale.
Virtualizzazione portata all’estremo: 5 versioni di Windows-matrioska
NTDEV ha provato a portare al limite il concetto di virtualizzazione nidificata usando varie soluzioni su una macchina Windows 11: Virtualbox, Hyper-V e VMware Workstation. Il ricercatore racconta che Virtualbox ha fornito le performance più modeste permettendo di nidificare solo due istanze di Windows. Un po’ meglio è andata con Hyper-V: la soluzione Microsoft ha tuttavia iniziato a mostrare problemi dopo tre livelli di virtualizzazione. Con VMware Workstation, invece, NTDEV è riuscito nell’intento di “annidare” Windows 10 in una macchina virtuale sul sistema Windows 11. Nella virtual machine Windows 10, NTDEV ha installato una macchina virtuale Windows 8.1 e poi, in quest’ultima, un sistema Windows 8 con, infine, un’installazione di Windows 7.
Il risultato complessivo è visibile in questo video YouTube che documenta nel dettaglio il test svolto da NTDEV.
Il ricercatore ha correttamente evidenziato che sebbene la palma d’oro vada a VMware Workstation, l’esperienza potrebbe variare significativamente sulla base della configurazione del sistema host usato per condurre l’esperimento.
Nel caso in questione, il sistema “ospitante” costruito attorno a una CPU AMD Ryzen 5800HS (Cezanne) di fascia alta con otto core Zen 3, 16 thread e una velocità di clock boost fino a 4,4 GHz affiancato da “appena” 16 GB di memoria RAM, ha comunque consentito di caricare ed eseguire 5 installazioni di Windows l’una dentro l’altra senza troppe difficoltà. Anche in Windows 7, l’ultimo della “fila” tra i sistemi virtualizzati, l’utilizzo della CPU non superava il 15-20%.
NTDEV è noto per Tiny11, versione compatta di Windows 11 (oltre che per l’analogo progetto Tiny10) ma soprattutto per tiny11builder, uno script per realizzare una versione leggera di Windows 11.
Le importanti differenze tra MS-DOS e il prompt dei comandi di Windows
L’unico “svarione” che NTDEV commette nel video, esattamente in questo punto, è il riferimento al sistema operativo MS-DOS quando apre il prompt dei comandi in Windows 7.
In realtà il prompt dei comandi (cmd
), presente in ogni versione di Windows, non è virtualizzato e basa il suo funzionamento sullo stesso kernel del sistema operativo in uso. Esattamente, ad esempio, come la finestra di Windows PowerShell.
MS-DOS e il prompt dei comandi di Windows sono due cose molto diverse. MS-DOS è un sistema operativo a riga di comando sviluppato da Microsoft, predecessore degli ambienti operativi e dei sistemi operativi Windows 3.x, NT e 9x. Il prompt dei comandi di Windows è invece un’applicazione Win32 che gira sopra al kernel di Windows (MS-DOS era un sistema operativo autonomo). Sebbene visivamente simili, sono due cose profondamente differenti.