Как установить wsl 2 подсистему windows для linux 2 в windows 10

Где физически хранятся файлы внутри wsl2?

Я установил wsl2 на свой компьютер с Windows и не смог понять, где на самом деле хранятся файлы

Обратите внимание: я не хочу сказать, что хочу просматривать их в проводнике файлов — я знаю, что это можно сделать, набрав в проводнике \\wsl$\. Если бы мне пришлось угадывать, я бы сказал, что файлы хранятся на том же жестком диске, что и операционная система

Так что на самом деле у меня есть два связанных вопроса.

  1. Где хранятся файлы?
  2. Если они хранятся на жестком диске моей операционной системы, могу ли я каким-то образом переместить мой wsl на другой жесткий диск?

РЕДАКТИРОВАТЬ: Мне удалось найти путь установки, на моем компьютере путь: C:\Users\Eliran\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState

Есть ли способ установить это в другое место?

1 ответ

Все файлы хранятся в ext4.vhd файлах в каталоге установки, которые вы не можете смонтировать непосредственно в Windows, как в et4 (obv)

Есть два способа изменить расположение вышеупомянутого vhd-файла: официальный, утомительный и неофициальный, быстрый и грязный.

Официальный утомительный способ

  1. Экспортируйте дистрибутив в папку с помощью wsl.exe —export <Distro> <FileName> из CMD / PowerShell.
  2. Импортируйте дистрибутив в другое место с помощью wsl.exe —import <Distro> <InstallLocation> <FileName>

Проблема заключается в том, что это занимает довольно много времени, и после того, как вы это сделаете, молитесь, чтобы он без проблем экспортировал и импортировал несколько гигабайт тысяч файлов.

Быстрый и грязный способ

Это вызывает неофициальный WSL-менеджер с открытым исходным кодом, который называется lxrunoffline.

Чтобы установить его (занимает от минуты до максимума), прочтите инструкции разработчика здесь

Если вы установили его, вручную загрузив двоичные файлы со страницы выпуска, обязательно установите его в каталог в PATH, например C:\Windows

Теперь процесс прост, как lxrunoffline move -n <distroname> -d <destination-folder>

Сценарии доступа к файлам

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

Получение доступа к файлам в файловой системе диска Windows (DrvFS) из Linux

Эти сценарии возникают при получении доступа к файлам Windows из WSL, скорее всего с помощью .

Чтение разрешений файлов из существующего файла Windows

Результат будет зависеть от того, содержит ли файл уже существующие метаданные.

Файл DrvFS не имеет метаданных (по умолчанию)

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

Файл содержит метаданные

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

Изменение разрешений файла в существующем файле Windows с помощью команды chmod

Результат будет зависеть от того, содержит ли файл уже существующие метаданные.

Файл chmod не имеет метаданных (по умолчанию)

Файл chmod может иметь только один эффект. Если вы удалите все атрибуты записи файла, в файле Windows будет задан атрибут «только для чтения», так как это то же поведение, что и в общей файловой системе Интернета (CIFS), которая является клиентом SMB в Linux.

Файл chmod содержит метаданные

В зависимости от уже существующих метаданных файла, файл chmod будет изменен или будут добавлены метаданные.

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

Создание файла в DriveFS

Результат зависит от того, включены метаданные или нет.

Метаданные не включены (по умолчанию)

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

Метаданные включены

Биты разрешений файла задаются в соответствии с командой umask в Linux, и файл будет сохранен с метаданными.

Какому пользователю или группе Linux принадлежит файл?

Результат будет зависеть от того, содержит ли файл уже существующие метаданные.

Файл пользователя не имеет метаданных (по умолчанию)

В сценарии по умолчанию при автоподключении дисков Windows мы указываем, что идентификатору пользователя (UID) любого файла присваивается идентификатор пользователя WSL, а идентификатору группы (GID) — идентификатор главной группы пользователя WSL.

Файл пользователя содержит метаданные

Идентификаторы пользователя и группы, указанные в метаданных, применяются в качестве пользователя владельца и владельца группы файла.

Получение доступа к файлам Linux из Windows с помощью

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

Создание поля

Параметр umask по умолчанию применяется при создании файла в дистрибутиве WSL из Windows. По умолчанию параметр umask имеет значение . Или другими словами он позволяет использовать все разрешения, кроме разрешения на запись, в группах и других элементах.

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

