Wsl set version kali linux 2 не существует распределения с указанным именем

Обновлено: 03.07.2024

Предлагаю разобрать установку Kali Linux в ОС Windows 10 версии 2004 или выше, с графической оболочкой Win-KeX, поддержка интернета, звука, запуск приложений из терминала.

WSL (Windows Subsystem for Linux) - слой совместимости для запуска Linux-приложений (двоичных исполняемых файлов в формате ELF) в Windows 10.
WSL 2 - новая версия архитектуры в Windows Subsystem for Linux, которая изменяет способ взаимодействия дистрибутивов Linux с Windows.
Win-KeX - Kali Desktop Experience для Windows (рабочий стол Kali с графическим пользовательским интерфейсом).

Уже говорил, когда вели установку Kali Linux из магазина приложений Windows (способ для WSL) ссылка что мне не совсем понятно, зачем Microsoft Corporation всё это замутило.

Ну, да ладно. Тема задана, возможно кому-то будет интересно.

Дорожная карта :

❶ Включите компонент «Подсистема Windows для Linux» (панель управления → программы и компоненты → включение или отключение компонентов Windows).

❷ Включите компоненты Hyper-V (панель управления → программы и компоненты → включение или отключение компонентов Windows).

❹ Запустите PowerShell от имени администратора и выполните команду:

wsl --set-default-version 2 (задаем Windows Subsystem for Linux 2 в качестве версии по умолчанию при установке нового дистрибутива Linux).

❺ Установите Kali Linux из магазина Microsoft Store.

❻ После завершения установки в PowerShell от имени администратора выполните команду:

wsl --set-version kali-linux 2 (обновляем версию Windows Subsystem for Linux для Kali Linux)

Проверка: wsl -l -v

Запустите Kali Linux:

И выполните команды (там будет еще много всяко-разных мелких деталей, поэтому смотрите ролик ):

sudo apt -y update && sudo apt dist-upgrade
sudo apt install -y kali-win-kex

Можно установить расширенную сборку Kali Linux:

sudo apt install kali-linux-large (долго, очень долго, жуть как долго).

❼ После окончание установки GUI для Kali Linux запускается командой «kex»:

❽ Запустится Kali Linux с графическим интерфейсом в полноэкранном режиме. Для выхода из полноэкранного режима можете вызвать меню клавишей F8 и отключить опцию «Full Screen».

Или нажмите Ctrl+Alt+Delete и выберите Диспетчер задач. Затем закройте процесс Win-KeX Kali Linux.

❾ Если потребуется включить русский язык интерфейса для Kali Linux:

sudo -s
apt install locales
dpkg-reconfigure locales

Выбираем стрелкой на клавиатуре ru_RU UTF-8, Пробел → Tab → Enter.

Закрываем окно терминала и окно графического интерфейса, в терминале из которого мы запускали графический интерфейс вводим:

Снова запускаем kex — интерфейс будет на русском языке.

Чтобы правильно закрыть Win-KeX и вернуться в интерфейс командной строки, выполните команду: kex kill

подсистема Windows для Linux (WSL) поддерживает запуск как угодно различных дистрибутивов Linux, которые вы хотите установить. это может включать в себя выбор дистрибутивов из Microsoft Store, импорт настраиваемого распределенияили создание собственного пользовательского распределения.

Способы запуска WSL

Существует несколько способов запустить дистрибутив Linux с WSL после установки.

  1. первый способ запуска дистрибутивов Linux — установка Терминал Windows. С помощью Терминала Windows можно открыть несколько вкладок или областей окна для просмотра нескольких дистрибутивов Linux или других командных строк (PowerShell, командная строка, Azure CLI и пр.), а также быстрого переключения между ними. Вы можете полностью настроить терминал, используя уникальные цветовые схемы, стили шрифтов, размеры, фоновые изображения и пользовательские сочетания клавиш. Подробнее.
  2. вы можете напрямую открыть дистрибутив Linux, посетив Windows меню и введя имя установленного дистрибутива. Например: Ubuntu. Это приведет к открытию Ubuntu в собственном окне консоли.
  3. в Windows командной строке или PowerShell можно ввести имя установленного дистрибутива. Например: ubuntu
  4. с помощью командной строки Windows или PowerShell можно открыть дистрибутив Linux по умолчанию в текущей командной строке, введя: wsl.exe .
  5. из Windows командной строки или PowerShell вы можете использовать дистрибутив Linux по умолчанию в текущей командной строке, не вводя новый, введя: wsl [command] . Замена [command] командой WSL, например: wsl -l -v для вывода списка установленных дистрибутивов или wsl pwd для просмотра места подключения текущего пути к каталогу в WSL. в PowerShell команда предоставит get-date дату из Windows файловой системы и предоставит wsl date дату из файловой системы Linux.

