Table de Matieres
I. Présentation
Lorsque l’on utilise WSL pour faire tourner une distribution Linux sur Windows 10, chaque système dispose de son propre espace de stockage. Pour diverses raisons, on peut avoir besoin d’accéder aux fichiers de Linux à partir de l’hôte Windows 10. Découvrons comment cela est possible, tout en sachant que les méthodes détaillées dans cet article fonctionnent sur Windows 10 v1903 et supérieur.
II. Le partage spécial \\wsl$
À partir de Windows, vous pouvez accéder facilement aux données de vos distributions Linux grâce à un partage un peu spécial nommé « wsl$. Ce partage masqué est un point d’entrée pour accéder à toutes vos distributions. Il suffit de spécifier à la suite le nom de la distribution que l’on veut cibler :
\\wsl$\
Par exemple, pour accéder aux fichiers de la distribution Linux :
\\wsl$\Ubuntu
Le fait d’accéder à ce point de montage va démarrer automatiquement la distribution Linux cible, si elle n’était pas déjà démarrée. Ce chemin réseau peut être mappé au travers d’un lecteur réseau.
À partir de la console PowerShell, on peut aussi se déplacer au sein de notre machine Linux :
cd \\wsl$\Ubuntu
On pourrait même copier un fichier de Windows vers Linux avec Copy-Item :
Copy-Item -Path "" -Destination "\\wsl$\<distribution\"
Pour copier le fichier « C:\TEMP\Image.png » de Windows vers la machine Linux Ubuntu dans « \\wsl$\Ubuntu\home\florian » :
Copy-Item -Path "C:\TEMP\Image.png" -Destination "\\wsl$\Ubuntu\home\florian"
Lorsque le fichier est copié, il y a un second fichier avec le même nom et l’extension Zone.Identifier qui est créé également. Normalement, il s’agit d’un attribut qui indique de quelle zone provient le fichier, ce qui permet de savoir s’il provient d’Internet. On peut voir ce fichier facilement en listant le contenu du dossier depuis Windows (ou Linux) :
ls \\WSL$\Ubuntu\home\florian\
Ce n’est pas spécifique à la commande PowerShell, car même avec la commande xcopy, le résultat est identique. En revanche, ce n’est pas le cas avec une copie directe depuis l’Explorateur de fichiers.
III. Découverte de la commande « explorer.exe . »
Je vous propose maintenant une seconde façon d’utiliser le partage WSL$, en tout cas pour accéder à ce partage. Lorsque l’on se situe dans la console Linux, on peut ouvrir l’Explorateur de fichiers de Windows directement dans le dossier courant de la machine Linux à l’aide de la commande suivant :
explorer.exe .
Il faut bien spécifier « explorer.exe », car « explorer » ne sera pas reconnu. Lorsque l’on exécute cette commande, si l’on se situe dans « /home/« , l’Explorateur de fichiers de Windows va s’ouvrir dans ce dossier :
\\wsl$\Ubuntu\home
Voici un exemple en image :
IV. Linux directement dans l’Explorateur de fichiers
Microsoft travaille sur une implémentation plus poussée de Linux au sein de l’Explorateur de fichiers de Windows. Sur les dernières versions Dev de Windows 10, comme ici avec la Build 21390, il y a une entrée « Linux » sur la gauche de l’Explorateur de fichiers.
Cette entrée permet d’accéder aux fichiers de notre distribution Linux gérée par WSL. C’est bien pratique, car c’est automatique ! Lorsque l’on regarde le chemin d’accès, il est différent : ce n’est pas « \\wsl$ » mais :
\\wsl.localhost\
Par exemple :
\\wsl.localhost\kali-linux
Voici l’entrée « Linux » dans l’Explorateur de fichiers :
Il faut encore être patient avant que cette méthode soit disponible dans une version stable de Windows 10. Espérons que ce soit pour la fin de l’année 2021. En attendant, vous pouvez utiliser les méthodes décrites dans ce tutoriel.