Wsl где хранятся файлы

Обновлено: 30.06.2024

Сайт KV.BY опубликовал статью о подсистеме Windows Subsystem for Linux (WSL), предназначенной для запуска Linux-программ в ОС Windows 10. Упор в статье сделан на последнюю версию этой подсистемы WSL2.

Windows – это Linux

Как говорили древние греки, всё меняется и ничто не остаётся на месте. Многие ещё помнят те времена, когда операционная система GNU/Linux была для «Майкрософт» чем-то вроде красной тряпки для быка. Бывший руководитель рэдмондского гиганта Стив Балмер называл всё, что связано с детищем Линуса Торвальдса, не иначе как «раковой опухолью». Однако прошло не так уж и много времени после таких заявлений, и вот уже как три года корпорация «Майкрософт» является платиновым участником консорциума Linux Foundation – организации, занимающейся развитием и стандартизацией ядра Linux.

Мало того, в операционной системе Windows 10 появилась специальная программная подсистема Windows Subsystem for Linux (WSL). Эта подсистема позволяет в Windows запускать программы GNU/Linux в двоичном исполняемом формате ELF-64. В результате пользователям десятых «Форточек» становятся доступно программное обеспечение Linux-дистрибутивов, начиная со скриптов Bash и заканчивая службами наподобие Docer.

Windows Subsystem for Linux

Windows Subsystem for Linux

Поводом для произошедших перемен в политике корпорации, без сомнения, стала популярность мобильной операционной системы Android, основанной на ядре Linux. Но причина, по которой в Рэдмонде произошёл поворот в сторону Linux-сообщества, лежит не только в области мобильных операционных систем.

«Developers, developers, developers!»

Существует два способа запускать Linux-приложения в Windows. Первый способ предполагает перекомпиляцию Linux-программ в исполняемый формат exe-файлов. Благо большая часть программ Open Source является кроссплатформенной и свободно собирается под разные операционные системы. Примером первого способа можно назвать проекты Cygwin или MinGW – коллекции специально скомпилированных для Windows приложений UNIX.

Второй способ предполагает использование эмуляции и виртуализации, что позволяет запускать полноценный Linux-дистрибутив в специальной виртуальной среде. WSL – это и есть второй способ. Здесь используются как эмуляция ядра Linux, так и технологии виртуализации.

Но, прежде чем мы рассмотрим особенности второго способа, отметим, что в Windows 10 присутствует и первый способ. С недавнего времени тихо и незаметно в штатный состав «Десятки» входят три классические консольные UNIX-утилиты curl.exe, tar.exe, openssh.exe.

Утилиты curl.exe, tar.exe, openssh.exe в Windows 10

Утилиты curl.exe, tar.exe, openssh.exe в Windows 10

Выбор этих консольные утилит явно указывает на тот класс пользователей, ради которых «Майкрософт» и затеяла всю эту эпопею с запуском в «Форточках» программ Linux. Программы Curl, tar и openssh – популярные инструменты у веб-разработчиков. Именно для них и для веб-разработки создают в Рэдмонде подсистему Windows Subsystem for Linux.

Как правило, веб-разработчики используют для своей работы Windows. Однако их клиенты и заказчики в основном пользуются хостингом на Linux. И для веб-разработчики в среде Windows приходится использовать что-то вроде Denver и XAMP, или же запускать программы виртуализации VMware и VirtualBox, или же использовать на компьютере двойную загрузку с системами Linux. Или уже наметилась устойчивая тенденция для веб-разработки переходить на Mac OS, в которой имеется полноценное POSIX-ядро, позволяющее без лишних телодвижений запустить все консольные скрипты и программы, необходимых для современных веб-кодеров.

Поэтому основная цель WSL – удержать веб-разработчиков на Windows, предоставив им удобную и комфортную среду запуска всех консольных скриптов, программ и примеров с GitHub и StackOwerflow. (Кстати GitHub с недавних пор тоже под контролем Microsoft).

Главная особенность WSL

Технологиями виртуализации давно никого не удивишь. Если подсистема WSL основана на технологиях виртуализации, то возникает основной вопрос: чем Windows Subsystem for Linux лучше того же VirtualBox?

Преимущество WSL не только в том, что пользователю Windows 10 теперь не требуется устанавливать и настраивать отдельные программы для создания виртуальных машин, довольствуясь штатными средствами виртуализации. Основным достоинством WSL является очень тесная и бесшовная интеграция работы приложений Linux в системе Windows. WSL настолько глубоко интегрирует виртуальную среду выполнения Linux-программ в операционную систему Windows 10, что эти программы становятся мало отличимы от приложений Windows на уровне пользовательского интерфейса. Хотя эта бесшовность даётся не легко.

Ниже рассмотрим эту бесшовность и прозрачность более детально. Все инструкции в этой статье для работы с WSL актуальны для сборки Windows 10 18917 и более поздних версий. Проверить номер своей сборки Windows 10 можно командой «ver» в приложении «Командная строка».

Настройка WSL

Настраивать подсистему WSL практически не нужно. Виртуальная среда WSL в процессе работы настроится автоматически и незаметно для пользователя.

Единственное, нужно проверить включение компонентов «Подсистема Windows для Linux» и «Платформа виртуальной машины» через «Панель управления -> Программы и компоненты -> Включение или отключение компонента Windows».

Включение WSL

Включение WSL

WSL работает только в 64-разрядных версии Windows 10, начиная с редакции «Домашняя» для процессоров x64 и ARM. Подсистема не работает в безопасном S-режиме Windows 10.

Загрузка дистрибутива

Как известно программы для Linux распространяются в составе дистрибутивов, наиболее популярными из которых можно назвать Fedora, Debian, Ubuntu, OpenSUSE. Поэтому чтобы начать работу с WSL следует загрузить и установить базовый набор приложений какого-либо дистрибутива и затем штатным менеджером пакетов установить нужные программы.

Дистрибутивы Linux для WSL устанавливаются прямо из магазина приложений Windows Store так же, как и программы Windows. По поисковому запросу «linux» в магазине появится список дистрибутивов для выбора. На текущий момент в магазине представлено уже около дюжины дистрибутивов. Выбираем нужный дистрибутив, – например Ubuntu-18.04, – и нажимаем кнопку «Получить».

Ubuntu-18.04 в Windows Store

Ubuntu-18.04 в Windows Store

Загрузится около 200 мегабайт файлов для базовой системы. В главном меню «Пуск», в «плитках» и на рабочем столе наравне с иконками Windows-программ появится иконка Linux-дистрибутива.

Иконки дистрибутива Linux в Windows 10

Иконки дистрибутива Linux в Windows 10

Удаление дистрибутива происходит также как и удаление Windows-программ – через контекстное меню «плитки» дистрибутива в меню «Пуск».

Отметим, что в редакциях Windows 10 для предприятий, в которых нет Windows Store, дистрибутивы Linux для WSL можно скачать и установить посредством специальных команд Power Shell. В этой статье для краткости мы данный метод рассматривать не станем.

Первый запуск WSL

Подсистема WSL предназначена для запуска консольных программ Linux с интерфейсом командной строки. Для программ с графическим интерфейсом необходимо устанавливать дополнительное ПО, о чём будет сказано ниже.

При первом запуске установленного дистрибутив откроется приложение «Командная строка», в котором запустится командный интерпретатор установленного дистрибутива – обычно это bash. Будет предложено подождать одну или две минуты для завершения установки. На последнем этапе после завершения установки необходимо создать новую учетную запись пользователя Linux-системы, который будет использоваться по умолчанию подсистемой WSL, и задать пароль. После чего с установленной системой Linux можно работать.

Начальная инициализация WSL-дистрибутива

Начальная инициализация WSL-дистрибутива

