Come configurare WSL2 con un kernel Linux e una rete personalizzati

Ultimo aggiornamento: 30/06/2025
Autore: Isaac
  • WSL2 ti consente di eseguire Linux en Windows con un kernel completo e prestazioni elevate.
  • Per configurare un kernel e una rete personalizzati è necessario abilitare specifiche funzionalità di Windows e WSL.
  • È possibile accedere facilmente al file system tra Windows e Linux e montare servizi come Docker.
  • È possibile applicare miglioramenti visivi e di produttività a terminale per svilupparsi in modo più efficiente.

Configurare WSL2 con kernel e rete personalizzati

Il sottosistema Windows per Linux (WSL2) ha rivoluzionato il modo in cui sviluppatori e utenti esperti utilizzano Linux in un ambiente Windows. Questo strumento consente di integrare entrambi OS quasi in modo nativo, eliminando la necessità di Macchine virtuali configurazioni dual boot pesanti o complicate.

La cosa davvero interessante è che WSL2 consente l'utilizzo di un kernel Linux completo e personalizzato, oltre a una configurazione di rete più solida e flessibile. Si tratta di un enorme vantaggio per coloro che necessitano di un ambiente di sviluppo più simile alla produzione o vogliono sfruttare appieno le capacità tecniche dei propri strumenti.

Cos'è WSL2 e perché è migliore di WSL1?

WSL2 rappresenta la seconda generazione del sottosistema Windows per Linux e porta con sé miglioramenti significativi rispetto al suo predecessore. La differenza radicale è che WSL2 utilizza un macchina virtuale leggera basata su Hyper-V contenente un kernel Linux completo, consentendo una maggiore compatibilità con le applicazioni che si basano su chiamate di sistema e prestazioni molto migliori, soprattutto nel file system.

Grazie a questi miglioramenti possiamo:

  • Esegui strumenti come Docker senza dipendenze da terze parti.
  • Compilare software nativo per Linux all'interno di Windows.
  • Utilizzo dei file system Linux come ext4 da Windows.

WSL2 con kernel Linux personalizzato su Windows

Prerequisiti e sistemi supportati

Prima di iniziare a configurare WSL2, assicurati che il tuo sistema operativo sia pronto:

  • Windows 10 con versione 1903 e build 18362 o superiore.
  • Windows 11 è pienamente compatibile.
  • La funzionalità dipende anche dall'attivazione dell' virtualizzazione nel BIOS.

Puoi controllare la tua versione digitando winver dalla finestra di dialogo Esegui (Win + R).

  Come disattivare l'affiancamento delle finestre in Windows 11: guida completa e personalizzata

Come abilitare WSL e WSL2 su Windows

Esistono diversi modi per abilitare WSL, da comandi en PowerShell alle opzioni grafiche tramite il Pannello di controllo. Ecco il modo più completo per garantire che tutto funzioni senza intoppi:

Opzione 1: utilizzo di PowerShell (consigliato)

Esegui PowerShell come amministratore e digita i seguenti comandi:

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

wsl --set-default-version 2

Ciò abiliterà la funzionalità WSL e imposterà tutte le nuove distribuzioni in modo che utilizzino WSL2 per impostazione predefinita.

Opzione 2: dal pannello di controllo

Vai su "Attiva o disattiva le funzionalità di Windows" e seleziona quanto segue:

  • Sottosistema Windows per Linux
  • Piattaforma di macchine virtuali
  • Hyper-V (facoltativo ma consigliato)

Quindi riavvia il computer per rendere effettive le modifiche.

Installazione di una distribuzione Linux

Da Microsoft Store puoi installare distribuzioni come:

  • Ubuntu (16.04, 18.04, 20.04, 22.04)
  • Debian
  • Kali Linux
  • openSUSE

Quando apri per la prima volta la distribuzione installata, ti verrà chiesto di creare un Utente e password LinuxQuesto sarà il tuo utente predefinito all'interno dell'ambiente.

Configurazione di un kernel Linux personalizzato

Una caratteristica molto potente di WSL2 è la possibilità di utilizzare il proprio kernel Linux. Per farlo:

1. Compila o scarica un kernel personalizzato

È possibile utilizzare un kernel compilato da te o uno di terze parti. Assicurarsi che sia compatibile con l'ambiente WSL2.

2. Modificare il file .wslconfig

Nella cartella utente di Windows (C:\Utenti\ ), crea un file chiamato .wslconfig se non esiste già. Al suo interno, aggiungi:

[wsl2]
kernel=C:\Ruta\al\kernel\vmlinuz

