Wsl нет установленных дистрибутивов подсистемы windows для linux

Fix Windows Subsystem For Linux has no Installed Distributions on Windows 11/10. Missing or untraceable Linux distros can throw up the error.

Download PC Repair Tool to quickly find & fix Windows errors automatically

Windows 11/10 supports the installation of a number of distros that come under Windows Subsystem for Linux. But even when these distros are installed users have reported encountering Windows Subsystem for Linux has no installed distributions error. Some of the causes for this error come out to be misconfiguration with the default distro, supporting services not working, and more. This error is spotted when the wsl command is executed inside the Windows Command Prompt.

Windows Subsystem For Linux has no Installed Distributions error

If you face this error, one of these suggestions is sure to help you resolve the issue:

  1. Check the LxssManager service.
  2. Install or update the Linux distro.
  3. Enable Virtual Machine Platform optional feature.

1] Check the LxssManager service

Open the Windows Services Manager and locate the LxssManager service.

Open their Properties and ensure that their Startup type is set to be Automatic and make sure that the service is Running. If not,click on the Start button.

2] Install or update the Linux distro

You can try to download and install a suitable Linux distro for your computer from the Microsoft Store.

3] Enable Virtual Machine Platform optional feature

Open Windows PowerShell as an Administrator and execute this command:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

In case that it asks for a confirmation, to reboot your computer, hit Y to do it straight away or to do it later, hit N.

This should help!

Related: WSL stopped working with Error 0x80070003.

How do I install WSL distributions?

You can follow these steps to install WSL distributions on Windows 11/10 computers:

  • Enable the Windows Subsystem for Linux.
  • Check requirements for running WSL 2.
  • Enable Virtual Machine feature.
  • Download the Linux kernel update package.
  • Set WSL 2 as your default version.
  • Install your Linux distribution.

Why is Windows Subsystem for Linux not showing?

The Windows Subsystem for Linux is not enabled. To enable it: Open Control Panel > Programs and Features > Turn Windows Feature on or off > Check Windows Subsystem for Linux > Click OK and restart your computer.

Ezoic

Ayush has been a Windows enthusiast since the day he got his first PC with Windows 98SE. He is an active Windows Insider since Day 1 and has been a Windows Insider MVP.

Download PC Repair Tool to quickly find & fix Windows errors automatically

Windows 11/10 supports the installation of a number of distros that come under Windows Subsystem for Linux. But even when these distros are installed users have reported encountering Windows Subsystem for Linux has no installed distributions error. Some of the causes for this error come out to be misconfiguration with the default distro, supporting services not working, and more. This error is spotted when the wsl command is executed inside the Windows Command Prompt.

Windows Subsystem For Linux has no Installed Distributions error

If you face this error, one of these suggestions is sure to help you resolve the issue:

  1. Check the LxssManager service.
  2. Install or update the Linux distro.
  3. Enable Virtual Machine Platform optional feature.

1] Check the LxssManager service

Open the Windows Services Manager and locate the LxssManager service.

Open their Properties and ensure that their Startup type is set to be Automatic and make sure that the service is Running. If not,click on the Start button.

2] Install or update the Linux distro

You can try to download and install a suitable Linux distro for your computer from the Microsoft Store.

3] Enable Virtual Machine Platform optional feature

Open Windows PowerShell as an Administrator and execute this command:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

In case that it asks for a confirmation, to reboot your computer, hit Y to do it straight away or to do it later, hit N.

This should help!

Related: WSL stopped working with Error 0x80070003.

How do I install WSL distributions?

You can follow these steps to install WSL distributions on Windows 11/10 computers:

  • Enable the Windows Subsystem for Linux.
  • Check requirements for running WSL 2.
  • Enable Virtual Machine feature.
  • Download the Linux kernel update package.
  • Set WSL 2 as your default version.
  • Install your Linux distribution.

Why is Windows Subsystem for Linux not showing?

The Windows Subsystem for Linux is not enabled. To enable it: Open Control Panel > Programs and Features > Turn Windows Feature on or off > Check Windows Subsystem for Linux > Click OK and restart your computer.

Ezoic

Ayush has been a Windows enthusiast since the day he got his first PC with Windows 98SE. He is an active Windows Insider since Day 1 and has been a Windows Insider MVP.

В прошлой статье мы рассмотрели установку WSL2 под Windows 10, подробности читайте здесь.

На одном из ПК, после установки WSL2, отказался запускаться linux.

Даже если установка прошла успешно, при запуске консоли linux вы можете получить ошибку:

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

2020-09-24_12-06-12.png

В этой статье мы рассмотрим способ её исправления.

Даже если вы уже установили дистрибутив linux, при запуске из консоли, вы обнаружите, что wsl не находит установленные дистрибутивы:

C:>wsl
Нет установленных дистрибутивов подсистемы Windows для Linux.
Дистрибутивы можно установить из Microsoft Store:
https://aka.ms/wslstore

Решение довольно простое – установить linux из приложения Microsoft Strore!

Для начала удалим старый пакет, получим список всех установленных Appx

Get-AppxPackage

В самом конце вы найдете блок с вашим дистрибутивом 

Name              : TheDebianProject.DebianGNULinux
Publisher         : CN=51C4C664-ED6E-40E8-A008-10EFD2F72288
Architecture      : X64
ResourceId        :
Version           : 1.1.3.0
PackageFullName   : TheDebianProject.DebianGNULinux_1.1.3.0_x64__76v4gfsz19hv4
InstallLocation   : C:Program FilesWindowsAppsTheDebianProject.DebianGNULinux_1.1.3.0_x64__76v4gfsz19hv4
IsFramework       : False
PackageFamilyName : TheDebianProject.DebianGNULinux_76v4gfsz19hv4
PublisherId       : 76v4gfsz19hv4
IsResourcePackage : False
IsBundle          : False
IsDevelopmentMode : False
NonRemovable      : False
IsPartiallyStaged : False
SignatureKind     : Store
Status            : Ok

Нам потребуется PackageFullName, запускаем

Remover-AppxPackage TheDebianProject.DebianGNULinux_1.1.3.0_x64__76v4gfsz19hv4

Теперь запускаем Miscrosoft Store и? в поиск вводим, например, Ubuntu, так как Debian у меня уже установлен

Выбираем нужный нам образ

2020-09-24_17-09-22.png

Нажимаем Получить

2020-09-24_17-09-55.png

И ждем окончания установки

2020-09-24_17-10-40.png

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

2020-09-24_17-11-35.png

После установки программа появится в меню пуск

2020-09-24_17-12-38.png

Теперь вы сможете  запустить консоль linux

2020-09-24_17-14-06.png

Заключение

Мы рассмотрели решение проблемы с запуском, после установки WSL2 под Windows 10. В

Скорее всего у вас не возникнет проблем, но если ошибка появится, вы знаете как её исправить.

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

Подсистема Windows для Linux не имеет ошибок установленных дистрибутивов

Подсистема Windows для Linux не имеет установленных дистрибутивов

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

  1. Проверьте службу LxssManager.
  2. Установите или обновите дистрибутив Linux.
  3. Включите дополнительную функцию платформы виртуальных машин.

1]Проверьте службу LxssManager

Откройте диспетчер служб Windows и найдите LxssManager служба.

Откройте их свойства и убедитесь, что для них установлен тип запуска. Автоматический и убедитесь, что услуга Бег. Если нет, нажмите на Начинать кнопка.

2]Установите или обновите дистрибутив Linux.

Вы можете попробовать загрузить и установить подходящий дистрибутив Linux для своего компьютера с Магазин Microsoft.

3]Включить дополнительную функцию платформы виртуальных машин

Откройте Windows PowerShell от имени администратора и выполните эту команду:

Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

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

Это должно помочь!

Подсистема Windows для Linux не имеет ошибок установленных дистрибутивов

В Windows 10 может быть установлена ​​версия оболочки Unix (а именно Bash). Однако многие люди сталкивались с сообщением об ошибке «Подсистема Windows для Linux не имеет установленных дистрибутивов» при попытке использовать Bash.

Пользователь сообщил о следующей проблеме на форуме:

Я пытаюсь использовать Bash на Windows 10, но я получаю это сообщение при попытке запустить Bash:
Подсистема Windows для Linux не имеет установленных дистрибутивов. Дистрибутивы можно установить, посетив Магазин Windows: https://aka.ms/wslstore Нажмите любую клавишу, чтобы продолжить … Когда я перехожу по тому URL-адресу, который открывает приложение Магазина Windows, никаких признаков распространения Linux там нет.

