Windows 10 wsl где хранятся файлы

Содержание
  1. Лёгкий доступ к файлам в подсистеме Windows для Linux (WSL)
  2. Доступ к файлам WSL Linux с помощью Проводника Windows 10
  3. Часто задаваемые вопросы о подсистеме Windows для Linux
  4. Что такое подсистема Windows для Linux (WSL)?
  5. Для кого предназначена WSL?
  6. Что можно сделать с помощью WSL?
  7. Опишите типичный рабочий процесс разработки с использованием WSL
  8. Что такое Bash?
  9. Как это работает?
  10. Зачем использовать WSL вместо Linux в виртуальной машине?
  11. Зачем использовать, например, Ruby в Linux, а не Ruby в Windows?
  12. Что это означает для PowerShell?
  13. Можно ли запускать ВСЕ приложения Linux в WSL?
  14. Какие номера SKU Windows входят в WSL?
  15. Какие процессоры поддерживает WSL?
  16. Как получить доступ к моему диску C?
  17. Как настроить диспетчер учетных данных Git? (Как использовать разрешения Windows Git в WSL?)
  18. Как использовать файл Windows в приложении Linux?
  19. Отличаются ли файлы на диске Linux от файлов на подключенном диске Windows?
  20. Почему при выполнении apt-get upgrade возникает много ошибок?
  21. Как удалить дистрибутив WSL?
  22. Почему проверка связи порождает создает ошибки «Отказ в разрешении»?
  23. Как запустить сервер OpenSSH?
  24. Почему при попытке установки появляется сообщение «Ошибка:0x80040306»?
  25. Почему при запуске bash.exe после обновления Windows появляется сообщение «Ошибка: 0x80040154»?
  26. Как изменить язык интерфейса WSL?
  27. Почему у меня нет доступа к Интернету из WSL?
  28. Как получить доступ к порту из WSL в Windows?
  29. Как выполнить резервное копирование дистрибутивов WSL или переместить их с одного диска на другой?
  30. Куда можно отправить отзыв?

Лёгкий доступ к файлам в подсистеме 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 10

Публикация: 18 Февраль 2019 Обновлено: 31 Август 2020

Windows 10 версии 1903 содержит ряд интересных изменений и улучшений, внесенных в функцию WSL. К ним относятся дополнительные дистрибутивы в Магазине, возможность просматривать файлы WSL в Проводнике и многое другое.

Возможность запуска Linux в Windows 10 обеспечивается функцией WSL. WSL это — Windows Subsystem for Linux, которая изначально была ограничена только Ubuntu. Современные версии WSL позволяют устанавливать и запускать несколько дистрибутивов Linux из Microsoft Store.

После включения WSL вы можете устанавливать различные версии Linux из Магазина, используя следующие ссылки:

Ссылки на дистрибутивы в магазине microsoft:

В Windows 10 версии 1903 вы можете легко получить доступ ко всем файлам в ваших дистрибутивах Linux с помощью проводника Windows. На момент написания статьи эта функция реализована в сборке Windows 10 18836. Она находится на пути к ветви 19h1, поэтому мы увидим ее в следующей сборке. Вот как это можно сделать.

Чтобы получить доступ к файлам WSL Linux из проводника Windows 10 , выполните следующие действия.

Шаг 1: Включить функцию WSL (Подситема Windows для Linux)

Шаг 2: Установите какой-нибудь дистрибутив, например Ubuntu, и запустите его.

Шаг 3: Находясь в каталоге Linux FS, введите^

Читайте также:  Ноутбук сам включается ночью windows 10

Откроется окно проводника, расположенное внутри вашего дистрибутива Linux.

Теперь вы можете получить доступ к любым файлам Linux, так же, как и к любому другому файлу через проводник. Это включает в себя такие операции, как: перетаскивание файлов в другие места, копирование и вставка и даже использование пользовательских записей контекстного меню, добавленных Notepad ++, VSCode или другим программным обеспечением.

Проводник показывает файлы дистрибутива как виртуальный сетевой ресурс по пути \\ wsl $ \ \.

