Come provare Windows on ARM su piattaforma x86

Guida pratica per portare Windows on ARM su un sistema basato sull'architettura x86. Come provare in anteprima il sistema operativo Microsoft senza disporre di un dispositivo basato su SoC Snapdragon e simili.

Microsoft sta spingendo forte sui nuovi sistemi basati su Windows on ARM (WoA). Addirittura alcune delle funzionalità che sfruttano l’intelligenza artificiale dell’azienda di Redmond sono al momento progettate per funzionare esclusivamente sui dispositivi basati su chip ARM.

Nello specifico, Windows 11 on ARM è la versione più recente del sistema operativo congegnata per funzionare con i SoC (System-on-a-Chip) più moderni, sviluppati da Qualcomm (Snapdragon X) e in futuro anche da aziende concorrenti quali NVIDIA e AMD.

Il futuro di Windows passa davvero, per la prima volta, attraverso un’alternativa alla storica piattaforma x86. Sebbene in passato siano stati effettuati degli esperimenti, non andati a buon fine, questa volta l’intesa Wintel (Windows più Intel) sembra scricchiolare, con la società di Redmond fortemente determinata a seguire anche strade alternative.

Per non cadere, di nuovo, negli errori del passato, Microsoft ha subito mirato a creare un ecosistema forte intorno a Windows 11 on ARM, da un lato fornendo supporto agli sviluppatori per realizzare app ARM compatibili, dall’altro rafforzando l’emulazione dei programmi Win32 creati per la piattaforma x86.

Come confermano Opera e Google, che hanno portato i rispettivi browser su Windows on ARM, questa volta Microsoft ha preparato bene il terreno.

Eseguire Windows on ARM sui sistemi x86: ecco come fare

Se volete rendervi conto del lavoro svolto da Microsoft con Windows 11 on ARM, potete ricorrere alla virtualizzazione per eseguire il sistema operativo – in anteprima – anche su macchine basate sull’architettura x86-64. La procedura è incentrata sull’utilizzo di QEMU, programma di virtualizzazione open source che consente di eseguire sistemi operativi e programmi progettati per una particolare architettura hardware su un’altra architettura, completamente differente dalla prima.

Il software si rivela particolarmente utile per sviluppatori, ricercatori e appassionati che desiderano testare o eseguire software su piattaforme diverse senza dover acquistare nuovo e costoso hardware fisico.

Requisiti per iniziare l’avventura

Per eseguire Windows on ARM su una macchina x86, è necessario verificare di disporre di un sistema capace di soddisfare i seguenti requisiti minimi:

  • Processore x86-64 (64 bit) con almeno 8 core fisici (16 core logici)
  • Almeno 8 GB di memoria RAM
  • Circa 70 GB di spazio libero su SSD

Download del file ISO di Windows on ARM

Come primo passo, si deve visitare questa pagina sul sito UUP dump quindi cliccare su Create download package. Si ottiene così un pacchetto che consente di scaricare dai server Microsoft tutti i file necessari per creare il file ISO di Windows 11 on ARM.

Creazione ISO Windows on ARM

Tutto il contenuto del file compresso, deve essere estratto nella cartella c:\w11arm64. Usando Esplora file per portarsi all’interno di tale cartella, si deve fare doppio clic sul file uup_download_windows.cmd.

Alla comparsa della schermata PC protetto da Windows, si deve fare clic su Ulteriori informazioni quindi sul pulsante Esegui comunque.

PC protetto da Windows

Non appena lo script propone il messaggio Avviso di sicurezza, come in figura, si deve semplicemente digitare V seguito dalla pressione del tasto Invio (Esegui una volta).

Download Windows on ARM ISO

Al termine della procedura, che ad un certo punto potrebbe sembrare bloccata per diversi minuti sul messaggio Deployment Image Servicing and Management tool (ciò è del tutto normale), lo script conferma l’avvenuta creazione dell’immagine ISO di Windows on ARM e invita a premere il tasto 0 per uscire dalla procedura.

ISO Windows on ARM

Predisporre il contenuto della cartella di Windows on ARM

Portandosi nella directory c:\w11arm64, si può a questo punto rinominare il file .ISO creato dallo script scaricato da UUP dump, chiamandolo Windows11_arm64.iso. Tutti gli altri file possono essere eliminati, lasciando nella cartella solamente l’immagine Windows11_arm64.iso.

Sempre nella cartella c:\w11arm64, si deve quindi provvedere a salvare il file virtio-win.iso. Si tratta dei driver VirtIO scaricabili cliccando su questo link.

driver VirtIO sono una collezione di driver open source progettati per migliorare le prestazioni delle macchine virtuali in ambienti come QEMU, KVM, Xen e VirtualBox. Migliorano l’efficienza e l’interazione con l’host.

A questo punto si deve visitare la pagina di qemu-efi-aarch64 e procedere al download del pacchetto. Poiché i file sono proposti come link HTTP, Chrome e altri browser si rifiutano di scaricarli. Suggeriamo quindi di cliccare con il tasto destro su un link che inizia per ftp, al di sotto di Europe, quindi scegliere Salva link con nome e infine Conserva.

Download firmware QEMU

L’archivio qemu-efi-aarch64_*.deb così ottenuto, va aperto con un’utilità come 7-Zip (tasto destro sul file quindi scegliere 7-Zip, Apri).

Driver Windows on ARM 7Zip

Portandosi all’interno della sottocartella data.tar\.\usr\share\qemu-efi-aarch64, si deve trascinare il file dal nome QEMU_EFI.fd nella cartella c:\w11arm64.

Il file QEMU_EFI.fd è un firmware UEFI (Unified Extensible Firmware Interface) per l’architettura a 64 bit di ARM (AARCH64). Questo firmware è utilizzato da QEMU per emulare il comportamento di un firmware UEFI sulle macchine virtuali a 64 bit. Il firmware UEFI è responsabile dell’inizializzazione del sistema durante il processo di avvio e fornisce un’interfaccia tra il sistema operativo e l’hardware sottostante.

Alla fine, si ottiene una cartella che ospita i seguenti tre file:

Contenuto cartella Windows on ARM

Installazione di QEMU

Come accennato in precedenza, l’esecuzione di Windows 11 on ARM su una macchina x86-64 è garantita del software di virtualizzazione open source QEMU. Per utilizzarlo, è necessario prima scaricarlo e installarlo.

Il download di QEMU può essere effettuato da questa pagina, avendo cura di scaricare l’ultima versione disponibile (file eseguibile in fondo, nell’elenco): qemu-w64-setup-*.exe.

All’avvio dell’installazione di QEMU, bisogna solamente aver cura di disattivare tutto quanto indicato nella sezione Emulazioni sistema quindi lasciare abilitata soltanto la casella aarch64.

Emulazione ARM QEMU

Creare un’unità virtuale per Windows on ARM

È giunta finalmente l’ora di predisporre un’unità virtuale che andrà ad accogliere l’installazione di Windows on ARM.

Per procedere in tal senso, si deve digitare cmd nella casella di ricerca di Windows, scegliere Esegui come amministratore e infine digitare quanto segue (le indicazioni sono fornite dal noto ricercatore Albacore):

cd /d c:\w11arm64
set "PATH=%PATH%;C:\Program Files\qemu"
qemu-img create win11arm64.img 64G

Il secondo comando imposta un path per il percorso di QEMU così da poter richiamare l’eseguibile del software di virtualizzazione senza specificare ogni volta la sua directory d’installazione. L’ultimo comando, invece, definisce la creazione di un’immagine virtuale per un’unità virtuale capiente 64 GB.

Avviare l’installazione di Windows on ARM nella macchina virtuale QEMU

È tutto pronto per avviare l’installazione di Windows on ARM con QEMU. Per procedere in tal senso, basta copiare quanto segue e incollarlo al prompt dei comandi Windows (fonte: Albacore).

Ciò che si richiede, per tramite di QEMU, è l’avvio di una macchina virtuale che possa utilizzare fino a 8 core e 8 GB di memoria RAM disponibili sul sistema host:

qemu-system-aarch64 ^
-M virt,virtualization=true -m 8G -cpu max,pauth-impdef=on -smp 8 ^
-bios ./QEMU_EFI.fd ^
--accel tcg,thread=multi ^
-device ramfb ^
-device qemu-xhci -device usb-kbd -device usb-tablet ^
-nic user,model=virtio-net-pci ^
-device usb-storage,drive=install ^
-drive if=none,id=install,format=raw,media=cdrom,file=./Windows11_arm64.iso ^
-device usb-storage,drive=virtio-drivers ^
-drive if=none,id=virtio-drivers,format=raw,media=cdrom,file=./virtio-win-0.1.248.iso ^
-drive if=virtio,id=system,format=raw,file=./win11arm64.img

Incollando quanto riportato in precedenza al prompt dei comandi, con la pressione del tasto Invio sarà automaticamente avviata l’installazione di Windows on ARM. Alla comparsa del messaggio Press any key to boot from CD or DVD, è indispensabile premere Invio o qualunque altro tasto per avviare la routine di setup.

Bypassare il controllo dei requisiti di Windows on ARM

Alla comparsa della schermata per la conferma della lingua preferita e del layout di tastiera, si deve premere la combinazione di tasti MAIUSC+F10 in modo tale da far comparire il prompt dei comandi. Su alcuni notebook, potrebbe essere necessario premere contemporaneamente anche il tasto Fn. La combinazione diventa quindi MAIUSC+Fn+F10.

A questo punto si devono digitare i seguenti due comandi:

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

Bypass requisiti compatibilità Windows on ARM

Digitando exit quindi cliccando su Avanti, si può installare Windows on ARM selezionando Installa Windows 11 e attivando la casella Accetto che tutto venga eliminato, inclusi file, app e impostazioni. Successivamente, si può continuare cliccando su Non ho un codice Product Key.

Windows 11 on ARM installazione passaggi

Alla comparsa della schermata Seleziona il percorso di installazione Windows 11, è necessario cliccare su Carica driver quindi sul pulsante Sfoglia.

Percorso installazione Windows 11 on ARM

Specificando la cartella E:\viostor\w11\ARM64, apparirà Red Hat VirtIO SCSI controller. Dopo aver selezionato tale voce, cliccando su Installa, l’unità virtuale da 64 GB creata in precedenza risulterà effettivamente selezionabile come destinazione per Windows on ARM.

Selezione unità installazione WoA

Un passaggio simile risulta necessario per aggiungere e installare il driver NetKVM, utile per stabilire una connessione di rete sin dalla fase finale dell’installazione.

Ti consigliamo anche

Link copiato negli appunti