Итак, это главная проблема, которая делает программу неработоспособной. Кроме того, нет никаких признаков распространения Linux в Microsoft Store.

Как исправить Windows Subsystem For Linux не имеет ошибки установленных дистрибутивов?

1. Подождите несколько минут

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

Поэтому, когда вы перезагрузите компьютер, подождите не менее 5 минут, а затем запустите программу.


Узнайте все, что нужно знать об установке Linux Bash на Windows 10!


2. Используйте командную строку для установки дистрибутивов

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

  1. Нажмите клавишу Windows и введите cmd .
  2. Щелкните правой кнопкой мыши командную строку и выберите « Запуск от имени администратора» . командная строка запускается от имени администратора
  3. Введите lxrun / install . командная строка lxrun
  4. Нажмите Y, чтобы начать загрузку.

3. Включите сервис LxssManager

Эта ошибка может появиться, если по какой-то причине служба LxssManager отключена. Включите его, как описано ниже.

  1. Нажмите клавишу Windows + R.
  2. В диалоговом окне « Выполнить » введите services.msc и нажмите « ОК» . диалоговое окно запуска служб
  3. Найдите LsxxManager и дважды щелкните по нему.
  4. Выберите тип запуска как автоматический .
  5. Нажмите Пуск и Применить .

Вывод

Как видите, ошибку «Подсистема Windows для Linux не имеет установленных дистрибутивов» можно легко устранить.

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

Считаете ли вы наши решения полезными? Как вы используете Bash на Windows 10? Дайте нам знать в комментариях ниже!

СВЯЗАННЫЕ СТАТЬИ, КОТОРЫЕ ВЫ ДОЛЖНЫ ПРОВЕРИТЬ:

  • Проблемы двойной загрузки Windows 10 и Linux: вот быстрое решение
  • Не можете установить Linux с Windows 10? Вот что делать
  • 4 великолепных эмулятора Linux для вашего ПК с Windows 10

Содержание

  • Вариант 1: Установка в полуавтоматическом режиме
    • Шаг 1: Выбор доступных дистрибутивов Linux
    • Шаг 2: Запуск инсталляции
  • Вариант 2: Установка в ручном режиме
    • Шаг 1: Предварительная настройка системы
    • Шаг 2: Загрузка и настройка ядра WSL2
    • Шаг 3: Выбор и инсталляция дистрибутива Linux
  • Вопросы и ответы

установка wsl2 в windows 10

Вариант 1: Установка в полуавтоматическом режиме

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

Важно! Приведенная ниже инструкция может быть выполнена только при условии использования Windows 10 версии 2004 (19041) и более новых. Узнать эту информацию можно в свойствах системы. Этой теме на нашем сайте посвящена отдельная статья, при необходимости ознакомьтесь с ней, перейдя по ссылке ниже.

Подробнее: Как узнать версию Windows 10

установка wsl2 в windows 10_01

Шаг 1: Выбор доступных дистрибутивов Linux

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

установка wsl2 в windows 10_02

Читайте также: Как открыть «Командную строку» от имени администратора в Windows 10

Примечание! По умолчанию всегда выбрана последняя версия дистрибутива Ubuntu. Если именно его вы и хотите установить, то пропустите этот шаг и переходите сразу ко второму.

После того как окно консоли будет открыто, впишите или вставьте в него одну из нижеприведенных команд, после чего нажмите клавишу Enter:

wsl --list --online или wsl -l -o

установка wsl2 в windows 10_03

В результатах выдачи будет приведен список всех доступных дистрибутивов Linux. На этом этапе вам необходимо запомнить или скопировать в буфер обмена название, которое находится в столбце «NAME».

Обратите внимание! Если в списке доступных дистрибутивов нет желаемого, его можно импортировать в WSL2 посредством файла TAR или APPX. При необходимости есть возможность создать собственный дистрибутив на базе ядра Linux. Эти процессы описываются в официальной документации Microsoft, при необходимости ознакомиться с ними можно, воспользовавшись ссылками ниже.

Импорт любого дистрибутива Linux для использования с WSL
Создание пользовательского дистрибутива Linux для WSL

Lumpics.ru

Шаг 2: Запуск инсталляции

После того как версия дистрибутива Linux для WSL2 была выбрана, можно переходить непосредственно к ее инсталляции. Делается это тоже в «Командной строке», для чего нужно воспользоваться приведенной ниже командой. Не забудьте после ее ввода нажать клавишу Enter.

wsl --install -d <НазваниеДистрибутива>

установка wsl2 в windows 10_04

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

wsl —install

Сразу после этого начнется процесс установки платформы виртуальной машины, затем инсталлируется «Подсистема Windows для Linux», а в завершение будет выполнена загрузка ядра WSL2.

установка wsl2 в windows 10_05

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

Вариант 2: Установка в ручном режиме

Если версия вашей операционной системы Windows 10 ниже 2004 (19041), тогда воспользоваться вышеприведенной инструкцией не получится и большинство действий придется выполнять вручную.

Шаг 1: Предварительная настройка системы

Первостепенно необходимо проверить, поддерживает ли установленная версия операционной системы обновление WSL до второй версии. Сделать это можно посредством вызова окна «Windows: сведения». Для этого нажмите сочетание горячих клавиш Win + R, впишите в поле запроса команду winver и нажмите клавишу Enter.

установка wsl2 в windows 10_06

Появится соответствующее окно, в котором будет указана версия операционной системы и ее сборка. Убедитесь, что она выше 1903 (18362). Если это так, можете продолжить выполнение этой инструкции, в противном случае попробуйте прежде обновить Windows 10 до актуальной версии.

установка wsl2 в windows 10_07

Читайте также: Как обновить Windows 10 до последней версии

Важно! Если ваш компьютер работает на процессоре с архитектурой ARM64, этот способ установки WSL2 не подойдет. Обновитесь до последней версии Windows 10 и воспользуйтесь ранее предоставляемой инструкцией.

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

Подробнее: Как открыть PowerShell в Windows 10

установка wsl2 в windows 10_08

Теперь необходимо включить компонент «Подсистема Windows для Linux». Для этого скопируйте и вставьте в окно консоли PowerShell следующую команду, после чего нажмите Enter:

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

установка wsl2 в windows 10_09

Ожидайте завершения процедуры, когда на экране появится приглашение к вводу новой команды. После этого включите компонент виртуальных машин. Это делается посредством нижепредставленной команды:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

установка wsl2 в windows 10_10

Важно! Если результатом ее выполнения является ошибка, потребуется предварительно включить виртуализацию. Делается это через BIOS, но сначала следует проверить статус этой функции в операционной системе. На нашем сайте есть отдельные статьи, посвященные этой теме.

Подробнее:
Как проверить, включена ли виртуализация в Windows 10
Как включить виртуализацию в BIOS

установка wsl2 в windows 10_11

После того как компонент виртуальных машин будет установлен, потребуется перезагрузить компьютер.

Шаг 2: Загрузка и настройка ядра WSL2

Следующим шагом будет загрузка и установка ядра второй версии WSL, но изначально нужно определить архитектуру процессора, на которой работает операционная система. Для этого вызовите окно «Командной строки», в котором выполните следующую команду:

systeminfo | find "Тип системы"

установка wsl2 в windows 10_12

В результатах выдачи будет указана архитектура процессора. Если упоминается x64, скачайте пакет обновления ядра Linux в WSL2 для 64-разрядных компьютеров на базе процессора x86. Если в результатах выдачи есть упоминание ARM64, загрузите пакет обновлений по этой ссылке. Сохраните файл в любое удобное место, после чего запустите его, дважды кликнув по названию. Далее следуйте инструкции инсталлятора, пока не будет произведена установка.

установка wsl2 в windows 10_13

Теперь необходимо выбрать WSL2 версией по умолчанию, чтобы при установке дистрибутивов Linux они инсталлировались в этом окружении. Для этого достаточно в окне PowerShell выполнить представленную ниже команду:

wsl --set-default-version 2

установка wsl2 в windows 10_14

Шаг 3: Выбор и инсталляция дистрибутива Linux