Запустить установленную систему Linux можно в приложении «Командная строка» с помощью команд «bash.exe», «wsl.exe» или «<имя дистрибутива>.exe» (не во всех дистрибутивах работает). Самой продвинутой является команда «wsl.exe», так как с её помощью доступны все возможные операции с подсистемой WSL.

Пример вывода команды “wsl -l”

Пример вывода команды “wsl -l”

WSL1 и WSL2

После установки и первого запуска любой системы обычно всегда делается обновление ПО. Например, для Ubuntu обновление делается командами:

В первых версиях WSL пользователи столкнулись с неприятным фактом, что это обновление происходило очень медленно. Операция замены пары сотен мегабайт могла затянуться на долгое время. Резкое снижение производительности было характерно также и для других приложений, требующих большого числа файловых операций – Git, Node.js и других.

Такая низкая скорость файловых операций объяснялась тем, что первая версия WSL использовала эмуляцию ядра Linux на уровне API Windows. Также подсистема WSL эмулировала метаданные файловой системы дистрибутива Linux.

На практике оказалось, что такая эмуляция не обеспечивает высокую скорость файловых операций для систем Linux. Поэтому, начиная со сборки Windows 10 18917, используется новая архитектура WSL2, которая основана на технологиях виртуализации Microsoft Hyper-V. Другими словами теперь для каждого установленного дистрибутива Linux подсистема WSL запускает отдельную легковесную виртуальную машину и отдельный виртуальный диск. При этом для этой виртуальной машины используется настоящее ядро Linux, а не эмуляция на уровне системных вызовов Windows. В результате для WSL2 удалось повысить производительность файловых операций по сравнению с WSL1 на порядок.

На текущий момент в Windows 10 присутствуют обе версии подсистемы – и WSL1, и WSL2. Рекомендуется использовать WSL2.

Пример вывода команды “wsl -l -v”

Пример вывода команды “wsl -l -v”

Одиночное и смешанное выполнение программ

Самое важное и интересное в WSL – это одиночное и смешанное выполнение программ Linux из среды Windows и наоборот.

Чтобы выполнить какую-либо программу из установленного дистрибутива Linux, совсем не обязательно запускать терминальную сессию Linux. Можно просто передать имя Linux-программы в качестве аргумента для wsl.exe и она будет выполнена прямо в контексте командной строки Windows.

Примеры одиночного выполнения Linux-программ

Примеры одиночного выполнения Linux-программ

При этом программа для Linux выполнится в том же каталоге, в котором находится интерпретатор «Командная строка», от имени пользователя WSL по умолчанию с правами вызывавшего её интерпретатора. То есть если «Командная строка» запущена с правами Администратора Windows, то и запущенная здесь программа для Linux будет иметь права Администратора.

Возможно и обратное – вызов двоичных файлов Windows из консоли Linux. Поэтому из командного интерпретатора Linux, например, набрав команду «notepad.exe» можно запустить «Блокнот», который будет запущен с правами активного пользователя Windows.

Запуск “Блокнота” из консоли Linux

Запуск “Блокнота” из консоли Linux

Мало того, можно объединять программы Linux и программы Windows через механизм конвейера pipe. То есть можно соединять выход Linux-программы с входом Windows-программы и наоборот.

Пример 1, cmd. Выход Windows-программы «dir» направляем на вход Linux-утилиты «grep»:

Пример 2, bash. Выход Linux-программы «cat» направляем на вход Windows-утилиты «findstr»:

Такая тесная интеграция программ Windows и Linux с помощью WSL позволяет, например, писать смешанные скрипты BASH и Power Shell. Или интегрировать инструменты Linux в средства разработки Windows.

Доступ к файлам

WSL предоставляет доступ из оболочки bash Linux ко всем дискам и всей файловой системе Windows. Локальные диски автоматически монтируются в каталог «/mnt». Например, диск «C:» монтируется как «/mnt/c».