Регистрация сведений о проблеме, отчета об ошибке, запроса на функцию

Функция обработки проблем в репозитории продуктов WSL позволяет:

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

Обратите внимание, что в строке поиска можно удалить is:open, чтобы включить в результаты поиска проблемы, которые уже были решены. Рассмотрите возможность комментирования или одобрения любых открытых проблем, чтобы выразить свою заинтересованность в их продвижении в качестве приоритетных.

Регистрировать сведения о новых проблемах

Если вы обнаружили проблему с WSL, о которой нет упоминаний, вы можете нажать зеленую кнопку New issue (Новая проблема), а затем выбрать элемент WSL — Bug Report (WSL — отчет об ошибках). Вам нужно будет включить название проблемы, номер сборки Windows (выполните , чтобы узнать номер текущей сборки), независимо от того, используете ли вы WSL 1 или WSL 2, текущую версию ядра Linux (выполните или ), номер версии дистрибутива (выполните ), а также любые другие версии используемого программного обеспечения, сведения о действиях для воспроизведения, ожидаемом поведении, фактическом поведении, а также журналы диагностики, если они доступны и применимы. Дополнительные сведения см. в разделе, посвященном вкладу в WSL.

Отправить запрос на функцию, нажав зеленую кнопку New issue (Новая проблема) и выбрав Feature request (Запрос на функцию). Вам нужно будет ответить на несколько вопросов, описывающих ваш запрос.

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

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

Доступ к файлам WSL Linux с помощью Проводника Windows 10

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

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

Команда 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.

Справочник по командной строке

Подключение определенной файловой системы

По умолчанию WSL 2 будет пытаться подключить устройство как ext4. Чтобы указать другую файловую систему, выполните команду:

Например, чтобы подключить диск в файловой системе FAT, выполните команду:

Чтобы получить список доступных файловых систем в WSL2, выполните команду: cat /proc/filesystems если диск подключен через WSL2 (файловая система Linux), он больше не доступен для подключения через драйвер ext4 в Windowsной файловой системе.

Подключение определенного раздела

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

Это работает только в том случае, если диск является основной загрузочной записью (MBR) или GPT (таблица разделов GUID). Узнайте о стилях разделов — MBR и GPT.

Подключение диска без подключения

Если схема диска не поддерживается ни одним из указанных выше параметров, можно подключить диск к WSL 2 без подключения к нему, выполнив:

Это сделает блочное устройство доступным в WSL 2, чтобы его можно было подключить вручную. Используйте lsblk для перечисления доступных блочных устройств в WSL 2.

Отсоединение диска

Чтобы отсоединить диск от WSL 2, выполните команду:

Если Diskpath параметр не указан, все подключенные диски отключаются и отсоединяются.

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.

Если 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.

Могу ли я получить доступ к 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, используйте следующее:

Другие нововведения

В дополнение к поддержке «Проводником» файловой системы Linux Microsoft добавит в Windows 10 и ряд других новых возможностей, в том числе и «песочницу». Нужна она для запуска сомнительных программ и просмотра не менее подозрительных документов в полностью безопасной среде, без риска для самой ОС и хранящейся в памяти компьютера информации. Для этого «песочница» создает временную виртуальную копию Windows 10 на ПК.

Валерий Баулин, F.A.C.C.T.: Мы унаследовали экспертизу Group-IB по всем ключевым направлениям кибербезопасности
Импортонезависимость

Не исключается и появление в весенней сборке Windows 10 1903 (второе название 19H1) обновленного браузера Edge. Разработчики переведут его на движок Chromium (используется в большинстве популярных обозревателей, включая Google Chrome и «Яндекс.браузер»), чтобы привести его к соответствию современным требованиям и веб-стандартам. При этом Edge сохранит свои название и дизайн интерфейса.

Кстати, после установки весеннего апдейта Windows 10 места на жестком диске компьютера станет на 7 ГБ меньше – этот объем система зарезервирует для файлов следующих обновлений.

Запуск инструментов Windows из Linux

WSL может запускать средства Windows непосредственно из командной строки WSL с помощью . Например, .