Как только все необходимые компоненты будут установлены, можно переходить к выбору дистрибутива Linux для инсталляции в окружении WSL2. В отличие от первого способа, представленного в этой статье, все действия будут выполняться не в «Командной строке», а в Microsoft Store. Для удобства ниже приведен список доступных систем со ссылками на них:

  • Ubuntu 18.04 LTS
  • Ubuntu 20.04 LTS
  • Ubuntu 22.04 LTS
  • openSUSE Leap 15.1
  • SUSE Linux Enterprise Server 12 SP5
  • SUSE Linux Enterprise Server 15 SP1
  • Kali Linux
  • Debian GNU/Linux
  • Fedora Remix for WSL
  • Pengwin
  • Pengwin Enterprise
  • Alpine WSL
  • Raft (пробная версия)

Воспользуйтесь нужной ссылкой, чтобы перейти в магазин приложений от Microsoft. Находясь на странице нужного дистрибутива, щелкните по кнопке «Получить», расположенной рядом с его названием.

установка wsl2 в windows 10_15

Дождитесь завершения загрузки, после чего кликните по появившейся кнопке «Открыть». Запустится окно консоли, в котором будет предложено подождать несколько минут, пока идет распаковка дистрибутива. В дальнейшем процедура инициализации ядра Linux будет занимать считанные секунды.

установка wsl2 в windows 10_16

Примечание! Представленный выше список дистрибутивов взят с официального сайта Microsoft и может со временем измениться. В случае необходимости рекомендуем обратиться за справкой непосредственно к статье-первоисточнику.

Windows

Windows 10 Pro 21H2 19044

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

Т.е. можно запускать приложения Linux, в том числе c GUI, на Windows.

Однако, это не является полноценной виртуализацией, скорее контейнеризация, поэтому полноценный Linux Desktop заменить не сможет, по крайней мере на данный момент.

На сайте Microsoft довольная хорошая документация, обязательно к ознакомлению:

https://docs.microsoft.com/ru-ru/windows/wsl/about

https://docs.microsoft.com/ru-ru/windows/wsl/faq

Установка WSL 2

Установка компонентов

Установку компонентов можно выполнить через GUI

Параметры → Приложения и возможности → Дополнительные компоненты → Другие компоненты Windows

Либо через консоль cmd или PowerShell (запустить от имени Администратора)

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


# PowerShell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux -NoRestart
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart

Выполнить перезагрузку

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

Если этот компонент не установлен, то будет работать WSL 1, а при попытке использовать WSL 2 выдаст сообщение:

Включите функцию Windows для платформы виртуальной машины и убедитесь в том, что в BIOS включена виртуализация.
Дополнительные сведения см. на странице https://aka.ms/wsl2-install

Настройка WSL

Выбор WSL 2 в качестве версии по умолчанию

> wsl --set-default-version 2
Для получения сведений о ключевых различиях с WSL 2 перейдите на страницу https://aka.ms/wsl2
Операция успешно завершена.

Скачать (если выполняется первый раз) и/или обновить Linux ядро для WSL 2

> wsl --update
Проверяется наличие обновлений...
Скачивание обновлений...
Выполняется установка обновлений...
Это изменение вступит в силу при следующем полном перезапуске WSL. Чтобы выполнить перезапуск, выполните команду "wsl --shutdown".
Версия ядра: 5.10.102.1

Посмотреть статус

> wsl --status
Версия по умолчанию: 2
 
Подсистема Windows для Linux в последний раз обновлена 06.07.2022
Включены автоматические обновления WSL.
 
Версия ядра: 5.10.102.1

Можно создать файл .wslconfig для глобальной настройки параметров WSL 2

%USERPROFILE%.wslconfig

[wsl2]
kernel=<path>              # An absolute Windows path to a custom Linux kernel.
memory=<size>              # How much memory to assign to the WSL2 VM.
processors=<number>        # How many processors to assign to the WSL2 VM.
swap=<size>                # How much swap space to add to the WSL2 VM. 0 for no swap file.
swapFile=<path>            # An absolute Windows path to the swap vhd.
localhostForwarding=<bool> # Boolean specifying if ports bound to wildcard or localhost in the WSL2 VM should be connectable from the host via localhost:port (default true).

# <path> entries must be absolute Windows paths with escaped backslashes, for example C:\Users\Ben\kernel
# <size> entries must be size followed by unit, for example 8GB or 512MB

Например у меня много памяти и я хочу сберечь свой SSD отключив SWAP
По умолчанию SWAP file расположен

%USERPROFILE%AppDataLocalTempswap.vhdx

После изменения в .wslconfig требуется перезагрузка

wsl --shutdown

После команды shutdown все запущенные Linux контейнеры будут остановлены.

Или можно перезагрузить службу LxssManager, что будет иметь такой же эффект

# PowerShell
Restart-Service LxssManager

Установка дистрибутива

Посмотреть текущие дистрибутивы

> wsl --list --verbose
Нет установленных дистрибутивов подсистемы Windows для Linux.
Дистрибутивы можно установить из Microsoft Store:
https://aka.ms/wslstore

Посмотреть доступные дистрибутивы

> wsl --list --online
Ниже приведен список допустимых распределений, которые можно установить.
Установите с помощью команды wsl --install -d <Distro>.
 
NAME            FRIENDLY NAME
Ubuntu          Ubuntu
Debian          Debian GNU/Linux
kali-linux      Kali Linux Rolling
openSUSE-42     openSUSE Leap 42
SLES-12         SUSE Linux Enterprise Server v12
Ubuntu-16.04    Ubuntu 16.04 LTS
Ubuntu-18.04    Ubuntu 18.04 LTS
Ubuntu-20.04    Ubuntu 20.04 LTS

Дистрибутив Linux устанавливается как приложение Windows app или UWP app

На данный момент в Microsoft Store доступна Ubuntu-22.04, а через консоль нет :-(

Установка Ubuntu-20.04 через консоль

> wsl --install -d Ubuntu-20.04
Загрузка: Ubuntu 20.04 LTS
Выполняется установка: Ubuntu 20.04 LTS
Установка «Ubuntu 20.04 LTS» выполнена.
Запуск Ubuntu 20.04 LTS...

Если сообщение висит долго, нажмите ENTER

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

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

Я сразу отключу требование ввода пароля для sudo, например можно отредактировать правило в /etc/sudoers через команду

sudo sed 's/(^%sudos.*)/%sudo ALL=(ALL:ALL) NOPASSWD:ALL/' /etc/sudoers -i

Посмотреть текущие дистрибутивы

> wsl --list --verbose
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2      

‘*’ отмечен дистрибутив по умолчанию, т.е. при выполнении команд wsl они будут применены к нему

Настройка дистрибутива

Можно создать файл /etc/wsl.conf для настройки дополнительных параметров внутри конкретного дистрибутива.

Под Linux я запускал VPN, поэтому мне понадобилось отключить управление файлом /etc/resolv.conf

Почему так происходит и какие подводные камни.

Открыл терминал, запустил VPN, который прописал DNS для использования внутреннего корпоративного домена.

И это работает до момента, когда открываешь еще один терминал или выполняешь команду через wsl, например даже такую

wsl ls

В этот момент WSL актуализирует resolv.conf и перетирает его, точнее это символическая ссылка, а сам файл расположен тут:

/etc/resolv.conf -> ../run/resolvconf/resolv.conf

Нужно создать конфиг

/etc/wsl.conf

[network]
generateResolvConf = false

Перезагрузить

wsl --shutdown

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

rm /etc/resolv.conf
ip -4 route show default | awk '{print "nameserver",$3}' > /etc/resolv.conf

Однако IP адрес в WSL не статический и поменяется после перезагрузки Windows, что же делать в таком случае.

Все зависит от вашего сценария использования, например можно добавить задачу в Планировщик заданий (Task Scheduler) , что бы выполняла настройку после загрузки Windows.

Параметр [boot], для выполнения команд при первой загрузке доступен только в Windows 11.

Импорт дистрибутива

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

wsl --import <Distro> <Расположение установки> <Имя файла> [Параметры]
        Импортирует указанный tar-файл как новое распределение.
        Для стандартной загрузки имя файла может быть «-».

В рамках этой статьи я не буду рассматривать этот функционал см. https://docs.microsoft.com/ru-ru/windows/wsl/use-custom-distro

Удаление дистрибутива

Выполняется очень просто

> wsl --unregister Ubuntu-20.04
Отмена регистрации...

Файловая система

Файловая система WSL дистрибутива Linux хранится в VHD файле в каталоге

%USERPROFILE%AppDataLocalPackagesCanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgscLocalStateext4.vhdx

Доступ есть через проводник по адресу

\wsl$

Из Linux так же есть доступ в дискам Windows

ls -la /mnt/c/
ls -la /mnt/d/

Статический IP адрес

По мере использования WSL, можно столкнуться с этим вопросом.

Обсуждение https://github.com/microsoft/WSL/issues/4210

При первом запуске WSL создается интерфейс «vEthernet (WSL)» с случайной подсетью из диапазона приватной сети 172.16.0.0/12

т.е. после перезагрузки Windows сеть поменяется.

По итогу без костылей обойтись не получится.

Можно использовать скрипты, где каждый раз получать ip адрес и использовать его дальше по сценарию, как пример:

.bat

FOR /F %%i IN ('wsl -d Ubuntu-20.04 hostname -I') DO set WSLIP=%%i
echo %WSLIP%
netsh interface portproxy add v4tov4 listenport=8088 connectport=80 connectaddress=%WSLIP%

.bashrc

export DISPLAY=$(ip route list default | awk '{print $3}'):0
export LIBGL_ALWAYS_INDIRECT=1

Есть готовые скрипты, которые переконфигурируют интерфейс в Windows, а затем eth0 внутри Linux.

Например можно глянуть https://github.com/skorhone/wsl2-custom-network, https://github.com/ocroz/wsl2-boot

Запуск графических приложений

Т.к. в данной статье у нас Windows 10, то необходимо установить X-сервер для операционной системы Microsoft Window.

Например VcXsrv

Я установил Xming

Для безопасности в файле C:Program Files (x86)XmingX0.hosts указаны хосты, с которых разрешены подключения, но ip адрес у нас динамический, а указать подсеть в файле нельзя, поэтому придется запускать через ярлык XLaunch, т.к. там есть возможность выключить контроль доступа.




Выключаем проверку доступа

Конфиг XLaunch можно сохранить и в дальнейшем запускать через него.

В Linux есть мини программы, как раз подойдут для проверки, установим их

sudo apt-get install x11-apps

Выполним экспорт переменной DISPLAY, в дальнейшем эту команду можно записать в ~/.bashrc

export DISPLAY=$(ip -4 route show default | awk '{print $3}'):0.0

Запустить приложение «x-глаза» для проверки

xeyes

Отлично! Все работает.


Достаточно в командной строке прописать wsl.exe —install и нажать ввод

Как пишет источник, в последних сборках Windows Insider Preview появилась возможность установки подсистемы Linux для Windows (Windows Linux Subsystem) при помощи всего лишь одной команды из командной строки. А сейчас Microsoft подтвердила такую возможность для всех версий Windows 10 выше 2004 (и для Windows 11).

Microsoft упростила установку подсистемы Linux для Windows. В Windows 10 и Windows 11 теперь это делается при помощи одной команды

Чтобы установить подсистему Linux для Windows, теперь понадобится всего лишь запустить командную строку от имени администратора и выполнить команду wsl.exe —install. Если раньше этот процесс был продолжительным, нужно было открывать разные настройки и устанавливать различные пакеты ПО, то сейчас все осуществляется автоматически. После надо будет лишь перезагрузиться. По умолчанию устанавливается Ubuntu, но у пользователей (или администраторов) есть возможность выбрать другие дистрибутивы: чтобы просмотреть список доступных, нужно ввести команду wsl —list —online, а чтобы установить конкретный дистрибутив — выполнить команду wsl —install -d <Название дистрибутива>.

Есть еще несколько полезных команд. Например, wsl —update обновляет ядро WSL, а wsl —update rollback обеспечивает откат к прежней версии ядра WSL. Наконец, общую информацию по конфигурации WSL можно просмотреть при помощи команды wsl —status.

31 июля 2021 в 23:10

| Теги: Microsoft, Windows

| Источник: ITHome

Like this post? Please share to your friends:
  • Wsl windows 11 для чего нужен
  • Wsl windows 10 установка без магазина
  • Wsl 2 windows 10 docker install
  • Wsl 2 installation is incomplete windows 10 ошибка
  • Wsearch что это за служба windows 10