Команда WSL активно исследует способы улучшения обнаруживаемости файлов Linux внутри Проводника. Ход их работы уже можно увидеть в Windows 10 Build 18836, которая показывает файловую систему WSL / Linux в File Explorer.

Доступ к файлам Linux в командной строке

В дополнение к Проводнику вы можете использовать классическую командную строку и инструменты PowerShell для доступа к файлам Linux. Точно так же вам нужно перейти к \\wsl$\<имя дистрибутива>\, где <имя дистрибутива>— это имя работающего дистрибутива.

Известные вопросы

Это новая функция, и некоторые ее части могут не работать идеально. Вот некоторые известные проблемы, о которых мы хотим сообщить вам при использовании этой функции:

На данный момент файлы дистрибутивов будут доступны только из Windows, когда дистрибутив работает. Разработчик собирается добавить поддержку не работающих дистрибутивов в будущем обновлении.

Поскольку файловый сервер 9P работает внутри каждого дистрибутива, он доступен только тогда, когда этот дистрибутив работает. Команда ищет способы решить эту проблему.

Доступ к файлам Linux рассматривается так же, как и доступ к сетевому ресурсу, и все правила доступа к сетевым ресурсам будут по-прежнему применяться,

  • Например: при использовании CMD cd \\wsl$\Ubuntu\home не будет работать (поскольку CMD не поддерживает пути UNC, так как текущие каталоги), однако будет работать copy \\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.

Часто задаваемые вопросы о подсистеме Windows для Linux

Что такое подсистема Windows для Linux (WSL)?

Подсистема Windows для Linux (WSL) — это компонент Windows 10, позволяющий запускать собственные средства командной строки Linux непосредственно в Windows, наряду с традиционным классом Windows Desktop и приложениями.

Чтобы узнать больше, ознакомьтесь со страницей сведений.

Для кого предназначена WSL?

Это, в первую очередь, средство для разработчиков, особенно веб-разработчиков, работающих над проектами с открытым кодом или развертывания в среде Linux Server. WSL предназначен для всех, кто любит использовать Bash, общие средства Linux ( sed , и awk т. д.) и платформы Linux (Ruby, Python и т. д.), но также используют средства повышения производительности Windows.

Что можно сделать с помощью WSL?

WSL позволяет запускать Linux в оболочке bash с выбором распространения (Ubuntu, Debian, OpenSUSE, Kali, Alpine и т. д.). С помощью Bash можно запускать программы командной строки и приложения Linux. Например, введите lsb_release -a и нажмите клавишу ВВОД. Вы увидите сведения о текущем запущенном дистрибутиве Linux.

Вы можете также получить доступ к файловой системе локального компьютера из оболочки Bash в Linux — ваши локальные диски будут подключены в папке /mnt . Например, диск C: подключается в /mnt/c .

Опишите типичный рабочий процесс разработки с использованием 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 для одного и того же набора файлов, если требуется.

Читайте также:  Как изменить права доступа файла linux

Зачем использовать, например, Ruby в Linux, а не Ruby в Windows?

Некоторые кроссплатформенные инструменты были созданы, исходя из предположения, что среда, в которой они выполняются, работает как Linux. Например, некоторые инструменты предполагают, что имеют доступ к очень длинным путям к файлам или что существуют определенные файлы и папки. Это часто вызывает проблемы в среде Windows, которая нередко ведет себя иначе, чем в Linux.

Многие языки, такие как Ruby и Node, часто переносятся в 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)

Можно ли запускать ВСЕ приложения Linux в WSL?

Нет. WSL — это инструмент, предназначенный для того, чтобы позволить пользователям запускать необходимые основные программы командной строки Linux и Bash в Windows.

WSL еще не поддерживает рабочие столы и приложения графического пользовательского интерфейса (например, GNOME, KDE и т. д.). Следуйте указаниям в блоге по командной строке для обновлений.

Кроме того, хотя вы сможете запускать многие популярные серверные приложения (например, Redis), мы не рекомендуем применять WSL для размещения рабочих служб. Корпорация Майкрософт предлагает ряд других решений для запуска производственных рабочих нагрузок Linux в Azure, Hyper-V и Docker.

Какие номера SKU Windows входят в WSL?

