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.

Inhalt:

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 der 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 --update

Listen Sie dann die verfügbaren Festplattengeräte in Windows auf:

wmic diskdrive list brief

In diesem Beispiel sind zwei physische Festplatten an den Computer angeschlossen.

Sie können ein komplettes Festplattenlaufwerk in der WSL mounten:

wsl --mount \.PHYSICALDRIVE2

Oder 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$ubuntumntwslPHYSICALDRIVE2p1.

Überprüfen Sie, ob in der WSL auf die ext4-Dateisystempartition zugegriffen werden kann:

$ lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT

Führen Sie Folgendes aus, um die Bereitstellung der Partition aufzuheben:

wsl --umount \.PHYSICALDRIVE2 --partition 1

Um 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 –Force

WSL 2 unterstützt derzeit nicht das Mounten von USB-Laufwerken oder SD-Karten. Um USB-Speichergeräte an WSL anzuschließen, wird empfohlen, das zu verwendenusbipd-winPaket (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 zugeordnetnet use X: \192.168.100.12toolsBefehl. So greifen Sie über WSL auf dieses Netzlaufwerk zu:

  1. Erstellen Sie einen Mountpunkt:$ sudo mkdir /mnt/x
  2. Montieren Sie das Laufwerk:$ sudo mount -t drvfs X: /mnt/x
  3. Jetzt können Sie auf Dateien und Ordner auf dem Netzlaufwerk zugreifen.

Um dieses Netzlaufwerk automatisch bereitzustellen, fügen Sie die folgende Zeile hinzu/etc/fstab:

X: /mnt/x drvfs defaults 0 0

Hängen Sie dann alle Dateisysteme ein:

$ mount -a

Freigegebene 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/tools

In diesem Beispiel wird zum Herstellen einer Verbindung zu freigegebenen Ordnern das SMB 3.0-Protokoll 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:USERPROFILEwsl_shared_disk.vhdx -Dynamic -SizeBytes 20GB

Hängen Sie dann die VHDX-Datei in WSL ein:

Mehr Lektüre:Erste Schritte mit Docker unter Windows (WSL2) ohne Docker Desktop

wsl --mount --vhd $env:USERPROFILEwsl_shared_disk.vhdx --bare

Jetzt 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/sdd1

Anschließ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/vhdx

Mit 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 ist im gespeichertext4.vhdxvirtuelle Festplatte in derC:Users[user]AppDataLocalPackages[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.

Related Posts