Monter fysiske og netværksdrev i WSL2 (Windows Subsystem til Linux)

Der er flere måder at montere og få adgang til fysiske, virtuelle eller netværksdrev i Windows Subsystem til Linux (WSL2). Som standard monterer WSL-miljøet alle Windows logiske drev til/mnt/vejviser. Derudover kan du få adgang til WSL-filsystemet direkte fra File Explorer, der kører på Windows-værten, ved at bruge UNC-stien\wsl$(f.eks.\wsl$ubuntu).

Denne vejledning forklarer, hvordan man monterer forskellige drev i et WSL-miljø.

Indhold:

Sådan monteres fysisk drev (partition) i WSL2

Windows Subsystem til Linux (WSL 2) gør det muligt at montere fysiske drev eller specifikke partitioner med filsystemer, der ikke understøttes af selve Windows-værten. De/proc/filesystemsfilen indeholder listen over understøttede filsystemer i WSL.

For eksempel har du en fysisk disk med ext4-partitioner på, og du vil have adgang til dem fra WSL.

Før du fortsætter, skal du kontrollere og opdatere din WSL 2-version:

wsl --update

Angiv derefter de tilgængelige diskenheder i Windows:

wmic diskdrive list brief

To fysiske diske er forbundet til computeren i dette eksempel.

Du kan montere en hel harddisk i WSL:

wsl --mount \.PHYSICALDRIVE2

Eller bare en bestemt partition:

wsl --mount \.PHYSICALDRIVE2 --partition 1

Partitionen på den fysiske harddisk vil blive monteret i mappen /mnt/wsl/PHYSICALDRIVE2p1.

Du kan få adgang til filer på denne partition fra en Windows-vært ved hjælp af en UNC-sti:\wsl$ubuntumntwslPHYSICALDRIVE2p1.

Kontroller, at ext4-filsystempartitionen er tilgængelig i WSL:

$ lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT

For at afmontere partitionen skal du køre:

wsl --umount \.PHYSICALDRIVE2 --partition 1

For automatisk at montere en fysisk diskpartition, når en bruger logger på Windows, skal du oprette en simpel planlægningsopgave ved hjælp af 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 –Force

WSL 2 understøtter i øjeblikket ikke montering af USB-drev eller SD-kort. For at tilslutte USB-lagerenheder til WSL, anbefales det at brugeusbipd-winpakke (giver mulighed for at overføre eksterne USB-enheder ved hjælp af USB over IP-protokollen).

Montering af Windows-netværksdrev i WSL

I WSL kan du få adgang til delte mapper på netværkscomputere eller NAS-enheder. Der er to måder at montere netværksdrev i WSL:

  • Du kan montere et netværksdrev, der er kortlagt i Windows og har et drevbogstav tildelt.
  • Det er muligt at bruge CIFS/SMB-klienten i WSL til at montere en delt netværksmappe ved hjælp af en UNC-sti.

For eksempel har du kortlagt et netværksdrev ved hjælp af GPO eller mednet use X: \192.168.100.12toolskommando. Sådan får du adgang til dette netværksdrev fra WSL:

  1. Opret et monteringspunkt:$ sudo mkdir /mnt/x
  2. Monter drevet:$ sudo mount -t drvfs X: /mnt/x
  3. Nu kan du få adgang til filer og mapper på netværksdrevet.

For automatisk at montere dette netværksdrev skal du tilføje følgende linje til/etc/fstab:

X: /mnt/x drvfs defaults 0 0

Monter derefter alle filsystemerne:

$ mount -a

Delte netværksmapper kan også monteres direkte fra SMB-aktiverede enheder ved hjælp af CIFS-pakken.

$ 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

Dette eksempel bruger SMB 3.0-protokollen til at oprette forbindelse til delte mapper i stedet for SMBv1, som er deaktiveret som standard i aktuelle versioner af Windows.

Tilslut virtuel harddisk (VHD/VHDX) i WSL

VHD/VHDX virtuelle harddiske kan også monteres med WSL. Hvis Hyper-V PowerShell-modulet er installeret på computeren, skal du oprette en ny virtuel diskfil ved hjælp af kommandoen:

New-VHD -Path $env:USERPROFILEwsl_shared_disk.vhdx -Dynamic -SizeBytes 20GB

Monter derefter VHDX-filen i WSL:

Mere læsning:Kom godt i gang med Docker på Windows (WSL2) uden Docker Desktop

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

Nu kan du oprette en partitionstabel og en partition med ext4-filsystemet på den virtuelle disk:

$ 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

Derefter kan du montere en ny partition til en mappe ved dens UUID:

$ sudo blkid
$ sudo mount UUID=c04d0309-b93a-47f2-ae0d-79c95c80cd51 /home/sysops/vhdx

Ved at bruge denne metode vil du være i stand til at montere de virtuelle harddiske i andre Linux-miljøer, der er installeret på denne computer under WSL. Linux WSL-billedfilsystemet er gemt iext4.vhdxvirtuel disk iC:Users[user]AppDataLocalPackages[distro]LocalState[distroPackageName]folder. Hvis du ikke har nok ledig plads på systemdrevet, kan du flytte VHDX-filen, der indeholder WSL-billedfilsystemet, til et andet drev.

Related Posts