Monter des lecteurs physiques et réseau dans WSL2 (sous-système Windows pour Linux)
Il existe plusieurs façons de monter et d'accéder à des lecteurs physiques, virtuels ou réseau dans le sous-système Windows pour Linux (WSL2). Par défaut, l'environnement WSL monte tous les lecteurs logiques Windows sur le
/mnt/annuaire. De plus, vous pouvez accéder au système de fichiers WSL directement à partir de l'Explorateur de fichiers exécuté sur l'hôte Windows en utilisant le chemin UNC.
\\wsl$\(Par exemple,
\\wsl$\ubuntu).
Ce guide explique comment monter différents disques dans un environnement WSL.
Comment monter un disque physique (partition) dans WSL2
Le sous-système Windows pour Linux (WSL 2) permet de monter des disques physiques ou des partitions spécifiques avec des systèmes de fichiers qui ne sont pas pris en charge par l'hôte Windows lui-même. Le
/proc/filesystemsLe fichier contient la liste des systèmes de fichiers pris en charge dans WSL.
Par exemple, vous disposez d'un disque physique contenant des partitions ext4 et vous souhaitez y accéder depuis WSL.
Avant de continuer, vérifiez et mettez à jour votre version WSL 2 :
wsl --updateRépertoriez ensuite les périphériques de disque disponibles sous Windows :
wmic diskdrive list briefDeux disques physiques sont connectés à l'ordinateur dans cet exemple.
Vous pouvez monter un disque dur entier dans le WSL :
wsl --mount \\.\PHYSICALDRIVE2Ou simplement une partition spécifique :
wsl --mount \\.\PHYSICALDRIVE2 --partition 1
La partition du disque dur physique sera montée dans le répertoire /mnt/wsl/PHYSICALDRIVE2p1.
Vous pouvez accéder aux fichiers de cette partition à partir d'un hôte Windows à l'aide d'un chemin UNC :
\\wsl$\ubuntu\mnt\wsl\PHYSICALDRIVE2p1Vérifiez que la partition du système de fichiers ext4 est accessible dans WSL :
$ lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINTPour démonter la partition, exécutez :
wsl --umount \\.\PHYSICALDRIVE2 --partition 1Pour monter automatiquement une partition de disque physique lorsqu'un utilisateur se connecte à Windows, créez une tâche de planification simple à l'aide de PowerShell :
$TaskName="WSL_Mount_DISK1_PART1"
$Trigger= New-ScheduledTaskTrigger -AtLogOn
$Action= New-ScheduledTaskAction -Execute "cmd" -Argument "/c wsl --mount \\.\PHYSICALDRIVE2 --partition 1"
Register-ScheduledTask -TaskName $TaskName -Trigger $Trigger -Action $Action -RunLevel Highest -ForceWSL 2 ne prend actuellement pas en charge le montage de clés USB ou de cartes SD. Pour connecter des périphériques de stockage USB à WSL, il est recommandé d'utiliser le package usbipd-win (permet de passer par des périphériques USB externes en utilisant le protocole USB sur IP).
Montage de lecteurs réseau Windows dans WSL
Dans WSL, vous pouvez accéder aux dossiers partagés sur les ordinateurs du réseau ou les appareils NAS. Il existe deux manières de monter des lecteurs réseau dans WSL :
Vous pouvez monter un lecteur réseau mappé dans Windows et auquel une lettre de lecteur est attribuée.
-
Il est possible d'utiliser le client CIFS/SMB dans WSL pour monter un dossier réseau partagé à l'aide d'un chemin UNC.
Par exemple, vous avez mappé un lecteur réseau à l'aide de GPO ou avec le
net use X: \\192.168.100.12\toolscommande. Pour accéder à ce lecteur réseau depuis WSL :
Créez un point de montage :
$ sudo mkdir /mnt/xMontez le lecteur :
$ sudo mount -t drvfs X: /mnt/xVous pouvez désormais accéder aux fichiers et dossiers sur le lecteur réseau.
Pour monter automatiquement ce lecteur réseau, ajoutez la ligne suivante à /etc/fstab :
X: /mnt/x drvfs defaults 0 0Montez ensuite tous les systèmes de fichiers :
$ mount -aLes dossiers réseau partagés peuvent également être montés directement à partir d'appareils compatibles SMB à l'aide du package CIFS.
$ sudo apt install cifs-utils
$ sudo mount -t cifs -o user={user},pass={password},iocharset=utf8,vers=3.0 //192.168.100.12/tools /mnt/toolsCet exemple utilise le protocole SMB 3.0 pour se connecter aux dossiers partagés au lieu de SMBv1 qui est désactivé par défaut dans les versions actuelles de Windows.
Connecter un disque dur virtuel (VHD/VHDX) dans WSL
Les disques durs virtuels VHD/VHDX peuvent également être montés avec WSL. Si le module Hyper-V PowerShell est installé sur l'ordinateur, créez un nouveau fichier de disque virtuel à l'aide de la commande :
New-VHD -Path $env:USERPROFILE\wsl_shared_disk.vhdx -Dynamic -SizeBytes 20GBMontez ensuite le fichier VHDX dans WSL :
wsl --mount --vhd $env:USERPROFILE\wsl_shared_disk.vhdx --bareVous pouvez maintenant créer une table de partition et une partition avec le système de fichiers ext4 sur le disque virtuel :
$ lsblk
$ sudo parted /dev/sdc print
$ sudo parted /dev/sdc mklabel msdos
$ sudo parted -a optimal /dev/sdc mkpart primary ext4 0% 100%
$ lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT /dev/sdc
$ sudo mkfs.ext4 /dev/sdd1Ensuite, vous pouvez monter une nouvelle partition dans un répertoire par son UUID :
$ sudo blkid
$ sudo mount UUID=c04d0309-b93a-47f2-ae0d-79c95c80cd51 /home/sysops/vhdxGrâce à cette méthode, vous pourrez monter les disques durs virtuels d'autres environnements Linux installés sur cet ordinateur sous WSL. Le système de fichiers image Linux WSL est stocké dans le
ext4.vhdxdisque virtuel dans le
C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\[distroPackageName]dossier. Si vous ne disposez pas de suffisamment d'espace libre sur le lecteur système, vous pouvez déplacer le fichier VHDX contenant le système de fichiers image WSL vers un autre lecteur.