Salvare le modifiche e riavviare WSL con:

wsl --shutdown

Al riavvio, WSL2 caricherà il kernel personalizzato fornito.

Abilitare la rete in WSL2 e l'accesso tramite localhost

Nelle versioni recenti di WSL2, Microsoft ha abilitato il reindirizzamento del traffico tra Linux e Windows tramite localhost, il che lo rende molto più semplice da usare e configurare.

Ciò significa che è possibile avviare un server all'interno di WSL2 (ad esempio, python3 -m http.server 8000) e l'accesso dal browser in Windows a http://localhost:8000Se è necessario esporre le porte alla rete, sarà necessario configurare le regole con netsh o strumenti specifici per reindirizzare correttamente IP e porte.

  Come correggere l'errore 0x8007000e in Windows e altri ambienti

Accesso al file system tra Windows e Linux

Con WSL2 puoi interagire in modo fluido con il file system di entrambe le piattaforme:

  • Da Linux puoi accedere alle unità Windows in /mnt/c, /mnt/d, ecc.
  • Da Windows puoi accedere a Linux tramite \\wsl$\<distro>\

Inoltre, puoi usare il comando wslpath per convertire facilmente i percorsi da un sistema all'altro.

Backup, esportazione e importazione di distribuzioni

WSL2 offre comandi per effettuare backup completi delle distribuzioni, il che è molto utile se si desidera migrarle o salvarle prima di apportare modifiche sostanziali. Esempio per l'esportazione:

wsl --export Debian C:\backups\debian_backup.tar

E per importare in un altro sistema:

wsl --import Debian C:\WSL\Debian C:\backups\debian_backup.tar --version 2

Questo clonerà l'intera distribuzione mantenendo intatti percorsi e impostazioni.

Utilizzo di Docker in WSL2 senza Docker Desktop

Uno dei grandi vantaggi di WSL2 è che puoi eseguire Docker direttamente, senza bisogno di Docker Desktop o di strumenti aggiuntivi. Passaggi per installarlo:

  1. Aggiungi il repository Docker ufficiale alla tua distribuzione.
  2. Installa i pacchetti: docker-ce, docker-ce-cli, containerd.io.
  3. Aggiungi il tuo utente al gruppo Docker: sudo usermod -aG docker $USER.
  4. Edita /etc/wsl.conf per avviare Docker automaticamente.

Poi puoi correre docker run hello-world e verificare che tutto funzioni correttamente.

Terminale personalizzato per migliorare la tua produttività

Dal momento che passerai molto tempo a lavorare nel terminale, è una buona idea renderlo più intuitivo e utile:

Installa ZSH + Oh-My-ZSH

ZSH è un sostituto di bash con più funzionalità e insieme al framework Oh-mio-ZSH Hai accesso a centinaia di plugin e temi visivi.

Configura Powerlevel10k

Questo tema ZSH migliora la barra dei comandi visualizzando branch Git, errori, ambienti e altro ancora. È anche altamente personalizzabile.

Plugin aggiuntivi per ZSH

  • zsh-autosuggestioni
  • FZF (cronologia dei comandi e ricerca)
  • NVM (Gestore delle versioni di Node.js)
  • batcat (sostituendo il gatto con i colori)

Vantaggi rispetto a una macchina virtuale o al dual boot

Rispetto a una VM tradizionale, WSL2:

  • Consumare meno memoria gestendo dinamicamente la RAM.
  • Inizia tra meno di un secondo.
  • Facilita l'accesso ai file tra i sistemi.
  • Si integra con VSCode tramite l’estensione “Remote – WSL”.
  APT 3.0 rivoluziona la gestione dei pacchetti in Debian con miglioramenti visivi e tecnici

E davanti a Boot dual è ancora più comodo, poiché evita i riavvii e consente di lavorare con strumenti grafici e CLI senza interruzioni.

Errori comuni durante l'installazione o l'utilizzo di WSL2

  • 0x80070003: Indica che la distribuzione non si trova sull'unità C:
  • 0x80370102: La virtualizzazione è disabilitata nel BIOS.
  • WSL2 richiede l'aggiornamento del kernel: Visita https://aka.ms/wsl2kernel per scaricare il pacchetto aggiuntivo.

Con tutta questa configurazione, avrai un ambiente Linux completo in esecuzione su Windows, con un kernel completamente funzionante, rete attiva, Docker in esecuzione e un terminale intuitivo e produttivo con plugin avanzati. È uno dei modi più comodi e potenti per sviluppare software oggi senza sacrificare il sistema operativo che usi ogni giorno.

Lascia un commento