Выбранный метод должен зависеть от того, что вы делаете. если вы открыли командную строку WSL в Windows командной строке или окне PowerShell и хотите выйти, введите команду: exit .

Запуск WSL из меню

Список установленных дистрибутивов

Чтобы просмотреть список установленных дистрибутивов Linux, введите: wsl --list или wsl -l -v для получения подробного списка. Чтобы установить дистрибутив Linux по умолчанию, используемый с wsl командой, введите: wsl -s <DistributionName> или wsl --setdefault <DistributionName> замените <DistributionName> именем дистрибутива Linux, который вы хотите использовать. Например, в PowerShell введите:, wsl -s Debian чтобы задать для распределения по умолчанию значение Debian. Теперь запуск wsl npm init из PowerShell приведет к выполнению npm init команды в Debian.

Отмена регистрации и повторная установка дистрибутива

хотя дистрибутивы Linux можно устанавливать с помощью Microsoft Store, их невозможно удалить через магазин.

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

wsl --unregister <DistributionName>
Отменяет регистрацию дистрибутива в WSL, чтобы его можно было переустановить или очистить. Внимание! После отмены регистрации все данные, параметры и программное обеспечение, связанные с этим дистрибутивом, будут безвозвратно утеряны. При переустановке из Store будет установлена чистая копия дистрибутива.

Например: wsl --unregister Ubuntu приведет к удалению Ubuntu из дистрибутивов, доступных в WSL. Запуск wsl --list будет раскрывать, что он больше не указан. чтобы переустановить, найдите дистрибутив в Microsoft Store и нажмите кнопку "запустить".

Выполнение от имени определенного пользователя

wsl -u <Username> , wsl --user <Username>

Выполняет WSL от имени указанного пользователя. Обратите внимание на то, что этот пользователь должен существовать в дистрибутиве WSL.

Изменение пользователя по умолчанию для распределения

<DistributionName> config --default-user <Username>

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

Например, ubuntu config --default-user johndoe изменит пользователя по умолчанию для дистрибутива Ubuntu на пользователя "JohnDoe".

Если вам не удается определить имя дистрибутива, используйте команду wsl -l .

Запуск определенного дистрибутива

wsl -d <DistributionName> , wsl --distribution <DistributionName>

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

Настройка параметров с помощью. вслконфиг и WSL. conf

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

  • Глобально для всех установленных дистрибутивов, работающих в режиме WSL 2, с вслконфиг -файлом, хранящимся в каталоге
  • Для каждого распределения с файлом WSL. conf , хранящимся в каталоге распространения;

чтобы получить доступ к вашему %UserProfile% каталогу, в PowerShell используйте cd

для доступа к домашнему каталогу (обычно это ваш профиль пользователя C:\Users\<UserName> ) или откройте Windows проводнике и введите %UserProfile% в адресной строке. Путь к каталогу для глобальной настройки параметров WSL будет иметь значение C:\Users\<UserName>\.wslconfig .

чтобы получить доступ к /etc каталогу для установленного распространения, используйте командную строку распространения с cd / для доступа к корневому каталогу, а затем ls перечислите файлы или explorer.exe . просмотрите файл в Windows проводнике. Путь к каталогу для настройки параметров WSL для каждого распределения будет иметь значение /etc/wsl.conf .

WSL обнаружит наличие этих файлов и прочитает их содержимое. Если этот файл отсутствует или имеет неправильный формат (т. е. неправильное форматирование разметки), WSL продолжит запуск в обычном режиме.

настройка параметров для каждого распределения с помощью файла wsl. conf доступна только в Windows сборки 17093 и более поздних версий.

Параметры конфигурации распределения в WSL. conf

В wsl.conf приведенном ниже образце файла показаны некоторые параметры конфигурации, доступные для добавления в дистрибутивы.

