WSL (Ubuntu) : accéder à un volume NTFS monté comme dossier Windows avec drvfs (montage, fstab, wslpath)

Un volume NTFS monté dans un dossier Windows (sans lettre) peut être exploité depuis Ubuntu/WSL en le montant avec drvfs ou en l’adressant sous /mnt/c. Voici la méthode fiable, avec options, automatisation, tests de validation et conseils de performance.

Sommaire

Accéder à un volume NTFS monté comme dossier depuis Ubuntu/WSL

Vue d’ensemble de la question

Sous Windows, un volume NTFS peut être « attaché » à un dossier existant (ex. C:\Users\me\folderX) au lieu d’une lettre (D:, E:, etc.). Dans WSL (Ubuntu), ce volume n’apparaît pas comme un disque distinct (/mnt/d), mais il reste accessible via son chemin Windows. La solution consiste à créer un point de montage dédié dans WSL et à y monter le chemin Windows au moyen du pilote drvfs.

Réponse & solution

  1. Identifier le point de montage Windows
    • Explorateur → clic droit sur le dossier → Propriétés → vérifiez l’onglet (ou la section) affichant le chemin du dossier (ex. C:\Users\me\folderX).
    • Ou, côté console Windows : # Liste toutes les partitions et leurs chemins d'accès (lettres + dossiers) Get-Partition | Select-Object DiskNumber, PartitionNumber, AccessPaths | Format-List # Afficher les chemins pour une partition précise (ex. disque 2, partition 1) Get-Partition -DiskNumber 2 -PartitionNumber 1 | Select-Object -ExpandProperty AccessPaths # Lister les volumes et points d'accès (y compris les dossiers montés) mountvol Astuce : la propriété AccessPaths retourne à la fois les lettres et les dossiers de montage s’ils existent.
  2. Placez la chaîne Windows entre guillemets si elle comporte des espaces (simple ou double). Avec des apostrophes dans le chemin (ex. O'Neil), préférez les doubles guillemets.
  3. drvfs est le pilote de WSL pour exposer les fichiers Windows aux distributions Linux.

Informations complémentaires utiles

  • Accès direct possible : comme le volume est physiquement sous C:, vous pouvez le parcourir sans montage explicite via /mnt/c/Users/me/folderX. Un montage drvfs dédié reste préférable si vous voulez :
    • des permissions POSIX persistantes (metadata),
    • un point d’accès stable pour scripts/services,
    • isoler ce sous‑arbre sans exposer tout /mnt/c.
  • Volumes physiques externes : pour une partition ou un disque entier sans lettre à monter en mode « bloc » dans WSL2, utilisez wsl --mount <DeviceID> --bare, puis montez le périphérique Linux (/dev/sdX) dans votre distribution. Évitez cela pour des volumes actuellement utilisés par Windows.
  • Performances & limites : drvfs suffit pour le développement, les scripts et la majorité des usages. Pour des I/O intensives, travaillez côté Windows, ou copiez temporairement les données dans un système de fichiers Linux natif (ex. ~/work), puis resynchronisez.

Vérifications après montage

  • Confirmez la présence du point de montage : mount | grep folderX df -h | grep folderX ls -la /mnt/folderX | head
  • Testez un cycle lecture/écriture : cd /mnt/folderX echo "hello from WSL" > test.txt cat test.txt rm -f test.txt

Options utiles pour drvfs

Les options ci‑dessous peuvent être ajoutées à la ligne mount ou dans /etc/fstab (colonne « options »). Adaptez‑les à votre contexte (UID/GID de l’utilisateur WSL, stratégie de sécurité, etc.).

OptionRôleQuand l’utiliserExemple
metadataActive la persistance des permissions POSIX (propriétaire, mode, etc.) sous forme de métadonnées NTFS.Projets multi‑utilisateurs WSL, besoin de chmod/chown persistants.defaults,metadata
uid, gidForce l’UID/GID présentés par défaut quand metadata n’est pas utilisé.Monoposte, contrôle simple de la propriété apparente.uid=1000,gid=1000
umaskMasque de permissions appliqué aux fichiers.Restreindre l’écriture/lecture par défaut.umask=022
fmask, dmaskMasques séparés pour fichiers et répertoires.Affiner finement les droits par type.fmask=133,dmask=022
case (selon configuration)Gère la sensibilité à la casse si activée sur le dossier Windows.Projets où Makefile et makefile doivent coexister.Activez d’abord la sensibilité côté Windows (voir ci‑dessous).

Exemples d’entrées fstab

# 1) Permissions POSIX persistantes + UID/GID explicites
C:\Users\me\folderX  /mnt/folderX  drvfs  metadata,uid=1000,gid=1000,umask=022  0  0

# 2) Contrôle minimal (UID/GID imposés, sans metadata)

C:\Users\me\folderX  /mnt/folderX  drvfs  uid=1000,gid=1000,umask=022  0  0

Sensibilité à la casse (optionnel)

Windows moderne permet d’activer la sensibilité à la casse par dossier. Pour des projets qui l’exigent :

# À lancer dans Windows (PowerShell/Invite cmd) : activer la casse sur le dossier cible
fsutil.exe file setCaseSensitiveInfo "C:\Users\me\folderX" enable

Après activation, WSL respectera la casse dans ce sous‑arbre (utile pour certaines toolchains).

Automatisation et configuration WSL

Utiliser /etc/wsl.conf pour un comportement cohérent

wsl.conf permet de définir des options globales d’automontage pour les lecteurs Windows et l’usage de fstab :

# /etc/wsl.conf

[automount]

enabled = true # auto-montage des lecteurs Windows (C:, D:, …) mountFsTab = true # appliquer /etc/fstab au démarrage de la distro root = /mnt/ # racine des montages Windows (/mnt/c, /mnt/d, …) options = « metadata,uid=1000,gid=1000,umask=022 »

Après modification de wsl.conf, redémarrez proprement la distribution :

wsl.exe --shutdown   # à lancer depuis Windows (PowerShell/cmd), puis relancer la distro

Script d’installation rapide

#!/usr/bin/env bash
set -euo pipefail

WIN_PATH='C:\Users\me\folderX'
MNT_POINT='/mnt/folderX'

# Crée le point de montage si besoin

sudo mkdir -p "$MNT_POINT"

# Montre si déjà monté

if mount | grep -qE " on ${MNT_POINT} type drvfs"; then
echo "Déjà monté : $MNT_POINT"
else
echo "Montage de $WIN_PATH sur $MNT_POINT..."
sudo mount -t drvfs "$WIN_PATH" "$MNT_POINT"
fi

echo "Validation :"
mount | grep "$MNT_POINT" || (echo "Erreur : non monté." && exit 1)
ls -la "$MNT_POINT" | head 

Cheat‑sheet des cas courants

BesoinCommandeCommentaire
Monter un dossier Windowssudo mount -t drvfs 'C:\Users\me\folderX' /mnt/folderXSolution directe, stable pour scripts.
Accéder sans montage explicitecd /mnt/c/Users/me/folderXPratique, mais moins isolé que le montage dédié.
Convertir un cheminwslpath -w /mnt/c/Users/me/folderXRetourne C:\Users\me\folderX.
Activer fstab au démarragemount -a puis wsl.exe --shutdownRedémarrez la distro pour valider.
Dé‑monter proprementsudo umount /mnt/folderXAssurez‑vous qu’aucun processus n’utilise le dossier.

WSL1 vs WSL2 : ce qui change pour les accès NTFS

AspectWSL1WSL2
Mécanisme d’accès aux fichiers WindowsIntégration plus directe avec l’OS hôte.Serveur 9P entre la VM légère et Windows. drvfs reste l’interface côté Linux.
Performance I/OTrès bonne sur certains scénarios mixtes.Très correcte, mais sensible aux gros volumes de petits fichiers.
Montage de disques brutsNon applicable.wsl --mount (hors du périmètre de ce guide pour un dossier monté sous C:).
Compatibilité drvfsSupportéSupporté

Conclusion : pour un volume NTFS monté comme dossier dans C:, la méthode drvfs ci‑dessus est recommandée pour WSL1 et WSL2.

Gestion des chemins et guillemets

Les erreurs de chemin sont la première source de problème. Gardez ces règles :

  • Espaces : entourez le chemin Windows de guillemets (simples ou doubles).
  • Apostrophes dans le chemin : préférez les doubles guillemets ("C:\Users\O'Neil\folder").
  • Conversions robustes : utilisez wslpath pour convertir entre chemins Windows et WSL. # Windows -> WSL wslpath 'C:\Users\me\folderX' # /mnt/c/Users/me/folderX # WSL -> Windows (backslashes) wslpath -w /mnt/c/Users/me/folderX # C:\Users\me\folderX # WSL -> Windows (slashes) wslpath -m /mnt/c/Users/me/folderX # C:/Users/me/folderX

Bonnes pratiques de sécurité et d’intégrité

  • Facteurs de confiance : évitez d’exécuter des binaires Linux directement sur un répertoire Windows partagé si la chaîne d’approvisionnement n’est pas maîtrisée.
  • Permissions POSIX : si vous avez besoin de chmod/chown persistants, activez metadata et définissez uid/gid/umask adaptés.
  • Verrouillages & antivirus : certains outils Windows (indexation, antivirus) peuvent garder des fichiers ouverts. En cas de « resource busy », patientez, excluez le dossier ou stoppez le processus fautif.
  • Backups : si vous manipulez des données critiques depuis WSL, conservez une stratégie de sauvegarde Windows (Historique des fichiers, VSS, etc.).

Dépannage

SymptômeCause probableSolution
mount: /mnt/folderX: wrong fs type, bad option...Type ou options incorrects ; coquille dans drvfs.Vérifiez -t drvfs et les options. Testez sans options, puis ajoutez‑les progressivement.
No such file or directoryChemin Windows erroné, caractères spéciaux non échappés.Entourez le chemin de guillemets ; testez wslpath ; vérifiez que le dossier existe côté Windows.
Permission denied ou Operation not permittedMontage sans privilèges suffisants ou restrictions Windows.Exécutez avec sudo ; fermez les applications Windows verrouillant les fichiers ; revérifiez Defender/antivirus.
resource busy lors du démontageDes processus utilisent encore le point de montage.Fermez les shells dans le dossier ; lsof +D /mnt/folderX si disponible ; puis sudo umount /mnt/folderX.
Les chmod/chown ne persistent pasMontage sans metadata.Ajoutez metadata aux options (ligne de commande ou /etc/fstab), remontez.
Performances faibles (beaucoup de petits fichiers)Surcoûts de l’accès cross‑OS.Travaillez dans un répertoire Linux (ex. ~/project), synchronisez uniquement les artefacts utiles vers Windows.
Conflits de casse (fichiers quasi identiques)Dossier Windows non sensible à la casse.Activez la casse via fsutil.exe file setCaseSensitiveInfo ... enable, puis remontez si nécessaire.

Questions fréquentes

Puis‑je simplement créer un lien symbolique au lieu d’un montage ?

Oui, un symlink peut suffire si vous avez seulement besoin d’un alias de chemin :

ln -s /mnt/c/Users/me/folderX /mnt/folderX

Toutefois, un vrai montage drvfs offre plus de contrôle (permissions, options, scripts reproductibles).

Le volume a été monté comme dossier dans C:\ProgramData\.... Cela change‑t‑il quelque chose ?

Non. Du point de vue WSL, vous montez un chemin Windows. Tant qu’il est accessible dans Windows, drvfs peut le publier dans WSL.

Comment savoir si mon montage est actif après redémarrage ?

Au lancement de la distribution, exécutez :

mount | grep drvfs
df -h | grep /mnt/folderX

Est‑ce risqué d’utiliser wsl --mount pour ces volumes montés comme dossiers ?

Oui, si le volume est en usage par Windows. wsl --mount déconnecte/« off‑line » le disque pour l’exposer brut à WSL2. Pour un volume monté dans C:, préférez drvfs.

Puis‑je restreindre l’accès à ce point de montage à mon seul utilisateur WSL ?

Avec metadata, vous pouvez appliquer des permissions POSIX (ex. chmod 700) qui seront respectées côté WSL. Côté Windows, les ACL du dossier d’origine continuent de s’appliquer.

Exemples concrets

Montage ponctuel avec permissions explicites

sudo mount -t drvfs 'C:\Users\me\folderX' /mnt/folderX -o uid=$(id -u),gid=$(id -g),umask=027

Entrée fstab avec persistance des métadonnées

C:\Users\me\folderX /mnt/folderX drvfs metadata,uid=1000,gid=1000,umask=022 0 0

Activation de la casse puis remontage

fsutil.exe file setCaseSensitiveInfo "C:\Users\me\folderX" enable
sudo umount /mnt/folderX || true
sudo mount -t drvfs 'C:\Users\me\folderX' /mnt/folderX

Résumé opérationnel

  • Identifiez le chemin Windows réel du volume monté comme dossier.
  • Créez un point de montage WSL (/mnt/folderX).
  • Montez via drvfs ; utilisez metadata si vous avez besoin de permissions POSIX persistantes.
  • Vérifiez (mount, df -h, ls), puis automatisez avec /etc/fstab.
  • Optimisez selon votre flux : travail Linux natif pour gros I/O, synchronisation vers Windows seulement si nécessaire.

Conclusion

Accéder dans WSL à un volume NTFS monté comme dossier Windows est simple et robuste avec drvfs. Cette approche conserve la lisibilité côté Windows, donne un point de montage stable côté Linux, et permet d’appliquer des politiques de permissions adaptées à vos projets. Avec l’automatisation (fstab, wsl.conf) et quelques vérifications système, vous obtenez un environnement cohérent pour développer ou exploiter vos données en toute sécurité.

Sommaire