Підключення фізичних і мережевих дисків у WSL2 (підсистема Windows для Linux)

У підсистемі Windows для Linux (WSL2) є кілька способів підключення фізичних, віртуальних або мережевих дисків і доступу до них. За замовчуванням середовище WSL монтує всі логічні диски Windows до/mnt/каталог. Крім того, ви можете отримати доступ до файлової системи WSL безпосередньо з Провідника файлів, який працює на хості Windows, використовуючи шлях UNC\wsl$(наприклад,\wsl$ubuntu).

У цьому посібнику пояснюється, як монтувати різні диски в середовищі WSL.

Зміст:

Підсистема Windows для Linux (WSL 2) дає змогу монтувати фізичні диски або окремі розділи з файловими системами, які не підтримуються самим хостом Windows. The/proc/filesystemsфайл містить список підтримуваних файлових систем у WSL.

Наприклад, у вас є фізичний диск із розділами ext4, і ви хочете отримати доступ до них із WSL.

ПОВ'ЯЗАНО:Як підключити папку як віртуальний диск у Windows 11/10

Перш ніж продовжити, перевірте та оновіть свою версію WSL 2:

wsl --update

Потім перелічіть доступні дискові пристрої в Windows:

wmic diskdrive list brief

У цьому прикладі до комп’ютера підключено два фізичні диски.

Ви можете змонтувати весь жорсткий диск у WSL:

wsl --mount \.PHYSICALDRIVE2

Або просто певний розділ:

wsl --mount \.PHYSICALDRIVE2 --partition 1

Розділ фізичного жорсткого диска буде змонтовано в каталозі /mnt/wsl/PHYSICALDRIVE2p1.

Ви можете отримати доступ до файлів у цьому розділі з хосту Windows, використовуючи шлях UNC:\wsl$ubuntumntwslPHYSICALDRIVE2p1.

Переконайтеся, що розділ файлової системи ext4 доступний у WSL:

$ lsblk -o NAME,FSTYPE,SIZE,MOUNTPOINT

Щоб демонтувати розділ, виконайте:

wsl --umount \.PHYSICALDRIVE2 --partition 1

Щоб автоматично монтувати розділ фізичного диска, коли користувач входить до Windows, створіть просте завдання планувальника за допомогою 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 наразі не підтримує монтування USB-накопичувачів або SD-карт. Щоб під’єднати накопичувач USB до WSL, рекомендується використовуватиusbipd-winпакет (дозволяє передати зовнішні USB-пристрої за допомогою протоколу USB через IP).

Встановлення мережевих дисків Windows у WSL

У WSL ви можете отримати доступ до спільних папок на мережевих комп’ютерах або пристроях NAS. Існує два способи монтування мережевих дисків у WSL:

  • Ви можете підключити мережевий диск, який зіставлено в Windows і має літеру диска.
  • Можна використовувати клієнт CIFS/SMB у WSL для монтування спільної мережевої папки за допомогою шляху UNC.

Наприклад, ви зіставили мережевий диск за допомогою GPO або за допомогоюnet use X: \192.168.100.12toolsкоманда. Щоб отримати доступ до цього мережевого диска з WSL:

  1. Створіть точку монтування:$ sudo mkdir /mnt/x
  2. Встановити накопичувач:$ sudo mount -t drvfs X: /mnt/x
  3. Тепер ви можете отримати доступ до файлів і папок на мережевому диску.

Щоб автоматично підключити цей мережевий диск, додайте наступний рядок/etc/fstab:

X: /mnt/x drvfs defaults 0 0

Потім змонтуйте всі файлові системи:

$ mount -a

Спільні мережеві папки також можна монтувати безпосередньо з пристроїв із підтримкою SMB за допомогою пакета 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/tools

У цьому прикладі використовується протокол SMB 3.0 для підключення до спільних папок замість протоколу SMBv1, який вимкнено за замовчуванням у поточних версіях Windows.

Під’єднайте віртуальний жорсткий диск (VHD/VHDX) до WSL

Віртуальні жорсткі диски VHD/VHDX також можна монтувати за допомогою WSL. Якщо на комп’ютері встановлено модуль Hyper-V PowerShell, створіть новий файл віртуального диска за допомогою команди:

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

Потім змонтуйте файл VHDX у WSL:

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

Тепер ви можете створити таблицю розділів і розділ з файловою системою ext4 на віртуальному диску:

$ 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

Потім ви можете змонтувати новий розділ до каталогу за його UUID:

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

Використовуючи цей метод, ви зможете монтувати віртуальні жорсткі диски інших середовищ Linux, які встановлено на цьому комп’ютері під WSL. Файлова система зображень WSL Linux зберігається вext4.vhdxвіртуальний диск вC:Users[user]AppDataLocalPackages[distro]LocalState[distroPackageName]папку. Якщо у вас недостатньо вільного місця на системному диску, ви можете перемістити файл VHDX, який містить файлову систему образу WSL, на інший диск.

Related Posts