Physische und Netzwerklaufwerke in WSL2 (Windows-Subsystem für Linux) einbinden
Es gibt mehrere Möglichkeiten, physische, virtuelle oder Netzwerklaufwerke im Windows-Subsystem für Linux (WSL2) bereitzustellen und darauf zuzugreifen. Standardmäßig stellt die WSL-Umgebung alle logischen Windows-Laufwerke bereit
/mnt/Verzeichnis. Darüber hinaus können Sie über den UNC-Pfad direkt über den Datei-Explorer auf dem Windows-Host auf das WSL-Dateisystem zugreifen
\\wsl$\(Zum Beispiel,
\\wsl$\ubuntu).
In dieser Anleitung wird erläutert, wie Sie verschiedene Laufwerke in einer WSL-Umgebung bereitstellen.
So mounten Sie ein physisches Laufwerk (Partition) in WSL2
Das Windows-Subsystem für Linux (WSL 2) ermöglicht das Mounten physischer Laufwerke oder bestimmter Partitionen mit Dateisystemen, die vom Windows-Host selbst nicht unterstützt werden. Der
/proc/filesystemsDie Datei enthält die Liste der unterstützten Dateisysteme in WSL.
Sie verfügen beispielsweise über eine physische Festplatte mit ext4-Partitionen und möchten über WSL darauf zugreifen.
Bevor Sie fortfahren, überprüfen und aktualisieren Sie Ihre WSL 2-Version:
wsl --updateListen Sie dann die verfügbaren Festplattengeräte in Windows auf:
wmic diskdrive list briefIn diesem Beispiel sind zwei physische Festplatten an den Computer angeschlossen.
Sie können ein komplettes Festplattenlaufwerk in der WSL mounten:
wsl --mount \\.\PHYSICALDRIVE2Oder nur eine bestimmte Partition:
wsl --mount \\.\PHYSICALDRIVE2 --partition 1
Die Partition der physischen Festplatte wird im Verzeichnis /mnt/wsl/PHYSICALDRIVE2p1 gemountet.
Sie können von einem Windows-Host aus über einen UNC-Pfad auf Dateien auf dieser Partition zugreifen:
\\wsl$\ubuntu\mnt\wsl\PHYSICALDRIVE2p1Überprüfen Sie, ob in der WSL auf die ext4-Dateisystempartition zugegriffen werden kann:
$ lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINTFühren Sie Folgendes aus, um die Bereitstellung der Partition aufzuheben:
wsl --umount \\.\PHYSICALDRIVE2 --partition 1Um eine physische Festplattenpartition automatisch bereitzustellen, wenn sich ein Benutzer bei Windows anmeldet, erstellen Sie mit PowerShell eine einfache Planungsaufgabe:
$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 unterstützt derzeit nicht das Mounten von USB-Laufwerken oder SD-Karten. Um USB-Speichergeräte an WSL anzuschließen, wird die Verwendung des usbipd-win-Pakets empfohlen (ermöglicht die Durchleitung externer USB-Geräte mithilfe des USB-over-IP-Protokolls).
Mounten von Windows-Netzwerklaufwerken in WSL
In WSL können Sie auf freigegebene Ordner auf Netzwerkcomputern oder NAS-Geräten zugreifen. Es gibt zwei Möglichkeiten, Netzlaufwerke in WSL bereitzustellen:
Sie können ein Netzlaufwerk bereitstellen, das in Windows zugeordnet ist und dem ein Laufwerksbuchstabe zugewiesen ist.
-
Es ist möglich, den CIFS/SMB-Client in WSL zu verwenden, um einen freigegebenen Netzwerkordner über einen UNC-Pfad bereitzustellen.
Sie haben beispielsweise ein Netzlaufwerk über GPO oder mit zugeordnet
net use X: \\192.168.100.12\toolsBefehl. So greifen Sie über WSL auf dieses Netzlaufwerk zu:
Erstellen Sie einen Mountpunkt:
$ sudo mkdir /mnt/xMontieren Sie das Laufwerk:
$ sudo mount -t drvfs X: /mnt/xJetzt können Sie auf Dateien und Ordner auf dem Netzlaufwerk zugreifen.
Um dieses Netzlaufwerk automatisch bereitzustellen, fügen Sie die folgende Zeile zu /etc/fstab hinzu:
X: /mnt/x drvfs defaults 0 0Hängen Sie dann alle Dateisysteme ein:
$ mount -aFreigegebene Netzwerkordner können mithilfe des CIFS-Pakets auch direkt von SMB-fähigen Geräten bereitgestellt werden.
$ 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/toolsIn diesem Beispiel wird das SMB 3.0-Protokoll zum Herstellen einer Verbindung zu freigegebenen Ordnern anstelle von SMBv1 verwendet, das in aktuellen Windows-Versionen standardmäßig deaktiviert ist.
Schließen Sie eine virtuelle Festplatte (VHD/VHDX) in WSL an
Virtuelle VHD/VHDX-Festplatten können auch mit WSL gemountet werden. Wenn das Hyper-V PowerShell-Modul auf dem Computer installiert ist, erstellen Sie mit dem folgenden Befehl eine neue virtuelle Festplattendatei:
New-VHD -Path $env:USERPROFILE\wsl_shared_disk.vhdx -Dynamic -SizeBytes 20GBHängen Sie dann die VHDX-Datei in WSL ein:
wsl --mount --vhd $env:USERPROFILE\wsl_shared_disk.vhdx --bareJetzt können Sie eine Partitionstabelle und eine Partition mit dem ext4-Dateisystem auf der virtuellen Festplatte erstellen:
$ 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/sdd1Anschließend können Sie eine neue Partition anhand ihrer UUID in ein Verzeichnis einbinden:
$ sudo blkid
$ sudo mount UUID=c04d0309-b93a-47f2-ae0d-79c95c80cd51 /home/sysops/vhdxMit dieser Methode können Sie die virtuellen Festplatten anderer Linux-Umgebungen, die auf diesem Computer installiert sind, unter WSL mounten. Das Linux WSL-Image-Dateisystem wird im gespeichert
ext4.vhdxvirtuelle Festplatte in der
C:\Users\[user]\AppData\Local\Packages\[distro]\LocalState\[distroPackageName]Ordner. Wenn auf dem Systemlaufwerk nicht genügend freier Speicherplatz vorhanden ist, können Sie die VHDX-Datei, die das WSL-Image-Dateisystem enthält, auf ein anderes Laufwerk verschieben.