USB-флэшки не монтируются автоматически в каталог «/mnt». Их нужно монтировать с помощью плагина drvfs. Например, монтирование флэш-диска H:

Файлы WSL-дистрибутивов Linux можно найти в папке «C:\Users\имя_пользователя\AppData\Local\Packages\». Они будут находиться в папках с названиями вида «CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc». Если используется версия WSL1, то файлы Linux-системы там будут находиться как есть в прямом доступе из Windows. Но категорически не рекомендуется их трогать в обход WSL, так как Windows не обработает специфические метаданные этих файлов.

В случае версии WSL2 в папке дистрибутива будет расположен файл образа виртуального жёсткого диска. Если в командном интерпретаторе запустить команду «explorer.exe .» с точкой в качестве аргумента, то откроется «Обозреватель» Windows, в котором отобразится файловая система текущего дистрибутива Linux как сетевой ресурс вида «\wsl$\<название дистрибутива>».

WSL-диск как сетевой ресурс Windows

WSL-диск как сетевой ресурс Windows

Другими словами, передать приложению Windows какой-либо файл из WSL-дистрибутива можно по сетевому пути к этому файлу.

Сеть и сетевые приложения

Версия WSL1 использует IP-адрес Windows. Сетевой стек у подсистемы WSL1 общий с Windows. Сервер, поднятый в Linux, будет доступен на localhost в Windows и наоборот.

Если дистрибутив использует версию WSL2, то уже потребуется найти IP-адрес виртуальной машины, чтобы подключить дистрибутив по этому IP-адресу. Это можно сделать, выполнив в Linux-системе команду «ip addr» и через поиск строки «eth0» найти адрес по значению «inet».

Доступ к веб-серверу Python для WSL из Windows

Доступ к веб-серверу Python для WSL из Windows

WSL и программы с графическим интерфейсом

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

Тем не менее, энтузиасты вполне успешно запускают графические программы в WSL, устанавливая и запуская сторонние порты X-сервера для Linux – например VcXsrv.

VcXsrv – X-сервер для Windows

VcXsrv – X-сервер для Windows

В сети Интернет немало инструкций по запуску в WSL графических Linux-программ. Большая часть этих инструкций написана для WSL1, но с появлением второй версии подсистемы они устарели. Ниже последовательность действий для настройки X-сервера VcXsrv для подсистемы WSL2.

  1. Находим в Сети, скачиваем и устанавливаем X-сервер VcXsrv.
  2. В WSL-дистрибутиве через пакетный менеджер устанавливаем какую-нибудь программу с графическим интерфейсом – например, Nautilus GNOME.
  3. В настройках брандмауэра Защитника Windows «Пуск > Параметры > Обновление и безопасность > Безопасность Windows > Брандмауэр и защита сети» отключаем брандмауэр для опции «Общедоступная сеть».
  4. В Linux находим IP-адрес сервера имен nameserver, прописанный в «/etc/reslv.conf».
  1. Экспортируем переменную DISPLAY со значением nameserver из reslv.conf и номером экрана «0».
  1. Запускаем в Windows VcXsrv. Устанавливаем «0» для «Display number» и галочку для «Disable access control».
  2. В Linux из командной строки запускаем графическую программу.

WSL и программы Linux с графическим интерфейсом

WSL и программы Linux с графическим интерфейсом

Само собой, приведенный способ в запуска программ Linux с графическим интерфейсом в скором времени тоже устареет. Хотя бы потому, что подобный способ не соответствует главной задумке Windows Subsystem for Linux: использовать только штатные компоненты Windows и не требовать их сложной настройки.

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, введите^

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

Доступ к файлам Linux в Windows 10

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

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

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

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

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

WSL в PowerShell

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

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

На данный момент файлы дистрибутивов будут доступны только из 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 (WSL) — это функция операционной системы Windows, которая позволяет запускать файловую систему linux, а также программы командной строки linux и приложения GUI с графическим пользовательским интерфейсом непосредственно на Windows, наряду с традиционными Windows настольными системами и приложениями.

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

Для кого предназначена 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 .

Снимок экрана подключенного диска C

Опишите типичный рабочий процесс разработки с использованием WSL

Что такое Bash?

Bash — это популярная текстовая оболочка и язык команд. Это оболочка по умолчанию, входящая в состав Ubuntu и других дистрибутивов Linux, а также в macOS. Пользователи могут вводить команды в оболочке для выполнения сценариев и (или) команд и инструментов, чтобы выполнять множество задач.

Как это работает?

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

Зачем использовать 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.

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

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

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

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

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

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

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

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

Чтобы удалить дистрибутив из WSL и удалить все данные, связанные с этим дистрибутивом Linux, запустите, где <distroName> — это имя дистрибутив Linux, которое можно увидеть в списке в wsl -l команде.

Кроме того, вы можете удалить приложение дистрибутив 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. Сообщили о следующих брандмауэрах:

  1. Kaspersky;
  2. AVG;
  3. Avast.
  4. Symantec Endpoint Protection
  5. F-Secure

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

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

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

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

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

WSL 2 доступен во всех sku настольных систем, где доступен WSL, включая Windows 10 Домашняя.

Последняя версия WSL использует архитектуру Hyper-V для включения виртуализации. Эта архитектура будет доступна в качестве дополнительного компонента Virtual Machine Platform (Платформа виртуальной машины). Этот необязательный компонент будет доступен во всех номерах SKU. Более подробную информацию об этом интерфейсе можно получить ближе к выпуску WSL 2.

В настоящее время не планируется объявлять подсистему WSL 1 нерекомендуемой. Вы можете запускать дистрибутивы WSL 1 и WSL 2 параллельно, обновлять их и переходить на более раннюю версию дистрибутива в любое время. Добавление WSL 2 в качестве новой архитектуры для команды WSL представляет собой лучшую платформу, которая предоставляет отличные возможности для запуска среды Linux в Windows.

Если 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. Это означает, что теперь вы можете использовать WSL для сценариев с применением машинного обучения, искусственного интеллекта, а также обработки и анализа данных, если задействованы большие наборы данных. Ознакомьтесь с руководством по началу работы с решениями с поддержкой GPU. Сейчас WSL 2 не включает последовательную поддержку или поддержку USB-устройств. Мы определяем оптимальный способ добавления этих функций.

Да, в целом сетевые приложения будут работать быстрее и лучше, так как у нас есть полная совместимость системных вызовов. Однако в новой архитектуре используются виртуализированные сетевые компоненты. Это означает, что первоначальная ознакомительная версия сборки WSL 2 будет вести себя аналогично виртуальной машине, например, в WSL 2 будет IP-адрес, отличный от того, на котором размещен хост-компьютер. Мы стремимся сделать WSL 2 похожим на WSL 1, что включает в себя повышение производительности сети.

Да! Необходимо убедиться, что на виртуальной машине включена вложенная виртуализация. Ее можно включить в родительском узле Hyper-V, выполнив следующую команду в окне PowerShell с правами администратора:

Set-VMProcessor -VMName <VMName> -ExposeVirtualizationExtensions $true

Не забудьте заменить <VMName> именем своей виртуальной машины.

WSL 2 поддерживает тот же файл wsl.conf, который использует WSL 1. Это означает, что все параметры конфигурации, заданные в дистрибутиве WSL 1, такие как автоподключение дисков Windows, включение или отключение взаимодействия, изменение каталога, в котором будут подключаться диски Windows, и т. д. будут работать в WSL 2. Дополнительные сведения о параметрах конфигурации в WSL можно получить на странице " Управление распространением ". Дополнительные сведения о поддержке подключения дисков, дисков, устройств или виртуальных жестких дисков (VHD) см. в статье Подключение диска Linux в WSL 2 .

Кроме того, вы можете сделать следующее:

  • Зарегистрировать сведения о проблеме с документацией, используя репозиторий документов WSL. Чтобы внести изменения в документацию по WSL, ознакомьтесь с руководством для участников разработки портала "Документация" Майкрософт.
  • Зарегистрировать сведения о проблеме с Терминалом Windows, используя репозиторий продуктов Терминала Windows, если проблема связана с Терминалом Windows, консолью Windows или пользовательским интерфейсом командной строки.

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

Я установил подсистему Ubuntu в Windows 10 (после включения функции в настройках), но где находится корневой каталог файловой системы Ubuntu, расположенный на диске?

4 ответа

Это, похоже, изменилось с тех пор, как Bash изначально был представлен и не распространяется на дистрибутивы из Windows Store, или, может быть, он несовместим для всех систем, так как мой домашний каталог находится в другом месте:

Где - ваше имя пользователя Windows, а - ваше имя пользователя UNIX, установленное во время установки.

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

Обратите внимание, что корневой каталог может не отображаться в проводнике Windows из каталога %localappdata%. Вы должны иметь доступ к нему в любом случае, введя его в «адресной строке» проводника.

Моя машина не может найти: " C: \ Users \ \ AppData \ Local \ Lxss \ " или "% localappdata% \ Lxss \ home \ " но «C: \ Users \ \ AppData \ Local \ lxss \ " работает. И.Е. использование "lxss " NOT " Lxss " – Joe Codeswell user601770 17 August 2016 в 18:52 Моя система имеет подкаталог rootfs, но rootfs / home пуст, а ./home имеет мою учетную запись и файлы. Кажется более безопасным просто перейти к% localappdata% \ lxss, а затем исследовать оттуда, чтобы увидеть, какой у вас есть макет, а также прямой просмотр этого адреса позволяет избежать проблем с скрытой директорией lxss. – jla 1 December 2016 в 20:07 @ JoeCodeswelluser601770 Это странно. Файловые системы Windows обычно нечувствительны к регистру. Я могу ввести% localappdata% \ Lxss или% localappdata% \ lxss и оба перейти в% HOMEPATH% \ AppData \ Local \ lxss – jla 1 December 2016 в 20:10 Обратите внимание, что эта папка (lxss) не появилась в моем списке проводников Windows в папках AppData \ Local, даже если скрытые папки включены. Мне пришлось вручную вставить папку lxss в панель проводника, чтобы добраться до файлов здесь, например. отредактировать папку " url " туда – Colin D 21 December 2016 в 00:52 Кроме того, вы можете перейти на Рабочий стол, щелкнуть правой кнопкой мыши " New- & gt; Shortcut " и вставьте путь как C: \ Users \ yourname \ AppData \ Local \ lxss \ home \ yourname – Colin D 21 December 2016 в 00:57

Если вы устанавливаете Linux из MS Market:

Бесплатный Ubuntu в магазине Windows Free Open Suse в хранилище Windows

разместил дистрибутивы под:

[d7 ] Установленный по умолчанию дистрибутив:

Корень Linux глубже:

PS. Я использовал Cygwin для изучения разделов реестра.

Единственное, что сработало для меня, было %localappdata%\lxss\home\, где - ваше имя пользователя BASH, которое вы дали ему во время установки. По какой-то причине после отображения lxss скрытой папки в C:\Users\WINDOWS-USER\AppData\Local\ отказывается, а также дает полный путь C:\ к окнам и имя пользователя BASH тоже не работает.

И создайте ярлык на рабочем столе для что работает.

wow хороший наконечник, имел ту же самую проблему – Nicolas Mommaerts 19 February 2018 в 16:08

Вы можете быстро открыть Bash из окна File Explorer открытой папки, набрав bash в строке местоположения.

Также вы можете добавить контекст пункт меню. Я лично не рекомендую его, если не нужно, потому что добавление ярлыков в контекстное меню использует больше оперативной памяти.

Читайте также: