Доступ к файлам 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, введите
исследователь.
. - Это откроет окно проводника, расположенное внутри вашего дистрибутива Linux.
Оттуда вы можете получить доступ к любым файлам Linux, которые вам нравятся, так же, как и к любому другому файлу через проводник. Это включает в себя такие операции, как: перетаскивание файлов назад и вперед в другие места, копирование и вставка и даже использование пользовательских записей контекстного меню, добавленных Notepad ++, VSCode и другим программным обеспечением.
Проводник показывает файлы дистрибутива как общий сетевой ресурс по пути \\ wsl $ \
Команда WSL активно исследует способы улучшить обнаружение файлов Linux внутри проводника. Ход их работы уже можно увидеть в Windows 10 Build 18836. который показывает файловую систему WSL / Linux в проводнике.
Доступ к файлам Linux из командной строки
Помимо проводника, вы можете использовать классическую командную строку и инструменты 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