При запуске нескольких оболочек Linux для одного и того же распространения необходимо подождать, пока подсистема Linux прекратит работу, после закрытия последнего экземпляра оболочки распространителя может потребоваться примерно 8 секунд. При запуске распространения (IE. Ubuntu), измените файл WSL. conf, закройте распространение, а затем снова запустите его. Вы можете предположить, что изменения в файле WSL. conf немедленно вступили в силу. В настоящее время это не так, так как подсистема все еще может работать. Перед повторным запуском подсистемы необходимо подождать около 8 секунд, чтобы предоставить достаточно времени для получения изменений. Вы можете проверить, не работает ли дистрибутив Linux (оболочка) после закрытия, используя PowerShell с помощью команды: wsl --list --running . Если распределения не выполняются, вы получите ответ: "нет выполняющихся распределений". Теперь можно перезапустить распространение, чтобы увидеть примененные обновления WSL. conf.

wsl --shutdown — Это быстрый путь к перезапуску дистрибутивов WSL 2, но при этом будут выключены все запущенные дистрибутивы, так что используйте их в разумном виде.

Параметры для WSL. conf

В соответствии с соглашениями об INI-файлах ключи объявляются в разделе.

WSL поддерживает четыре раздела: automount , network , interop и user .

automount

ключ value значение по умолчанию HDInsight
Включено Логическое Да true приводит к автоматическому подключению фиксированных дисков (например C:/ , D:/ ) к дрвфс в /mnt . false означает, что диски не будут подключены автоматически, но их можно подключать вручную или через fstab .
mountFsTab Логическое Да Значение true задает /etc/fstab для обработки при запуске WSL. /etc/fstab — это файл, в котором можно объявлять другие файловые системы, например общий ресурс SMB. Поэтому вы можете автоматически подключать эти файловые системы в WSL при запуске.
root Строка /mnt/ Задает каталог, в который будут автоматически подключены несъемные диски. Например, если у вас есть каталог в WSL в /windir/ и вы указали его в качестве корневого каталога, то ваши несъемные диски будут подключены в /windir/c
options разделенный запятыми список значений пустая строка Это значение добавляется в строку параметров подключения по умолчанию DrvFs. Можно указать только параметры, относящиеся к DrvFs. Параметры, которые двоичный файл подключения обычно анализирует и преобразовывает во флаг, не поддерживаются. Если вы хотите явно указать эти параметры, необходимо добавить каждый диск, для которого вы хотите это сделать, в /etc/fstab.

По умолчанию WSL задает для идентификаторов UID и GID значения пользователя по умолчанию (в дистрибутиве Ubuntu пользователь по умолчанию создается с идентификаторами UID = 1000 и GID = 1000). Если пользователь явно указывает параметр GID или UID с помощью этого ключа, связанное значение будет перезаписано. В противном случае всегда будет добавляться значение по умолчанию.

Примечание. Эти параметры применяются в качестве параметров подключения для всех автоматически подключенных дисков. Чтобы изменить параметры для конкретного диска, используйте /etc/fstab.

Параметры подключения

Задание различных параметров подключения для дисков Windows (DrvFs) позволяет контролировать определение разрешений для файлов Windows. Доступны следующие варианты:

Ключ Описание По умолчанию
uid ИД пользователя, используемый для владельца всех файлов. ИД пользователя по умолчанию для дистрибутива WSL (при первой установке имеет значение по умолчанию — 1000).
gid Идентификатор группы, используемый для владельца всех файлов. Идентификатор группы по умолчанию для дистрибутива WSL (при первой установке имеет значение по умолчанию — 1000).
umask Восьмеричная маска разрешений, исключаемых для всех файлов и каталогов. 000
fmask Восьмеричная маска разрешений, исключаемых для всех файлов. 000
dmask Восьмеричная маска разрешений, исключаемых для всех каталогов. 000
метаданные добавляются ли метаданные в файлы Windows для поддержки системных разрешений Linux disabled
case Определяет, что каталоги обрабатываются с учетом регистра, а также будут ли для новых каталогов, созданных с помощью WSL, установлен флаг. Подробное описание параметров см. в разделе чувствительность к регистру . off

Маски разрешений подвергаются логической операции ИЛИ перед применением к файлам или каталогам.

network

Метка раздела: [network]