Подсистема Windows для Linux доступна для юбилейного обновления Windows 10 и Windows 10 Creators Update для настольных компьютеров (а также для более поздних версий).

Начиная с версии Fall Creators Update компонент WSL будет доступен как для номеров SKU настольных компьютеров, так и для номеров SKU серверных продуктов Windows.

Какие процессоры поддерживает WSL?

WSL поддерживает процессоры x64 и ARM.

Как получить доступ к моему диску C?

Точки подключения для жестких дисков на локальном компьютере создаются автоматически и обеспечивают простой доступ к файловой системе Windows.

/mnt/ /

Пример использования — команда cd /mnt/c для доступа к диску C:\

Как настроить диспетчер учетных данных Git? (Как использовать разрешения Windows Git в WSL?)

Диспетчер учетных данных Git позволяет выполнять проверку подлинности на удаленном сервере Git, даже если используется сложная модель проверки подлинности, например Azure Active Directory или двухфакторная проверка подлинности. Диспетчер учетных данных Git интегрируется в поток проверки подлинности для таких служб, как GitHub, и после проверки подлинности в поставщике услуг размещения запрашивает новый маркер проверки подлинности. Затем маркер сохраняется в диспетчере учетных данных Windows с поддержкой высокого уровня безопасности. В дальнейшем диспетчер учетных данных Git можно использовать для взаимодействия с поставщиком услуг размещения без повторной проверки подлинности. Он просто обратится к маркеру в диспетчере учетных данных Windows.

Чтобы настроить диспетчер учетных данных Git для использования с дистрибутивом WSL, откройте дистрибутив и введите такую команду:

Теперь при всех операциях Git, выполняемых в дистрибутиве WSL, будет использоваться диспетчер учетных данных. Если у вас уже есть кэшированные учетные данные для узла, к ним будет выполняться доступ из диспетчера учетных данных. В противном случае отобразится диалоговое окно с запросом учетных данных, даже если вы работаете в консоли Linux.

Как использовать файл Windows в приложении Linux?

Одним из преимуществ WSL является возможность доступа к файлам с помощью приложений или инструментов Windows и Linux.

WSL подключает несъемные диски вашего компьютера к папке /mnt/ в ваших дистрибутивах Linux. Например, диск C: подключается в /mnt/c/ .

Используя подключенные диски, можно изменить код, например, в C:\dev\myproj\ с помощью Visual Studio или VS Code, а также выполнить сборку или тестирование этого кода в Linux, воспользовавшись этими же файлами в /mnt/c/dev/myproj .

Важное примечание. Одним из основных ограничений использования WSL является то, что непосредственный доступ и изменение файлов в файловой системе дистрибутивов Linux с помощью приложений или инструментов Windows не поддерживается. См. раздел Не изменяйте файлы Linux с помощью приложений и инструментов Windows

Отличаются ли файлы на диске Linux от файлов на подключенном диске Windows?

Файлы в корне Linux (т. е. / ) контролируются подсистемой WSL, которая имитирует поведение Linux, включая, помимо прочего, следующее:

  • файлы, содержащие в имени файла недопустимые знаки для Windows;
  • символические ссылки, созданные для пользователей без прав администратора;
  • изменение атрибутов файла с помощью chmod и chown;
  • учет регистра в именах файлов и папок.
Читайте также:  Библиотеки dll с иконками windows

Файлы на подключенных дисках контролируются Windows и имеют следующие характеристики:

  • поддерживают учет регистра;
  • все разрешения заданы для наилучшего отражения разрешений Windows.

Почему при выполнении apt-get upgrade возникает много ошибок?

Некоторые пакеты используют функции, которые еще не реализованы. Например, udev пока не поддерживается и вызывает несколько ошибок apt-get upgrade .

Чтобы устранить проблемы, связанные с udev , выполните следующие действия.

Введите приведенный ниже код в /usr/sbin/policy-rc.d и сохраните изменения.

Добавьте разрешения на выполнение в /usr/sbin/policy-rc.d

Выполните следующие команды.

Как удалить дистрибутив WSL?

В сборках, предшествующих сборке 1709 (16299), откройте командную строку и выполните следующую команду.

