Il sot­to­si­ste­ma Windows per Linux 2 (WSL2) rap­pre­sen­ta la soluzione più semplice ed ef­fi­cien­te per usare ap­pli­ca­zio­ni Linux con i sistemi operativi Windows. WSL2 permette l’accesso agli strumenti e ai programmi di Linux di­ret­ta­men­te dal solito ambiente Windows, ri­sul­tan­do par­ti­co­lar­men­te in­te­res­san­te per gli svi­lup­pa­to­ri. Grazie alla sua ar­chi­tet­tu­ra com­ple­ta­men­te ri­vo­lu­zio­na­ta rispetto alla versione pre­ce­den­te, WSL2 vanta per­for­man­ce in­com­pa­ra­bi­li.

Che cos’è WSL2?

WSL2, ri­la­scia­to a inizio 2020, è la nuova versione del Windows Subsystem for Linux (WSL1). Linux è un sistema operativo open source fon­da­men­tal­men­te diverso da Windows, data la natura non com­mer­cia­le del suo sviluppo e della sua di­stri­bu­zio­ne. Linux convince in modo par­ti­co­la­re grazie alla vasta gamma di strumenti per svi­lup­pa­to­ri e di altri pacchetti software che mette a di­spo­si­zio­ne.

Le dif­fe­ren­ze dalla versione pre­ce­den­te

La dif­fe­ren­za so­stan­zia­le tra WSL2 e il suo pre­de­ces­so­re risiede nell’ar­chi­tet­tu­ra del software. Mentre WSL1 mette a di­spo­si­zio­ne un livello di com­pa­ti­bi­li­tà utile a tradurre l’ese­cu­zio­ne dei codici tra Windows e Linux, WSL2 punta sulla vir­tua­liz­za­zio­ne di un sistema operativo basato su Linux. La macchina virtuale impiegata allo scopo viene eseguita sul par­ti­co­lar­men­te per­for­man­te hy­per­vi­sor nativo di Windows Hyper V.

Mentre la gamma di funzioni delle in­ter­fac­ce Linux messe a di­spo­si­zio­ne da WSL1 era limitata, WSL2 utilizza un kernel Linux completo. Un kernel speciale per di­men­sio­ni e pre­sta­zio­ni, ot­ti­miz­za­to per WSL2 e basato sullo stabile codice originale di “kernel.org”, grazie al quale si velocizza da due a venti volte l’ese­cu­zio­ne dei codici. Come se non bastasse, WSL2 necessita di meno memoria di lavoro rispetto al pre­de­ces­so­re. Inoltre, gli utenti be­ne­fi­cia­no di regolari modifiche al kernel, apportate in base agli ag­gior­na­men­ti Windows.

Uti­liz­zan­do un livello di tra­du­zio­ne per mediare tra le chiamate di sistema di Linux e Windows, alcuni software Linux specifici rimangono inu­ti­liz­za­bi­li con WSL1. La vir­tua­liz­za­zio­ne del kernel di WSL2 ga­ran­ti­sce piena com­pa­ti­bi­li­tà delle chiamate di sistema. Nella pratica questo significa che WSL2 permette di eseguire anche software complessi come Docker. Inoltre, dall’ambiente Linux si può accedere alla GPU. Elemento par­ti­co­lar­men­te utile nel caso di ap­pli­ca­zio­ni con grandi set di dati, come quelle nell’ambito dell’ap­pren­di­men­to au­to­ma­ti­co e della scienza dei dati.

Anche se l’uso di WSL2 è rac­co­man­da­to per i sistemi più moderni, entrambe le versioni possono essere eseguite pa­ral­le­la­men­te. Per ogni di­stri­bu­zio­ne Linux potete stabilire quale versione WSL uti­liz­za­re.

I requisiti per l’utilizzo di WSL2

I requisiti di sistema per l’uso di WSL2 ri­guar­da­no il pro­ces­so­re montato nel vostro computer:

  • Per i sistemi x64 il requisito minimo è la versione 1903 con Build 18362 o superiore.
  • Per i sistemi ARM64 il requisito minimo è la versione 2004 con Build 19041 o superiore.

Se non siete sicuri di quale edizione e versione di Windows di­spo­nia­te, potete ve­ri­fi­car­lo seguendo questi passaggi:

  • Premete il tasto con il logo di Windows + [R], digitate “winver” nel campo di testo che compare e premete [Invio}.
  • In al­ter­na­ti­va, fate clic su Start > Im­po­sta­zio­ni > Sistema > In­for­ma­zio­ni > Spe­ci­fi­che Windows e leggete i valori che compaiono.

Come usare WSL2 sul proprio sistema

A livello teorico avete due metodi a di­spo­si­zio­ne per usare WSL2 sul vostro sistema operativo. Di seguito vi mostriamo le due varianti in dettaglio:

  1. Se non avete ancora in­stal­la­to alcun sot­to­si­ste­ma Windows per Linux, in­stal­la­te il nuovo WSL2 sul vostro sistema e con­fi­gu­ra­te una di­stri­bu­zio­ne Linux.
  2. Se invece usate già WSL1, in­stal­la­te WSL2 ed eseguita un ag­gior­na­men­to delle di­stri­bu­zio­ni Linux già esistenti.

Per con­fi­gu­ra­re WSL2 sul vostro sistema avete bisogno di Windows Po­wer­Shell. Fate at­ten­zio­ne che dovete avviare la Po­wer­Shell dall’account am­mi­ni­stra­to­re per poter procedere con l’in­stal­la­zio­ne. Copiate i comandi mostrati nel prompt della Po­wer­Shell ed ese­gui­te­li.

Attivare WSL2 e in­stal­la­re una di­stri­bu­zio­ne Linux

Se non avete ancora in­stal­la­to WSL1 sul vostro sistema seguite la nostra guida per l’in­stal­la­zio­ne di WSL2 e di una di­stri­bu­zio­ne Linux.

Primo passaggio: attivare il sot­to­si­ste­ma Windows per Linux

Copiate il seguente codice nel prompt della Po­wer­Shell ed ese­gui­te­lo:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Secondo passaggio: attivare la funzione del computer virtuale

Copiate il seguente codice nel prompt della Po­wer­Shell ed ese­gui­te­lo:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

Terzo passaggio: in­stal­la­re il pacchetto di ag­gior­na­men­ti per il kernel di Linux

Per prima cosa scaricate il pacchetto di in­stal­la­zio­ne adeguato al vostro sistema. Dopodiché, ese­gui­te­lo. Scegliete il pacchetto secondo l’ar­chi­tet­tu­ra del pro­ces­so­re del vostro computer:

Quarto passaggio: impostare WSL2 come versione standard

Copiate il seguente comando nel prompt della Po­wer­Shell ed ese­gui­te­lo:

wsl --set-default-version 2

Quinto passaggio: riavviare il computer

Riavviate il vostro computer.

Sesto passaggio: scegliere e in­stal­la­re la di­stri­bu­zio­ne Linux

Aprite Microsoft Store e digitate “Linux” nel campo di ricerca. Vi viene mostrata una scelta delle di­stri­bu­zio­ni Linux di­spo­ni­bi­li.

Fate clic sulla di­stri­bu­zio­ne Linux de­si­de­ra­ta e quindi su “Ottieni”. Se non siete sicuri di quale faccia al caso vostro, vi con­si­glia­mo di in­stal­la­re Ubuntu Linux 20.04 LTS.

Com­ple­ta­ta l’in­stal­la­zio­ne, avviatela.

Settimo passaggio: con­fi­gu­ra­re la di­stri­bu­zio­ne Linux

Al primo avvio vengono scaricati e de­com­pres­si dei pacchetti. Questa ope­ra­zio­ne può durare alcuni minuti. Dopodiché vi viene richiesto di indicare un nome utente e una password per la nuova in­stal­la­zio­ne Linux.

N.B.

Con WSL potete eseguire più di­stri­bu­zio­ni Linux pa­ral­le­la­men­te. Per farlo dovete creare un account per ciascuna delle di­stri­bu­zio­ni uti­liz­za­te.

Ag­gior­na­re la di­stri­bu­zio­ne Linux in­stal­la­ta da WSL1 a WSL2

Se usate WSL1 e avete già con­fi­gu­ra­to un’in­stal­la­zio­ne Linux, applicate i passaggi da 2 a 4 sopra elencati. Dopodiché uti­liz­za­te il comando Po­wer­Shell di seguito riportato per ag­gior­na­re la di­stri­bu­zio­ne Linux già in­stal­la­ta a WSL2.

wsl --set-version <distribution> 2</distribution>

Fate at­ten­zio­ne che il me­ta­ca­rat­te­re <di­stri­bu­tion> deve essere so­sti­tui­to con il nome di una di­stri­bu­zio­ne Linux in­stal­la­ta. Eseguite il seguente comando Po­wer­Shell per vi­sua­liz­za­re l’elenco delle di­stri­bu­zio­ni Linux in­stal­la­te e prendere visione dei relativi nomi.

wsl --list --verbose
N.B.

Le im­po­sta­zio­ni per una di­stri­bu­zio­ne Linux in­stal­la­ta vengono salvate nel file “wsl.conf”. Questo file continua a fun­zio­na­re anche dopo il passaggio a WSL2.

WSL2 e WSL1 a confronto

Come vi abbiamo mostrato, l’uso di WSL2 ga­ran­ti­sce molti vantaggi rispetto alla versione pre­ce­den­te WSL1. Di seguito rias­su­mia­mo per voi le dif­fe­ren­ze e i punti in comune delle due versioni:

Funzione WSL1 WSL2
In­te­gra­zio­ne tra Windows e Linux
Avvio più veloce dell’ambiente Linux
Pre­sta­zio­ni più elevate e minore consumo delle risorse
Basato su macchina virtuale (VM)
Kernel Linux completo
Piena com­pa­ti­bi­li­tà delle chiamate di sistema
Utilizzo parallelo di VMware e Vir­tual­Box
Utilizzo dei file di sistema del sistema operativo
Vai al menu prin­ci­pa­le