ключ value значение по умолчанию HDInsight
generateHosts Логическое true Значение true указывает WSL создать /etc/hosts . Файл hosts содержит статическую карту имен узлов и соответствующих IP-адресов.
generateResolvConf Логическое true Значение true указывает WSL создать /etc/resolv.conf . Файл resolv.conf содержит список DNS-серверов, которые способны разрешить заданное имя узла в его IP-адрес.

interop

Метка раздела: [interop]

Эти параметры доступны в выпусках для программы предварительной оценки, начиная со сборки 17713.

ключ value значение по умолчанию HDInsight
Включено Логическое true Установка этого ключа определяет, будет ли WSL поддерживать запуск процессов Windows.
appendWindowsPath Логическое true Задание этого ключа определяет, будет ли WSL добавлять элементы пути Windows в переменную среды $PATH.

пользователь

Метка раздела: [user]

Эти параметры доступны в сборках 18980 и более поздних версий.

ключ value значение по умолчанию HDInsight
значение по умолчанию строка Начальное имя пользователя, созданное при первом запуске Задание этого параметра указывает, какой пользователь будет запускать, как при первом запуске сеанса WSL.

Параметры просмотра пользователя

эти параметры доступны только в последней предварительной версии сборки, если вы используете последние сборки программы Windows insider.

Метка раздела: [boot]

ключ value значение по умолчанию HDInsight
. строка "" Строка команды, которую вы хотите выполнить при запуске экземпляра WSL. Эта команда выполняется от имени привилегированного пользователя. Например service docker start

Глобальные параметры конфигурации с помощью. вслконфиг

вы можете добавить файл с именем .wslconfig в корневой каталог Windows (например C:\Users\crloewen\.wslconfig ,), чтобы управлять глобальными параметрами WSL в дистрибутивах Linux. См. пример файла ниже в качестве примера.

глобальные параметры конфигурации .wslconfig в доступны только для дистрибутивов, работающих как WSL 2 в Windows сборки 19041 и более поздних версий. Помните, что может потребоваться выполнить, wsl --shutdown чтобы завершить работу виртуальной машины WSL 2, а затем перезапустить экземпляр WSL, чтобы эти изменения вступили в силу.

Этот файл может содержать следующие параметры:

Параметры для. вслконфиг

Метка раздела: [wsl2]

Эти параметры влияют на виртуальную машину, на которой распространяется любое WSL 2.

записи со path значением должны быть Windows путями с escape-символами обратной косой черты, например: C:\\Temp\\myCustomKernel

Записи со size значением должны быть размером, за которым следует единица, например 8GB или 512MB .

Параметры предварительной версии параметра WSL 2

эти параметры доступны только в последней предварительной версии сборки, если вы используете последние сборки программы Windows insider.

Kali Linux с GUI в Windows 10

Уже некоторое время в Windows 10 присутствует возможность установить различные дистрибутивы Linux с помощью компонента «Подсистема Windows для Linux» или WSL, однако лишь в виде терминала без графического интерфейса. Начиная с Windows 10 2004 WSL обновился до версии 2.0, благодаря чему появились новые возможности и, в рамках этих возможностей появилась Kali Linux для WSL2 с поддержкой графического интерфейса или Win-Kex.

В этой инструкции подробно об установке графического интерфейса Kali Linux в Windows 10 версии 2004 или новее, а также дополнительная информация, например, о том, как включить русский язык интерфейса в установленной системе.

Установка Kali Linux с графическим интерфейсом в Windows 10

Порядок установки Kali Linux с графическим интерфейсом (GUI) для подсистемы Windows для Linux будет состоять из следующих шагов (напоминаю: необходима версия Windows 10 2004 или новее):

В результате запустится Kali Linux с графическим интерфейсом в полноэкранном режиме. Для выхода из полноэкранного режима можете вызвать меню клавишей F8 и отключить опцию «Full Screen».

Если вам потребуется включить русский язык интерфейса для Kali Linux, у меня сработал следующий метод:

Kali Linux WSL2 на русском языке

  1. В графическом интерфейсе Kali Linux запускаем терминал, вводим команду
  2. Выбираем ru_RU UTF-8 на двух экранах (отметку ставим пробелом, переключаемся на кнопку Ok клавишей Tab).
  3. Закрываем окно терминала и окно графического интерфейса, в терминале из которого мы запускали графический интерфейс вводим kex stop (если приглашение ввода не отображается, попробуйте изменить размер окна — у меня встретился такой баг).
  4. Снова запускаем kex — в результате интерфейс будет на русском языке.

А в целом, хотя я еще и не придумал, для чего мне это использовать (возможно, попробую запускать пакеты от bitnami для экспериментов с сайтами), но на первый взгляд всё работает исправно и быстро: быстрее, чем в виртуальной машине.

Как установить WSL 2 в Windows 10

Если вы хотите опробовать улучшенную WSL 2 (так же известную как Windows Subsystem for Linux, так же известную как слой совместимости для запуска Linux-приложений в операционной системе виндоуз) - мы обо всем расскажем. Мы собрали всю необходиму информацию. Давайте разбираться.

WSL 2 — это серьезное обновление по сравнению с исходной версией WSL, которую Microsoft представила в далеком 2017 году. WSL 2 — быстрее, универсальнее и использует настоящее ядро ​​Linux. Будущие обновления ядра Linux будут выпускаться в том числе в виде обновлений программного обеспечения Windows 10 - что вызывает некоторый когнитивный диссонанс, если вдуматься!

Цель Microsoft при создании WSL 2 - повысить производительность. И как лучше всего это сделать? Конечно же добавить полную совместимость с системными вызовами, т. е. поставить во главу угла настоящее ядро ​​Linux.

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

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

На данный момент, если только вы не опытный юзер инсайдерских сборок, WSL 2 – это тот инструмент, который не требует каких-то особых усилий для своей настройки и предоставляет в ваше полное распоряжение самую полную версию Linux непосредственно внутри Windows. По-моему, оно того стоит!

Установите WSL 2 в Windows 10


Требования

Для установки WSL 2 в Windows 10 вам понадобятся следующие вещи:

  • Windows 10 мая 2020 г. (20.04), Windows 10 мая 2019 г. (19.03) или Windows 10 ноября 2019 г. (19.09)
  • Компьютер с поддержкой виртуализации Hyper-V

Обновление Windows 10 за май 2020 года было выпущено в мае 2020 года (почувствуй себя капитаном очевидность), но не все устройства могут обновиться сразу. Чтобы узнать, доступно ли обновление Windows 10 May 2020 на вашем компьютере, перейдите в Настройки > Обновление и безопасность > Центр обновления Windows.

В августе Microsoft перенесла WSL 2 на старые версии Windows 10. Любой пользователь сборок 19.03 или 19.09 также может установить WSL 2, но сначала придется обновиться по вот этой ссылке Windows KB4566116.

Ваш компьютер также должен поддерживать виртуализацию Hyper-V для запуска WSL 2. Чтобы убедиться, вы можете проверить поддержку Hyper-V.

Для этого вам понадобиться нажмите Win + R и набрать в открывшемся диалоговом окошке команду msinfo32. Открывшийся список прокрутите до конца и найдите четыре пункта про Hiper V:

  • расширения режима мониторинга виртуальной машины;
  • расширения для преобразования адресов второго уровня;
  • виртуализация включена во встроенном ПО;
  • предотвращение выполнения данных;

Если все они имеют значение «Да», поздравляю, у вас все хорошо и ваша ось поддерживает технологию Hiper V.

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

Процесс установки WSL 2 в Windows 10 таков:

  • Включить WSL 2
  • Включите «Платформу виртуальных машин»
  • Установите WSL 2 по умолчанию
  • Установите дистрибутив Linux

Я шаг за шагом пройду по каждому из этих пунктов с помощью приложения PowerShell, которое вам нужно запустить от имени администратора. PowerShell легко найти в меню «Пуск» Windows.

Примечание: WSL 1 можно установить и с помощью графического интерфейса, но гораздо быстрее использовать командную строку, но, поскольку WSL — это инструмент командной строки, имеет смысл и устанавливать его с помощью нее!

Шаг 1. Включите WSL

Независимо от того, какую версию WSL вы хотите использовать, вам сначала нужно включить ее. Для этого откройте инструмент PowerShell от имени администратора и выполните команду ниже. Будьте осторожны, чтобы не набрать и не пропустить какой-либо символ в команде:

Если по каким-то причинам вы хотите использовать т WSL 1 – переходите к пункту 4.

Шаг 2. Включите «Платформу виртуальных машин»

WSL 2 требует, чтобы была включена функция «Платформа виртуальных машин» в Windows 10. Она отделена от Hyper-V и предоставляет некоторые из наиболее интересных интеграций платформ, доступных в новой версии подсистемы Windows для Linux.

