Как открыть wsl в проводнике
Доступ к файлам WSL Linux с помощью Проводника Windows 10
Публикация: 18 February 2019 Обновлено: 31 August 2020
Windows 10 версии 1903 содержит ряд интересных изменений и улучшений, внесенных в функцию WSL. К ним относятся дополнительные дистрибутивы в Магазине, возможность просматривать файлы WSL в Проводнике и многое другое.
После включения WSL вы можете устанавливать различные версии Linux из Магазина, используя следующие ссылки:
Ссылки на дистрибутивы в магазине microsoft:
В Windows 10 версии 1903 вы можете легко получить доступ ко всем файлам в ваших дистрибутивах Linux с помощью проводника Windows. На момент написания статьи эта функция реализована в сборке Windows 10 18836. Она находится на пути к ветви 19h1, поэтому мы увидим ее в следующей сборке. Вот как это можно сделать.
Шаг 1: Включить функцию WSL (Подситема Windows для Linux)
Шаг 2: Установите какой-нибудь дистрибутив, например Ubuntu, и запустите его.
Шаг 3: Находясь в каталоге Linux FS, введите^
Откроется окно проводника, расположенное внутри вашего дистрибутива Linux.
Теперь вы можете получить доступ к любым файлам Linux, так же, как и к любому другому файлу через проводник. Это включает в себя такие операции, как: перетаскивание файлов в другие места, копирование и вставка и даже использование пользовательских записей контекстного меню, добавленных Notepad ++, VSCode или другим программным обеспечением.
Команда WSL активно исследует способы улучшения обнаруживаемости файлов Linux внутри Проводника. Ход их работы уже можно увидеть в Windows 10 Build 18836, которая показывает файловую систему WSL / Linux в File Explorer.
Доступ к файлам Linux в командной строке
В дополнение к Проводнику вы можете использовать классическую командную строку и инструменты PowerShell для доступа к файлам Linux. Точно так же вам нужно перейти к \\wsl$\<имя дистрибутива>\, где <имя дистрибутива>— это имя работающего дистрибутива.
Известные вопросы
Это новая функция, и некоторые ее части могут не работать идеально. Вот некоторые известные проблемы, о которых мы хотим сообщить вам при использовании этой функции:
На данный момент файлы дистрибутивов будут доступны только из Windows, когда дистрибутив работает. Разработчик собирается добавить поддержку не работающих дистрибутивов в будущем обновлении.
Поскольку файловый сервер 9P работает внутри каждого дистрибутива, он доступен только тогда, когда этот дистрибутив работает. Команда ищет способы решить эту проблему.
Доступ к файлам Linux рассматривается так же, как и доступ к сетевому ресурсу, и все правила доступа к сетевым ресурсам будут по-прежнему применяться,
Примечание: Сервер 9P — это сервер, который содержит протоколы, поддерживающие метаданные Linux, включая разрешения. Демон инициализации WSL теперь включает сервер 9P. Существует служба Windows и драйвер, который действует как клиент и взаимодействует с сервером 9P (который работает внутри экземпляра WSL). Клиент и сервер обмениваются данными через сокеты AF_UNIX, поскольку WSL позволяет взаимодействовать между приложением Windows и приложением Linux, используя AF_UNIX.
Крутые лайфхаки для работы с WSL (Подсистема Windows для Linux )
Я глубоко погружен в WSL (Windows Subsystem для Linux), и теперь, когда WSL2 доступен в Windows Insiders, это отличное время, чтобы по-настоящему изучить доступные опции. Очень интересная фича, которую я нашел в WSL, — возможность «чисто» перемещать данные между мирами. Это не тот опыт, который вы легко можете получить с полноценными виртуальными машинами, и он говорит о тесной интеграции Linux и Windows.
Под катом подробнее о некоторых интересных вещах, которые вы можете делать, смешивая арахисовое масло и шоколад!
Запустите Windows Explorer из Linux и получите доступ к файлам вашего дистрибутива
Используйте настоящие команды Linux (не CGYWIN) из Windows
Я уже писал об этом раньше, но теперь есть алиасы для функций PowerShell, которые позволяют вам использовать настоящие команды Linux изнутри Windows.
Вы можете вызвать любую команду Linux напрямую из DOS/Windows/чего угодно, просто поместив ее после WSL.exe, вот так.
Запустите Visual Studio Code и получите доступ к вашим приложениям Linux нативно на Windows
Вы можете запустить «code.», находясь в папке в WSL, и вам будет предложено установить расширения VS Remote.. Это эффективно разделяет Visual Studio Code пополам и запускает «headless» VS Code Server в Linux с клиентом VS Code в мире Windows.
Вам также необходимо установить Visual Studio Code и расширение Remote — WSL. При желании, установите бета-версию Windows Terminal для лучшего опыта работы с терминалом в Windows.
Вот отличная подборка статей из блога Windows Command Line.
Запуск нескольких Linux в считанные секунды
Я могу легко запустить их, а также назначить профили, чтобы они появлялись в моем Windows Terminal.
Запустите X Windows Server под Windows с Pengwin
Простое перемещение дистрибутивов WSL между системами Windows.
Ana Betts отмечает эту замечательную технику, с помощью которой вы можете легко перенести свой идеальный дистрибутив WSL2 с одной машины на n машин.
Вот и все. Получите идеальную настройку Linux, синхронизированную на всех ваших системах.
Используйте провайдер учетных данных Windows Git внутри WSL
Все перечисленные фичи переткают в кульминацию в этом крутом посте от Ana Betts, где она интегрирует Windows Git Credential Provider в WSL, превращая /usr/bin/git-credential-manager в сценарий оболочки, который вызывает диспетчер git creds Windows. Гениально. Это было бы возможно только при условии чистой и тесной интеграции.
Лёгкий доступ к файлам в подсистеме Windows для Linux (WSL)
Обновление Windows 10 за апрель 2019 года предлагает долгожданную функцию: поддержку простого доступа, просмотра и даже изменения файлов подсистемы Windows для Linux (WSL) из проводника или командной строки.
Раньше можно было найти ваши файлы Linux в папке AppData, но Microsoft предостерегает от этого. Изменение файлов здесь может сломать установленный Linux. Теперь есть более простой и официальный способ получить доступ к этим файлам с помощью инструментов Windows — без риска что-либо сломать!
Крейг Лоуэн из Microsoft объясняет, как это работает: Вместо прямого доступа к этим файлам Windows запускает сервер Plan 9 как часть программного обеспечения WSL в фоновом режиме. В Windows 10 есть «служба и драйвер Windows, которые действуют как клиент и общаются с сервером Plan9». Этот сервер переводит ваши файловые операции и обрабатывает метаданные Linux, такие как права доступа к файлам, гарантируя, что всё работает правильно, даже когда вы обращаетесь к файлу с помощью инструмента Windows. Но это просто сложные вещи, которые происходят на заднем плане, и вам не нужно об этом думать.
Вы можете открыть окно проводника прямо в текущем каталоге из среды оболочки Linux. Просто введите следующую команду в оболочку Bash:
Отсюда вы можете нормально работать с файлами. Используйте перетаскивание, копируйте и вставляйте их или даже открывайте их непосредственно в приложениях Windows, чтобы изменить их.
Microsoft может изменить то, как это работает в будущем. Но пока вы также можете ввести следующий путь в окно проводника для доступа к файлам дистрибутива Linux:
Другими словами, если вы используете оболочку Bash в Ubuntu 18.04, вы должны ввести:
Это, конечно, также работает из командной строки. В PowerShell или командной строке
Пользователи подсистемы Windows для Linux давно хотели получить эту функцию. Ещё в 2016 году Рич Тернер из Microsoft писал, что ему приходилось предупреждать людей, чтобы они не открывали свои файлы Linux в проводнике по крайней мере два или три раза в день. Теперь, наконец, появился способ работать с этими файлами, не рискуя что-то сломать.
Доступ к сетевым приложениям с помощью WSL
При работе с сетевыми приложениями (будь то получение доступа к сетевому приложению Linux из приложения Windows или получение доступа к сетевому приложению Windows из приложения Linux) необходимо учитывать несколько моментов. Вам может потребоваться определить IP-адрес используемой виртуальной машины, который будет отличаться от IP-адреса локального физического компьютера.
Доступ к сетевым приложениям Linux из Windows (localhost)
Если вы создаете сетевое приложение (например, приложение, работающее на NodeJS или SQL Server) в дистрибутиве Linux, вы можете получить к нему доступ из приложения Windows (например, используя Microsoft Edge или Chrome) с помощью localhost (как обычно это и происходит).
Тем не менее, если вы используете более раннюю версию Windows (сборка 18945 или меньше), вам потребуется получить IP-адрес виртуальной машины узла Linux (или обновить ее до последней версии Windows).
Чтобы найти IP-адрес виртуальной машины, содержащей дистрибутив Linux, выполните следующие действия.
На изображении ниже показан пример подключения к серверу Node.js с помощью браузера Edge.
Доступ к сетевым приложениям Windows из Linux (IP-адрес основной системы)
Если вы хотите получить доступ к сетевому приложению, работающему в Windows (например, к приложению, работающему на NodeJS или SQL Server) из дистрибутива Linux (напр., Ubuntu), необходимо использовать IP-адрес основной системы. Хотя это происходит и нечасто, для этого можно выполнить следующие действия.
На изображении ниже показан пример подключения к серверу Node.js под управлением Windows через cURL.
Подключение через удаленные IP-адреса
При использовании удаленных IP-адресов для подключения к приложениям они будут рассматриваться как подключения из локальной сети (LAN). Это означает, что необходимо убедиться, что приложение может принимать подключения по локальной сети.
Доступ к дистрибутиву WSL 2 из локальной сети (LAN)
При использовании дистрибутива WSL 1, если к компьютеру можно получить доступ из локальной сети, то приложения, работающие в WSL, могут быть также доступны в локальной сети.
Это нетипичная ситуация в WSL 2. В WSL 2 имеется виртуализированный адаптер Ethernet с собственным уникальным IP-адресом. В настоящее время для включения этого рабочего процесса необходимо выполнить те же действия, что и для обычной виртуальной машины. (Мы ищем способы улучшить это взаимодействие.)
Ниже приводится пример команды PowerShell, которая добавляет прокси-сервер портов, ожидающий передачи данных на порту узла 4000 и перенаправляющий все подключения на порт 4000 виртуальной машины WSL 2 с IP-адресом 192.168.101.100.
Доступ по протоколу IPv6
В настоящее время дистрибутивы WSL 2 не могут обращаться к IPv6-адресам. Мы работаем над добавлением этой возможности.
Часто задаваемые вопросы о подсистеме Windows для Linux
Общие сведения
Что такое подсистема Windows для Linux (WSL)?
подсистема Windows для Linux (WSL) — это функция операционной системы Windows, которая позволяет запускать файловую систему linux, а также программы командной строки linux и приложения GUI с графическим пользовательским интерфейсом непосредственно на Windows, наряду с традиционными Windows настольными системами и приложениями.
Чтобы узнать больше, ознакомьтесь со страницей сведений.
Для кого предназначена WSL?
Что можно сделать с помощью WSL?
Опишите типичный рабочий процесс разработки с использованием WSL
Подсистема WSL нацелена на аудиторию разработчиков и предназначена для использования в рамках внутреннего цикла разработки. Предположим, что Сэм создает конвейер CI/CD (непрерывная доставка с постоянной интеграцией & ) и хочет сначала протестировать ее на локальном компьютере (переносной компьютер) перед развертыванием в облаке. Сэм может включить WSL ( & WSL 2 для повышения скорости и производительности), а затем использовать подлинный экземпляр Linux Ubuntu локально (на переносном компьютере) с использованием любых команд Bash и средств, которые они предпочитают. После проверки конвейера разработки в локальной среде Семен может отправить этот конвейер CI/CD в облако (т. е. в Azure), сделав его контейнером Docker и отправив в облачный экземпляр, где он будет выполняться на рабочей виртуальной машине Ubuntu.
Что такое Bash?
Bash — это популярная текстовая оболочка и язык команд. Это оболочка по умолчанию, входящая в состав Ubuntu и других дистрибутивов Linux, а также в macOS. Пользователи могут вводить команды в оболочке для выполнения сценариев и (или) команд и инструментов, чтобы выполнять множество задач.
Как это работает?
Зачем использовать WSL вместо Linux в виртуальной машине?
WSL требует меньше ресурсов (ЦП, памяти и хранилища), чем полноценная виртуальная машина. WSL также позволяет запускать программы командной строки и приложения Linux вместе с приложениями командной строки, классическими приложениями и приложениями Store для Windows, а также позволяет обращаться к файлам Windows в Linux. Это позволяет использовать приложения для Windows и программы командной строки Linux для одного и того же набора файлов, если требуется.
Зачем использовать, например, Ruby в Linux, а не Ruby в Windows?
Некоторые кроссплатформенные инструменты были созданы, исходя из предположения, что среда, в которой они выполняются, работает как Linux. Например, некоторые инструменты предполагают, что имеют доступ к очень длинным путям к файлам или что существуют определенные файлы и папки. Это часто вызывает проблемы в среде Windows, которая нередко ведет себя иначе, чем в Linux.
Многие языки, такие как Ruby и Node.js, часто переносятся на Windows и работают отлично. Тем не менее, не все владельцы библиотек Ruby Gem или node/NPM переносят свои библиотеки для поддержки Windows, и многие из них имеют зависимости, относящиеся к Linux. Это часто может привести к тому, что системы, созданные с помощью таких инструментов и библиотек, становятся подвержены ошибкам во время сборки, а иногда — во время выполнения, либо не работают в Windows требуемым образом.
Это лишь часть проблем, из-за которых многие пользователи просят корпорацию Майкрософт улучшить программы командной строки Windows, а мы стали партнерами с Canonical, чтобы обеспечить выполнение собственных программ командной строки Linux и Bash в Windows.
Что это означает для PowerShell?
При работе с проектами OSS существует множество сценариев, в которых чрезвычайно полезно перейти в Bash из командной строки PowerShell. Поддержка Bash дополняет и расширяет возможности командной строки в Windows, позволяя использовать PowerShell, а сообществу PowerShell — применять другие популярные технологии.
Дополнительные сведения см. в блоге группы разработчиков PowerShell: Bash for Windows: Why it’s awesome and what it means for PowerShell (Bash для Windows: почему это здорово и что это значит для PowerShell)
Какие процессоры поддерживает WSL?
WSL поддерживает процессоры x64 и ARM.
Как получить доступ к моему диску C?
точки подключения для жестких дисков на локальном компьютере создаются автоматически и обеспечивают простой доступ к Windows файловой системе.
/МНТ/ буква диска > /
Пример использования — команда cd /mnt/c для доступа к диску C:\
Как настроить диспетчер учетных данных Git? (Как использовать разрешения Windows Git в WSL?)
см. руководство приступая к работе с git на подсистема Windows для Linux, в котором описывается настройка диспетчера учетных данных Git и сохранение маркеров проверки подлинности в Windows диспетчере учетных данных.
Как использовать файл Windows в приложении Linux?
Одним из преимуществ WSL является возможность доступа к файлам с помощью приложений или инструментов Windows и Linux.
Отличаются ли файлы на диске Linux от файлов на подключенном диске Windows?
Файлы в корне Linux (т. е. / ) контролируются WSL, который соответствует поведению Linux, включая, помимо прочего, следующие:
Файлы на подключенных дисках контролируются Windows и имеют следующие характеристики:
Как удалить дистрибутив WSL?
Кроме того, вы можете удалить приложение дистрибутив Linux на компьютере так же, как и любое другое приложение Магазина.
Дополнительные сведения о командах WSL см. в статье основные команды для WSL.
Как запустить сервер OpenSSH?
OpenSSH поставляется с Windows в качестве дополнительного компонента. См. документацию по Install OpenSSH doc. для запуска OpenSSH в WSL требуются права администратора в Windows. чтобы запустить сервер OpenSSH, запустите WSL distribution (ie Ubuntu) или Терминал Windows с правами администратора. Существует несколько ресурсов, охватывающих сценарии SSH с WSL. ознакомьтесь со статьями блогов скотта Hanselman: как ssh-подключение к Windows 10 машине из Linux или Windows или из любого места, как ssh в WSL2 на Windows 10 с внешнего компьютера, простой способ подключения ssh к Bash и WSL2 на Windows 10 с внешнего компьютераи как использовать Windows 10 — Это встроенная служба OpenSSH для автоматического подключения по протоколу SSH к удаленному компьютеру Linux.
Как изменить язык интерфейса WSL?
Установщик WSL попытается автоматически изменить языковой стандарт Ubuntu в соответствии с языковым стандартом установки Windows. Если это нежелательно, можно выполнить приведенную ниже команду, чтобы изменить языковой стандарт Ubuntu после завершения установки. Чтобы это изменение вступило в силу, потребуется перезапустить дистрибутив WSL.
В приведенном ниже примере языковой стандарт изменяется на EN-US.
Почему у меня нет доступа к Интернету из WSL?
Некоторые пользователи сообщили о проблемах с определенными приложениями брандмауэра, блокирующими доступ к Интернету в WSL. Сообщили о следующих брандмауэрах:
В некоторых случаях отключение брандмауэра обеспечивает доступ. В некоторых случаях доступ блокируется просто при наличии установленного брандмауэра.
Как получить доступ к порту из WSL в Windows?
WSL использует IP-адрес Windows, так как работает в Windows. Поэтому вы можете получить доступ к любым портам на localhost. Например, если вы предоставляете веб-содержимое через порт 1234, то вы можете открыть адрес https://localhost:1234 в браузере для Windows. Дополнительные сведения см. в разделе доступ к сетевым приложениям.
Как выполнить резервное копирование дистрибутивов WSL или переместить их с одного диска на другой?
обратите внимание, что традиционные службы резервного копирования, которые файлы резервных копий в папках AppData (например, программа архивации данных), не будут повредить файлы Linux.
WSL 2
Использует ли подсистема WSL 2 Hyper-V? Будет ли она доступна в Windows 10 Домашняя?
WSL 2 доступен во всех sku настольных систем, где доступен WSL, включая Windows 10 Домашняя.
Последняя версия WSL использует архитектуру Hyper-V для включения виртуализации. Эта архитектура будет доступна в качестве дополнительного компонента Virtual Machine Platform (Платформа виртуальной машины). Этот необязательный компонент будет доступен во всех номерах SKU. Более подробную информацию об этом интерфейсе можно получить ближе к выпуску WSL 2.
Что произойдет с подсистемой WSL 1? Будет ли прекращена ее поддержка?
В настоящее время не планируется объявлять подсистему WSL 1 нерекомендуемой. Вы можете запускать дистрибутивы WSL 1 и WSL 2 параллельно, обновлять их и переходить на более раннюю версию дистрибутива в любое время. Добавление WSL 2 в качестве новой архитектуры для команды WSL представляет собой лучшую платформу, которая предоставляет отличные возможности для запуска среды Linux в Windows.
Смогу ли я запускать WSL 2 с другими сторонними инструментами виртуализации, такими как VMware или VirtualBox?
Если Hyper-V уже используется, то некоторые сторонние приложения не могут работать. Соответственно, они не смогут выполняться при включенном WSL 2, например VMware и VirtualBox. Но недавно вышли новые выпуски VirtualBox и VMware, поддерживающие Hyper-V и WSL2. Дополнительные сведения об изменениях VirtualBox см. здесь, а об изменениях VMware см. здесь. Сведения об устранении неполадок можно найти в обсуждениях проблем с VirtualBox в репозитории WSL на GitHub.
Мы постоянно работаем над решениями для поддержки интеграции Hyper-V от сторонних производителей. Например, мы предоставляем набор API-интерфейсов (платформа гипервизора), который сторонние поставщики виртуализации могут использовать для обеспечения совместимости своего программного обеспечения с Hyper-V. Это позволяет приложениям использовать архитектуру Hyper-V для своих эмуляций, например Google Android Emulator, а также VirtualBox 6 и более поздней версии, которые теперь совместимы с Hyper-V.
Дополнительные сведения о проблемах с WSL 2 в VirtualBox 6,1см. в репозитории проблем WSL.
* если вы ищете Windows 10 виртуальную машину, в Windows Центр разработки доступнызагрузки виртуальных машин VMWare, Hyper-V, VirtualBox и parallels.
Могу ли я получить доступ к GPU в WSL 2? Планируется ли усилить поддержку оборудования?
Мы выпустили поддержку для доступа к GPU в дистрибутивах WSL 2. Это означает, что теперь вы можете использовать WSL для сценариев с применением машинного обучения, искусственного интеллекта, а также обработки и анализа данных, если задействованы большие наборы данных. Ознакомьтесь с руководством по началу работы с решениями с поддержкой GPU. Сейчас WSL 2 не включает последовательную поддержку или поддержку USB-устройств. Мы определяем оптимальный способ добавления этих функций.
Может ли WSL 2 использовать сетевые приложения?
Да, в целом сетевые приложения будут работать быстрее и лучше, так как у нас есть полная совместимость системных вызовов. Однако в новой архитектуре используются виртуализированные сетевые компоненты. Это означает, что первоначальная ознакомительная версия сборки WSL 2 будет вести себя аналогично виртуальной машине, например, в WSL 2 будет IP-адрес, отличный от того, на котором размещен хост-компьютер. Мы стремимся сделать WSL 2 похожим на WSL 1, что включает в себя повышение производительности сети.
Можно ли запустить WSL 2 на виртуальной машине?
Да! Необходимо убедиться, что на виртуальной машине включена вложенная виртуализация. Ее можно включить в родительском узле Hyper-V, выполнив следующую команду в окне PowerShell с правами администратора:
Не забудьте заменить именем своей виртуальной машины.
Можно ли использовать wsl.conf в WSL 2?
Куда можно отправить отзыв?
Кроме того, вы можете сделать следующее:
Если вы хотите оставаться в курсе последних новостей WSL, используйте следующее:









