Windows e Ext4
La fine di un’era di incompatibilità (e la svolta con WSL e Kali)
Per decenni, inserire una chiavetta USB o un disco formattato in Linux (ext4) dentro un PC Windows è stata un’esperienza frustrante. Il suono di notifica dell’hardware inserito era immediatamente seguito dalla temuta finestra di dialogo: “È necessario formattare il disco nell’unità per poterlo utilizzare”. Un invito al disastro per chiunque volesse solo recuperare dei dati.
Perché Windows, il sistema operativo più diffuso al mondo, si è rifiutato per così tanto tempo di leggere il file system nativo di Linux? E come ha fatto Windows 11 a risolvere definitivamente il problema?
Perché Windows ed ext4 non si sono mai parlati
La mancanza di supporto nativo non è stata solo una questione di “guerra commerciale” tra Microsoft e il mondo Open Source, ma una reale incompatibilità strutturale profonda.
- La Torre di Babele dei Permessi: Windows gestisce la sicurezza dei file tramite le ACL (Access Control Lists), un sistema molto granulare e complesso. Linux, e di conseguenza ext4, utilizza lo standard POSIX (permessi di lettura/scrittura/esecuzione per proprietario, gruppo e altri). Mappare questi due sistemi l’uno sull’altro in modo nativo e sicuro, senza rischiare di corrompere i permessi originali quando si sposta un file, è incredibilmente complicato a livello di kernel.
- Maiuscole e Minuscole (Case Sensitivity): Per Linux,
File.txtefile.txtsono due file diversi. Per Windows, sono lo stesso file. Se Windows montasse nativamente ext4 e l’utente provasse a copiare due file con questi nomi nella stessa cartella, il sistema andrebbe in conflitto. Gestire queste eccezioni a livello di Esplora Risorse richiederebbe una riscrittura profonda del modo in cui Windows gestisce i percorsi. - La strategia di Microsoft (WSL): Microsoft ha scelto una strada diversa: invece di riscrivere il driver del file system di Windows (NTFS/ReFS) per capire ext4, ha deciso di virtualizzare Linux dentro Windows. Con WSL 2, Windows non “legge” ext4 direttamente; avvia un vero kernel Linux leggero in background che lo legge per lui.
Ecco come configurare tutto in pochi minuti usando la mia distro preferita per il sottosistema: Kali Linux.
1. Preparazione: Installare WSL e Kali Linux
Se non hai mai usato WSL, la procedura su Windows 10 e 11 è diventata semplicissima. Non serve più cercare driver di terze parti instabili.
- Apri il menu Start, cerca PowerShell (o Terminale), clicca col destro e scegli Esegui come amministratore.
- Digita questo comando per installare il sottosistema e scaricare direttamente Kali Linux:
wsl --install -d kali-linux
Al termine, riavvia il PC. Al riavvio, si aprirà automaticamente una finestra terminale di Kali che ti chiederà di creare un username e una password per il tuo ambiente Linux. Fatto questo, sei pronto.
2. Identificare il disco ext4
Collega la tua chiavetta o disco USB. Ignora (e chiudi) eventuali pop-up di Windows che ti chiedono di formattare.
Torna su PowerShell (sempre come amministratore). Dobbiamo scoprire come Windows ha “battezzato” il tuo disco fisico. Il comando corretto da usare è:
GET-CimInstance -query "SELECT * from Win32_DiskDrive"
Vedrai una lista di dischi con varie informazioni. Cerca la voce DeviceID del disco che corrisponde per dimensioni al tuo drive esterno. Solitamente avrà un ID simile a \\.\PHYSICALDRIVE1 (o 2, 3, ecc.). Annotati questo percorso.
3. Montare il disco (La Magia)
Ora dobbiamo dire a WSL di prendere quel disco fisico e montarlo dentro Kali. Supponendo che il tuo disco sia PHYSICALDRIVE1 e che i dati siano nella prima partizione (il caso più comune), il comando è:
wsl --mount \\.\PHYSICALDRIVE1 --partition 1
Se non compaiono messaggi di errore rosso, il disco è stato agganciato con successo.
4. Accedere ai file da Esplora Risorse
Qui viene il bello. Non devi per forza usare la riga di comando per gestire i tuoi file. Microsoft ha integrato il tutto nell’interfaccia grafica.
- Apri una normale cartella di Windows (Esplora Risorse).
- Nella colonna di navigazione a sinistra, scorri in basso fino a trovare l’icona del pinguino con la voce Linux.
- Cliccaci sopra e vedrai la cartella della tua distro (
kali-linux). Entraci. - Naviga fino al percorso:
/mnt/wsl/PHYSICALDRIVE1p1/
Ecco fatto! Vedrai i tuoi file ext4 come se fossero in una normale chiavetta. Puoi copiarli, aprirli e modificarli direttamente da Windows, usando i tuoi programmi preferiti, mentre Kali lavora “dietro le quinte” per garantire che il file system rimanga integro.
⚠️ Smontare il disco (Fondamentale!)
Quando hai finito, non staccare la chiavetta brutalmente. Poiché il disco è tecnicamente in uso dal kernel Linux, devi prima “liberarlo” per evitare la corruzione dei dati.
Torna su PowerShell (amministratore) e digita:
wsl --unmount \\.\PHYSICALDRIVE1
Solo dopo aver dato questo comando puoi scollegare fisicamente la chiavetta USB in sicurezza.
Questa soluzione riduce drasticamente le distanze tra i due mondi operativi. Se come me lavorate spesso con sistemi misti, l’accoppiata Windows 11 + Kali in WSL è una funzionalità che dovete assolutamente provare.
Auguri!
🤓 Curiosità: Perché Linux ha sempre letto il formato NTFS direttamente e Windows, con Ext4, no?
Perché questa asimmetria? La risposta è storica e legale.
- Linux lo ha fatto per sopravvivenza: Linux supporta FAT32 e NTFS perché doveva necessariamente dialogare con il mondo Windows per diffondersi. Poiché Microsoft non ha mai rilasciato le specifiche di NTFS, gli sviluppatori Linux hanno usato il reverse engineering e per anni hanno utilizzato un “trucco” (driver FUSE in user-space) per leggerlo senza rischiare di mandare in crash il sistema. Solo dal 2021 (con il Kernel 5.15), Linux ha integrato un driver NTFS vero e proprio (sviluppato da Paragon Software) che gira nel Kernel. Quindi oggi il “trucco” non serve quasi più, ma per 15 anni è stato l’unico modo.
- Windows lo ha evitato per le licenze: Microsoft non ha mai integrato il codice di ext4 perché la licenza GPL (open source) di Linux è incompatibile con il codice chiuso di Windows. Se avessero copiato quel driver, avrebbero rischiato legalmente di dover rendere open source l’intero kernel di Windows!
La soluzione odierna (WSL) è geniale proprio perché aggira il problema: Windows non “impara” a leggere ext4, ma ospita un piccolo Linux che lo fa al posto suo, mantenendo le licenze separate.