Дистрибутивы WSL, установленные из Store, можно удалить как и любое другое приложение Windows. Для этого щелкните плитку приложения правой кнопкой мыши и выберите «Удалить». Можно также воспользоваться PowerShell и выполнить Remove-AppxPackage командлет .

Почему проверка связи порождает создает ошибки «Отказ в разрешении»?

В сборках WSL, предшествующих сборке 14926, для проверки связи нужно запустить WSL из консоли с повышенными привилегиями. Эта проблема была устранена в сборке 14926 и более поздних сборках.

Как запустить сервер OpenSSH?

Для запуска OpenSSH в WSL требуются привилегии администратора в Windows. Чтобы запустить сервер OpenSSH, запустите Bash для Ubuntu в Windows от имени администратора или запустите bash.exe из командной строки или сеанса PowerShell с привилегиями администратора.

Почему при попытке установки появляется сообщение «Ошибка:0x80040306»?

WSL не поддерживает выполнение в устаревшей консоли. Чтобы отключить устаревшую консоль, выполните следующие действия.

  1. Откройте WSL, PowerShell или командную строку.
  2. Щелкните правой кнопкой мыши строку заголовка и выберите «Свойства», затем снимите флажок «Использовать прежнюю версию консоли».
  3. Нажмите кнопку «ОК».

Почему при запуске bash.exe после обновления Windows появляется сообщение «Ошибка: 0x80040154»?

Компонент «Подсистема Windows для Linux» может быть отключен во время обновления Windows. В этом случае данную функцию Windows необходимо включить заново. Инструкции по включению компонента «Подсистема Windows для Linux» можно найти в руководстве по установке.

Как изменить язык интерфейса WSL?

Установщик WSL попытается автоматически изменить языковой стандарт Ubuntu в соответствии с языковым стандартом установки Windows. Если это нежелательно, можно выполнить приведенную ниже команду, чтобы изменить языковой стандарт Ubuntu после завершения установки. Чтобы это изменение вступило в силу, потребуется повторно запустить bash.exe.

В приведенном ниже примере языковой стандарт изменяется на EN-US.

Почему у меня нет доступа к Интернету из WSL?

Некоторые пользователи сообщили о проблемах с определенными приложениями брандмауэра, блокирующими доступ к Интернету в WSL. Сообщили о следующих брандмауэрах:

В некоторых случаях отключение брандмауэра обеспечивает доступ. В некоторых случаях доступ блокируется просто при наличии установленного брандмауэра.

Как получить доступ к порту из WSL в Windows?

WSL использует IP-адрес Windows, так как работает в Windows. Поэтому вы можете получить доступ к любым портам на localhost. Например, если вы предоставляете веб-содержимое через порт 1234, то вы можете открыть адрес https://localhost:1234 в браузере для Windows.

Как выполнить резервное копирование дистрибутивов WSL или переместить их с одного диска на другой?

Лучший способ резервного копирования или переноса дистрибутивов — использование команд импорта и экспорта, доступных в Windows версии 1809 и более поздних версиях. Вы можете экспортировать весь дистрибутив в архив tarball с помощью команды wsl —export . Затем этот дистрибутив можно импортировать обратно в WSL с помощью команды wsl —import , которая позволяет присвоить имя новому расположению на диске для импорта. Благодаря этому можно создавать резервные копии и сохранять состояния дистрибутивов WSL или переносить дистрибутивы.

Обратите внимание на то, что традиционные службы резервного копирования, которые создают резервные копии файлов в папках AppData (например, программа архивации данных), не повредят файлы Linux.

Куда можно отправить отзыв?

Вы можете оставлять свои отзывы и задавать вопросы, используя несколько каналов.

Если у вас возникли технические проблемы или вы хотите запросить новые функции, перейдите к нашему средству записи проблем GitHub:

Если вы хотите оставаться в курсе последних новостей WSL, используйте следующее:

  • в наш блог команды разработчиков для командной строки;
  • Twitter. подпишитесь на @craigaloewen в Twitter, чтобы получать новости, узнавать об обновлениях и т. д.
Оцените статью