Quel est le répertoire personnel sur Windows Subsystem for Linux ?

Quand je lance bash sur Windows Subsystem for Linux, cela me place dans le répertoire

/mnt/c/Users/<username>

Quand je fais ls dans ce répertoire, je vois les répertoires Desktop, Documents, etc. que je peux voir dans C:\Users\<username> en utilisant l’Explorateur de fichiers Windows. Comme c’est là que le programme bash a démarré, je m’attendais à ce que ce soit mon répertoire personnel, mais quand je tape cd ou cd ~, je suis amené à

/home/<username>

qui contient mes fichiers .bashrc, .profile, etc. que je m’attendrais à trouver dans mon répertoire personnel sur un système Linux. De plus, en tapant cd ../.. à partir de là, je peux voir les répertoires bin, etc et ainsi de suite, là encore comme attendu sur un système Linux.

J’ai deux questions à ce sujet :

  • Qu’est-ce que /mnt/c/Users/<username> exactement par rapport à C:\Users\<username> ? Ils semblent être la même chose — alors qu’est-ce que /mnt/c/ ?

  • Comment puis-je voir les fichiers dans /home/<username> en utilisant l’Explorateur de fichiers Windows ? Non pas que j’en aie vraiment envie — j’essaie juste de comprendre comment Windows organise ce Subsystem for Linux.

Dans les versions les plus récentes [2025 WSL2], le système de fichiers est accessible depuis :
`# \wsl.localhost<nom de la distribution>
raccourci :

\wsl$<Distribution>:

ex :
\wsl$\Ubuntu


Vous pouvez aussi trouver ce chemin en démarrant la distribution puis en exécutant `$ wslpath -w $HOME`

Les fichiers eux-mêmes semblent être stockés dans un fichier .vhdx à un emplacement similaire à la solution de 2020.

%LOCALAPPDATA%\wsl<un uuid unique>\ext4.vhdx


Pour les installations WSL2 plus anciennes [2020], ce serait un fichier comme :

%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx


Par exemple, avec Debian, le fichier serait un disque virtuel ext4 :

%LOCALAPPDATA%\Packages\NomDeVotreDistro-ID\LocalState, vous pouvez voir un fichier nommé ext4.vhdx


Vous pouvez trouver les noms de fichiers exacts en consultant le [registre](https://stackoverflow.com/a/51576305/32453), par exemple en PowerShell :

(Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss | ForEach-Object {Get-ItemProperty $_.PSPath}) | select DistributionName,BasePath,VhdFileName


C'est aussi utile si une distribution n'est pas installée dans le répertoire standard, ce qui ne semble pas possible à obtenir avec la commande `wsl` depuis l'invite de commandes.

Précédemment, en 2018, le chemin racine Linux était lié à la distribution que vous aviez installée depuis le Microsoft Store plutôt qu'un chemin global unique ; pour Ubuntu, il se trouvait à :

%LOCALAPPDATA%\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs


mais avec les fichiers stockés directement sur le système de fichiers NTFS.