Чтобы включить платформу виртуальных машин в Windows 10 (20.04), откройте PowerShell от имени администратора и выполните команду:

Чтобы включить платформу виртуальных машин в Windows 10 (19.03, 19.09), откройте PowerShell от имени администратора и выполните:

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

Шаг 3. Установите WSL 2 по умолчанию

Откройте PowerShell от имени администратора и выполните эту команду, чтобы установить WSL 2 в качестве версии WSL по умолчанию:

Вы можете (в любое время) настроить дистрибутив для работы в режиме WSL 1, если вам нужно.

Шаг 4. Установите дистрибутив

С WSL и необходимой технологией виртуализации все, что вам остается сделать, это выбрать и установить дистрибутив Linux из Microsoft Store.

Доступно несколько различных дистрибутивов, включая OpenSUSE, Pengwin, Fedora Remix и Alpine Linux. Но моя личная рекомендация (естественно) - Ubuntu 20.04 LTS (хотя также доступны 18.04 LTS и 16.04 LTS).

Чтобы установить Ubuntu в Windows 10, откройте приложение Microsoft Store, найдите «Ubuntu 20.04» и нажмите кнопку «Получить»:

Пока вы находитесь в Microsoft Store, я настоятельно рекомендую вам также установить приложение Windows Terminal с открытым исходным кодом. Этот инструмент разработан, чтобы предоставить вам наилучшие возможности WSL:

5. Используйте WSL 2

Когда вы устанавливали Ubuntu (или другой дистрибутив Linux), в меню «Пуск» был добавлен ярлык. Используйте его, чтобы «открыть» Ubuntu (или любой другой дистрибутив, который вы выбрали). В первый раз, когда вы запустите дистрибутив, все будет казаться ужасно медленным. Все в порядке, это норма; дистрибутив должен распаковаться и распаковать все свое содержимое – заварите чайку, подождите, только не прерывайте процесс.

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

Преобразование Ubuntu на WSL 1 в WSL 2

Если вы используете WSL 1, вы можете обновить существующую версию до WSL 2. Чтобы преобразовать существующий дистрибутив WSL 1 в WSL 2, выполните в PowerShell следующее команду:

Только замените «Ubuntu» в вышеприведённой команде названием того дистрибутива, который вы запускаете при запуске WSL 1.

Расскажите в камментах не возникло ли у вас трудностей при установке и использовании WSL2 по инструкции из этого гайда.

date

13.07.2020

directory

Linux, Ubuntu, Windows 10, Windows Server 2019

comments

комментариев 6

Windows Subsystem for Linux (WSL) — подсистема ОС Windows 10, позволяющая разработчикам, тестировщикам запускать нативные приложения Linux, писать скрипты, выполнять команды непосредственно из Windows. В обновлённой Windows 10 (2004) появилась 2я версия WSL, в которой используется полноценное ядро Linux с возможностью запуска приложений и контейнеров Docker, реализована высокая скорость загрузки, небольшой объем потребляемых ресурсов, управление в фоновом режиме, обновление ядра. Таким образом вы сможете запускать ELF64 программы, которые могут получать доступ к файловой системе Windows без использования сторонних порто (таких как Cygwin).

Образ ядра Linux (версия ядра 4.19) в Windows 10 представляет собой легкую виртуальную машину, для запуска которой не нужно ставить полноценную роль Hyper-V. Системные вызовы Linux транслируются на лету в вызовы Windows без использования эмулятора (в отличии от WSL1).

Изначально компонент WSL отключен. Чтобы его включить, вам необходимо зайти в Пуск -> Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows (Control Panel\All Control Panel Items\Programs and Features\Turn Windows features on or off), активировать галочку Подсистема Windows для Linux (Windows Subsystem for Linux), нажать кнопку ОК, и перезагрузить компьютер.

установка Windows Subsystem for LInux 2 версия в windows 10

Вы можете включить компоненты WSL в Windows 10 с помощью dism:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux

После этого также необходимо перезагрузить компьютер.

В настройка BIOS/UEFI компьютера должна быть включена поддержка аппаратной виртуализации: Intel VT (Intel Virtualization Technology) или AMD-V.

windows subsyste for linux update setup

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

wsl --set-default-version 2

Далее вам необходимо открыть Microsoft Store, в поиске ввести слово “Linux”. В появившемся списке выберите нужный дистрибутив. Доступные Ubuntu, Debian, Kali Linux, Linux Cheatsheet, SUSE Linux Enterprise Server15, openSUSE Leap 15-1, Pengwin Enterprise, Fedora Remix for WSL или другие. В нашем примере мы будем использовать Ubuntu 20.04 LTS, нажмите кнопку Получить.

образы linux для wsl в microsoft store

Если у вас отключен Windows Store или вы хотите установить дистрибутив WSL в Core редакции Windows Server, вы можете скачать дистрибутив Ubuntu с помощью PowerShell командлета Invoke-WebRequest:

Expand-Archive -Path .\ubuntu-2004.zip

Запустите установку образа Linux с помощью файла Ubuntu.exe.

Также вы можете скачать образ в виде appx файла и установить его с помощью командлета Add-AppxPackage.

После установки можно проверить используемую версию WSL с помощью команды

wsl --list –-verbose

wsl --list –-verbose список доступных образов linux

Если у вашей среды Linux указана версия 1, нужно изменить ее на WSL2 командой:

wsl --set-version Ubuntu-20.04 2

Файл жёсткого диска с образом виртуальной машины ОС Linux Ubuntu 20.04 будет располагаться в профиле пользователя: C:\Users\234\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgsc\LocalState.

После установки дистрибутива в стартовом меню появляется ярлык на него. Для запуска Ubuntu зайдите в меню Пуск, нажмите на соответствующем ярлыке и получите в отдельном окне полноценную командную оболочку Bash. Запускать WSL можно и с помощью команды wsl. При первом запуске образа в командной строке Bash вам будет предложено создать пользователя и пароль (которые не должны совпадать с учётной записью Windows). Чтобы выполнять команды с правами root, необходимо использовать дополнительный ключ (префикс) sudo. В WSL есть общие команды для Bash и CMD, и тут нужно не забывать, что система Linux чувствительна к регистру.

Вы можете выполнить Linux-команды из CMD. Для этого необходимо вначале указать “WSL”. Например, для просмотра списка файлов и папок в каталоге Windows, выполните:

запуск команд linux в windows


dir | wsl grep Sa
wsl ls ‑la > 123.txt
wsl ls ‑la /proc/cpuinfo
wsl ls ‑la “/mnt/c/Program Files”

команды linux

Также вы можете открыть проводник командой explorer.exe, калькулятор – calc.exe, блокнот – notepad.exe, paint – mspaint.exe, календарь – cal, погоду – curl wttr.in

запуск команд linux в windows 10 subsystem for linux

Ещё один пример взаимосвязи 2х систем – вы можете открыть в Windows файл из WSL-дистрибутива по сетевому пути. Для этого в CMD наберите путь к файлу:

notepad \\wsl$\Ubuntu-20.04\home\1122.txt

Из окна консоли вы можете обновить список пакетов в Ubuntu с помощью команд:

sudo apt-get update
sudo apt-get upgrade

После обновления Ubuntu папка …/LocalState будет занимать 1.5 Гб.

Из командной строки Linux можно не только просмотреть Windows-файлы и каталоги, но и получить к ним доступ. Чтобы удобнее копировать файлы, просматривать директории и их содержимое, установите файловый менеджер Midnight Commander с помощью команды

sudo apt-get install mc

Вы можете запустить Midnight Commander как в командной оболочке Bash, так и внутри CMD. На скриншоте ниже показано, что в двух панелях MC показывается список файлов с обеих ОС.

Midnight Commander в windows 10 wsl2

Можно отобрахить сетевые настройки (IP адрес) IP-адрес Linux-системы:

ip addr | grep eth0

запуск команд linux из windows

VcXsrv Windows X Server

С помощью пакетного менеджера apt-get установим несколько графических программ: например, браузер, текстовый редактор или что-то ещё:

sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11-app

Затем создайте файл в директории root:

export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk ''):0

Теперь можете запустить графические программы Linux через WSL командами:

запуск браузера firefox через WSL 2 в Windows 10

запуск графического редактора gedit в WSL

Вы можете установить в Windows 10 несколько дистрибутивов Linux и запускать одновременно в разных окнах WSL. Вывести весь перечень установленных дистрибутивов можете с помощью команды:

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

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