Приложения, выполняемые таким образом, обладают следующими свойствами.

  • Рабочим каталогом остается каталог командной строки WSL (в большинстве случаев; исключения описаны ниже).
  • Они имеют те же разрешения, что и процесс WSL.
  • Они выполняются от имени активного пользователя Windows.
  • Они отображаются в диспетчере задач Windows так, как если бы они выполнялись непосредственно из командной строки.

Исполняемые файлы Windows, выполняемые в WSL, обрабатываются аналогично собственным исполняемым файлам Linux — конвейерной передаче, перенаправлению и даже фоновому режиму работы.

Чтобы запустить средство Windows , использовать средство Linux для фильтрации результатов IPv4, а также средство Linux для удаления полей столбцов из дистрибутива Linux (например, Ubuntu), введите:

Давайте рассмотрим пример сочетания команд Windows и Linux. Откройте дистрибутив Linux (например, Ubuntu) и создайте текстовый файл: . Теперь используйте команду Linux , чтобы отобразить список файлов прямого доступа и сведения об их создании, а также средство Windows PowerShell , чтобы отфильтровать результаты и отобразить только файл :

Средства Windows должны иметь расширение файла, его регистр символов должен совпадать с регистром в имени файла и эти файлы должны быть исполняемыми. Неисполняемые файлы, в том числе сценарии пакетного выполнения и собственные команды командной строки, такие как , можно выполнять с помощью команды .

Например, отобразите список содержимого каталога C:\ файловой системы Windows, введя:

Или выполните команду , чтобы отправить запрос проверки связи на веб-сайт microsoft.com:

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

Этот способ также будет работать:

5 ответов

Для Ubuntu, установленного из магазина Windows:

VolFs используется для монтирования корневого каталога VFS, используя %LocalAppData%\lxss\rootfs в качестве резервного хранилища. Кроме того, существует несколько дополнительных точек монтирования VolF, особенно /root а также /home которые установлены с использованием %LocalAppData%\lxss\root а также %LocalAppData%\lxss\home соответственно. Причина этих отдельных подключений заключается в том, что при удалении WSL домашние каталоги не удаляются по умолчанию, поэтому все личные файлы, хранящиеся там, будут сохранены.

Ext2Fsd

Официальная страница проекта: http://wwww.ext2fsd.com/

Ext2Fsd является драйвером файловой системы ext2, написанным под линейку операционных систем Windows (2000, XP, Vista и Win7). Будучи установленным, драйвер предоставляет доступ к Linux-разделам по буквенному обозначению каждого раздела для любой из установленных под Windows программ.

Установщик программы Ext2Fsd во время инсталляции задаст вопрос о добавлении службы ext2fsd в автозагрузку операционной системы. Если согласиться с предложением инсталлятора, то данный сервис будет запускаться каждый раз при загрузке операционной системы Windows, автоматически монтируя указанные в настройках разделы Linux. Если же отказаться от такой возможности, то службу нужно будет запускать вручную в каждом случае, когда необходимо получить доступ к определенным разделам.

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

Давайте посмотрим на основное окно программы Ext2Fsd:

Если нажать горячую клавишу F7 (или перейти в меню по пути «Tools — Service Management»), можно увидеть состояние службы (включена или отключена), и несколько дополнительных настроек, которые относятся к выбранному разделу:

Давайте смонтируем раздел. Это можно выполнить двумя способами. Первый — правым щелчком мыши на выбранном разделе в списке открываем контекстное меню и выбираем «Ext2 Volume Management».

Второй способ — просто нажать горячую клавишу F3 для выделенного в списке раздела.

Откроется следующее окно:

Если раздел, к которому нужно получить доступ, находиться на съемном носителе, то необходимо выбрать пункт «Automatically mount via Ext2Mgr» в контекстном меню. В этом случае указанный раздел будет монтироваться каждый раз, когда будет подключаться съемный носитель. В случае, если нужный раздел располагается на постоянно подключенном носителе, то для его автоматического монтирования необходимо выбрать пункт «Mountpoint for fixed disk, need reboot» в контекстном меню. Выберите данный пункт и выполните перезагрузку, если это необходимо.

Перейдем в «Мой компьютер»:

Видим, что Linux-раздел (Локальный диск H) смонтирован и к нему можно получить доступ точно также, как и к любому «нормальному» Windows-разделу. Для проверки открываю указанный раздел для просмотра данных на нем:

Понравилась статья? Поделиться с друзьями:
Гуру настройки
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: