Доступ до файлів WSL Linux із Windows 10
Windows 10 версії 1903 «Оновлення квітня 2019» містить ряд цікавих змін та покращень, внесених у функцію WSL. До них належать додаткові дистрибутиви в магазині, можливість переглядати файли WSL із File Exporer тощо.
Можливість запускати Linux у Windows 10 забезпечується функцією WSL. WSL означає підсистему Windows для Linux, яка спочатку була обмежена лише Ubuntu. Сучасні версії WSL дозволяють встановлення та запуск кількох дистрибутивів Linux з Microsoft Store.
Після увімкнення WSL, ви можете встановити різні версії Linux із Магазину. Ви можете скористатися наступними посиланнями:
- Ubuntu
- openSUSE Leap
- SUSE Linux Enterprise Server
- Kali Linux для WSL
- Debian GNU/Linux
і більше.
З Windows 10 версії 1903 «Оновлення квітня 2019» ви можете легко отримати доступ до всіх файлів у ваших дистрибутивах Linux із Windows. На момент написання цієї статті ця функція реалізована в Windows 10 build 18836. Він на шляху до гілки 19h1, тому ми побачимо це в наступній збірці. Ось як це можна зробити.
Щоб отримати доступ до файлів WSL Linux з Windows 10, виконайте наступне.
- Увімкнути функція WSL.
- Встановити деякий дистрибутив, напр. Ubuntu і запустіть його.
- Перебуваючи в каталозі на Linux FS, введіть
дослідник .
. - Це відкриє вікно File Explorer, розташоване всередині вашого дистрибутива Linux.
Звідти ви можете отримати доступ до будь-яких файлів Linux, які вам подобаються, як і до будь-якого іншого файлу через File Explorer. Сюди входять такі операції, як: перетягування файлів туди-сюди в інші місця, копіювання та вставка і навіть використання користувацьких пунктів контекстного меню, доданих Notepad++, VSCode та іншим програмним забезпеченням.
Провідник файлів показує файли дистрибутива як спільну віртуальну мережу за шляхом \\wsl$\
Команда WSL активно досліджує способи покращення видимості файлів Linux у Провіднику файлів. Хід їхньої роботи вже можна побачити в Windows 10 Build 18836 який показує файлову систему WSL/Linux у Провіднику файлів.
Доступ до файлів Linux у командному рядку
На додаток до File Explorer, ви можете використовувати класичний командний рядок та інструменти PowerShell для доступу до файлів Linux. Аналогічно, вам потрібно перейти до \\wsl$\{назва дистрибутива}\, де {назва дистрибутива} — це назва запущеного дистрибутива.
Відомі проблеми
Це нова функція, і деякі її частини можуть працювати не ідеально. Ось деякі відомі проблеми, про які ми хочемо повідомити вас під час використання цієї функції:
- На даний момент файли дистрибутивів будуть доступні лише з Windows, коли дистрибутив запущено. Розробник збирається додати підтримку для не запущених дистрибутивів у майбутньому оновленні.
Оскільки файловий сервер 9P працює всередині кожного дистрибутива, він доступний лише тоді, коли цей дистрибутив запущено. Команда шукає способи допомогти вирішити цю проблему. -
Доступ до файлів Linux розглядається так само, як і доступ до мережевого ресурсу, і будь-які правила доступу до мережевих ресурсів все одно будуть застосовуватися
наприклад: при використанні CMD, cd \\wsl$\Ubuntu\home не працюватиме (оскільки CMD не підтримує шляхи UNC як поточні каталоги), однак скопіюйте \\wsl$\Ubuntu\home\somefile.txt C:\dev\ буду працювати -
Старі правила все ще діють, ви НЕ повинні отримувати доступ до файлів Linux у папці AppData!
Якщо ви намагаєтеся отримати доступ до файлів Linux через папку AppData, ви обходите сервер 9P, а це означає, що ви не матимете доступу до файлів Linux, і ви можете корумпований ваш дистрибутив Linux.
Примітка. Сервер 9P — це сервер, який містить протоколи, які підтримують метадані Linux, включаючи дозволи. Демон ініціалізації WSL тепер включає сервер 9P. Існує служба і драйвер Windows, які діють як клієнт і спілкуються з сервером 9P (який працює всередині екземпляра WSL). Клієнт і сервер спілкуються через сокети AF_UNIX, оскільки WSL дозволяє взаємодіяти між програмою Windows і програмою Linux за допомогою AF_UNIX.
Джерело: Microsoft