Содержание
- Вариант 1: Установка в полуавтоматическом режиме
- Шаг 1: Выбор доступных дистрибутивов Linux
- Шаг 2: Запуск инсталляции
- Вариант 2: Установка в ручном режиме
- Шаг 1: Предварительная настройка системы
- Шаг 2: Загрузка и настройка ядра WSL2
- Шаг 3: Выбор и инсталляция дистрибутива Linux
- Вопросы и ответы
Вариант 1: Установка в полуавтоматическом режиме
Установка WSL в операционной системе Windows осуществляется посредством выполнения специальных команд в консоли. Для этого потребуется предварительно определиться с дистрибутивом Linux, а затем запустить процесс его инсталляции.
Важно! Приведенная ниже инструкция может быть выполнена только при условии использования Windows 10 версии 2004 (19041) и более новых. Узнать эту информацию можно в свойствах системы. Этой теме на нашем сайте посвящена отдельная статья, при необходимости ознакомьтесь с ней, перейдя по ссылке ниже.
Подробнее: Как узнать версию Windows 10
Шаг 1: Выбор доступных дистрибутивов Linux
Каждому пользователю актуальной версии Windows 10 предоставляется возможность вручную выбрать дистрибутив Linux, который будет использоваться в WSL2. Для просмотра списка доступных систем необходимо ввести специальную команду в консоль, поэтому предварительно запустите «Командную строку» с правами администратора. Сделать это можно множеством способов, например посредством поискового запроса, как показано на изображении ниже.
Читайте также: Как открыть «Командную строку» от имени администратора в Windows 10
Примечание! По умолчанию всегда выбрана последняя версия дистрибутива Ubuntu. Если именно его вы и хотите установить, то пропустите этот шаг и переходите сразу ко второму.
После того как окно консоли будет открыто, впишите или вставьте в него одну из нижеприведенных команд, после чего нажмите клавишу Enter:
wsl --list --online
или wsl -l -o
В результатах выдачи будет приведен список всех доступных дистрибутивов Linux. На этом этапе вам необходимо запомнить или скопировать в буфер обмена название, которое находится в столбце «NAME».
Обратите внимание! Если в списке доступных дистрибутивов нет желаемого, его можно импортировать в WSL2 посредством файла TAR или APPX. При необходимости есть возможность создать собственный дистрибутив на базе ядра Linux. Эти процессы описываются в официальной документации Microsoft, при необходимости ознакомиться с ними можно, воспользовавшись ссылками ниже.
Импорт любого дистрибутива Linux для использования с WSL
Создание пользовательского дистрибутива Linux для WSL
Шаг 2: Запуск инсталляции
После того как версия дистрибутива Linux для WSL2 была выбрана, можно переходить непосредственно к ее инсталляции. Делается это тоже в «Командной строке», для чего нужно воспользоваться приведенной ниже командой. Не забудьте после ее ввода нажать клавишу Enter.
wsl --install -d <НазваниеДистрибутива>
Примечание! Если вы хотите установить версию по умолчанию, тогда нет необходимости прописывать название дистрибутива вручную, можно воспользоваться следующей командой:
wsl —install
Сразу после этого начнется процесс установки платформы виртуальной машины, затем инсталлируется «Подсистема Windows для Linux», а в завершение будет выполнена загрузка ядра WSL2.
После всех этих процедур можно будет воспользоваться WSL2 для вызова подсистемы Linux. Для этого достаточно будет запустить установленный дистрибутив через меню «Пуск».
Вариант 2: Установка в ручном режиме
Если версия вашей операционной системы Windows 10 ниже 2004 (19041), тогда воспользоваться вышеприведенной инструкцией не получится и большинство действий придется выполнять вручную.
Шаг 1: Предварительная настройка системы
Первостепенно необходимо проверить, поддерживает ли установленная версия операционной системы обновление WSL до второй версии. Сделать это можно посредством вызова окна «Windows: сведения». Для этого нажмите сочетание горячих клавиш Win + R, впишите в поле запроса команду winver
и нажмите клавишу Enter.
Появится соответствующее окно, в котором будет указана версия операционной системы и ее сборка. Убедитесь, что она выше 1903 (18362). Если это так, можете продолжить выполнение этой инструкции, в противном случае попробуйте прежде обновить Windows 10 до актуальной версии.
Читайте также: Как обновить Windows 10 до последней версии
Важно! Если ваш компьютер работает на процессоре с архитектурой ARM64, этот способ установки WSL2 не подойдет. Обновитесь до последней версии Windows 10 и воспользуйтесь ранее предоставляемой инструкцией.
После того как вы удостоверились в актуальности версии операционной системы, необходимо произвести ее предварительную настройку, а именно — включить «Подсистему Windows для Linux» и компонент виртуальных машин. Делается это в оболочке PowerShell, поэтому предварительно запустите ее с правами администратора. Проще всего сделать это через контекстное меню кнопки «Пуск», как показано на изображении ниже. Но это не единственный способ.
Подробнее: Как открыть PowerShell в Windows 10
Теперь необходимо включить компонент «Подсистема Windows для Linux». Для этого скопируйте и вставьте в окно консоли PowerShell следующую команду, после чего нажмите Enter:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Ожидайте завершения процедуры, когда на экране появится приглашение к вводу новой команды. После этого включите компонент виртуальных машин. Это делается посредством нижепредставленной команды:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Важно! Если результатом ее выполнения является ошибка, потребуется предварительно включить виртуализацию. Делается это через BIOS, но сначала следует проверить статус этой функции в операционной системе. На нашем сайте есть отдельные статьи, посвященные этой теме.
Подробнее:
Как проверить, включена ли виртуализация в Windows 10
Как включить виртуализацию в BIOS
После того как компонент виртуальных машин будет установлен, потребуется перезагрузить компьютер.
Шаг 2: Загрузка и настройка ядра WSL2
Следующим шагом будет загрузка и установка ядра второй версии WSL, но изначально нужно определить архитектуру процессора, на которой работает операционная система. Для этого вызовите окно «Командной строки», в котором выполните следующую команду:
systeminfo | find "Тип системы"
В результатах выдачи будет указана архитектура процессора. Если упоминается x64, скачайте пакет обновления ядра Linux в WSL2 для 64-разрядных компьютеров на базе процессора x86. Если в результатах выдачи есть упоминание ARM64, загрузите пакет обновлений по этой ссылке. Сохраните файл в любое удобное место, после чего запустите его, дважды кликнув по названию. Далее следуйте инструкции инсталлятора, пока не будет произведена установка.
Теперь необходимо выбрать WSL2 версией по умолчанию, чтобы при установке дистрибутивов Linux они инсталлировались в этом окружении. Для этого достаточно в окне PowerShell выполнить представленную ниже команду:
wsl --set-default-version 2
Шаг 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. Находясь на странице нужного дистрибутива, щелкните по кнопке «Получить», расположенной рядом с его названием.
Дождитесь завершения загрузки, после чего кликните по появившейся кнопке «Открыть». Запустится окно консоли, в котором будет предложено подождать несколько минут, пока идет распаковка дистрибутива. В дальнейшем процедура инициализации ядра Linux будет занимать считанные секунды.
Примечание! Представленный выше список дистрибутивов взят с официального сайта Microsoft и может со временем измениться. В случае необходимости рекомендуем обратиться за справкой непосредственно к статье-первоисточнику.
Если вы хотите опробовать улучшенную 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 вам понадобятся следующие вещи:
- 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.
Технически вы можете установить WSL 2 на «инсайдерскую» сборку Windows 10 build 18917 или новее. Я не слишком знаком с тем, как работает «инсайдерская» система сборки, поэтому просто имейте в виду, что остальная часть этого сообщения основана на использовании стабильной версии Windows.
Ваш компьютер также должен поддерживать виртуализацию 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 от имени администратора и выполните команду ниже. Будьте осторожны, чтобы не набрать и не пропустить какой-либо символ в команде:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Если по каким-то причинам вы хотите использовать т WSL 1 – переходите к пункту 4.
Шаг 2. Включите «Платформу виртуальных машин»
WSL 2 требует, чтобы была включена функция «Платформа виртуальных машин» в Windows 10. Она отделена от Hyper-V и предоставляет некоторые из наиболее интересных интеграций платформ, доступных в новой версии подсистемы Windows для Linux.
Чтобы включить платформу виртуальных машин в Windows 10 (20.04), откройте PowerShell от имени администратора и выполните команду:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Чтобы включить платформу виртуальных машин в Windows 10 (19.03, 19.09), откройте PowerShell от имени администратора и выполните:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform -NoRestart
На этом этапе вам стоит перезагрузить систему, чтобы убедиться, что все компоненты встали как надо и все работает так как задумано.
Шаг 3. Установите WSL 2 по умолчанию
Откройте PowerShell от имени администратора и выполните эту команду, чтобы установить WSL 2 в качестве версии WSL по умолчанию:
wsl --set-default-version 2
Вы можете (в любое время) настроить дистрибутив для работы в режиме 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» и нажмите кнопку «Получить»:
Ubuntu 20.04 LTS в магазине Microsoft Store
Пока вы находитесь в Microsoft Store, я настоятельно рекомендую вам также установить приложение Windows Terminal с открытым исходным кодом. Этот инструмент разработан, чтобы предоставить вам наилучшие возможности WSL:
Терминал Windows в Магазине Microsoft
5. Используйте WSL 2
Когда вы устанавливали Ubuntu (или другой дистрибутив Linux), в меню «Пуск» был добавлен ярлык. Используйте его, чтобы «открыть» Ubuntu (или любой другой дистрибутив, который вы выбрали). В первый раз, когда вы запустите дистрибутив, все будет казаться ужасно медленным. Все в порядке, это норма; дистрибутив должен распаковаться и распаковать все свое содержимое – заварите чайку, подождите, только не прерывайте процесс.
Вам также будет предложено установить имя пользователя и пароль для использования в дистрибутиве. По возможности выбирайте то, что вы не забудете.
Преобразование Ubuntu на WSL 1 в WSL 2
Если вы используете WSL 1, вы можете обновить существующую версию до WSL 2. Чтобы преобразовать существующий дистрибутив WSL 1 в WSL 2, выполните в PowerShell следующее команду:
wsl.exe --set-version Ubuntu 2
Только замените «Ubuntu» в вышеприведённой команде названием того дистрибутива, который вы запускаете при запуске WSL 1.
Расскажите в камментах не возникло ли у вас трудностей при установке и использовании WSL2 по инструкции из этого гайда.
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 PanelAll Control Panel ItemsPrograms and FeaturesTurn Windows features on or off), активировать галочку Подсистема Windows для Linux (Windows Subsystem for Linux), нажать кнопку ОК, и перезагрузить компьютер.
Вы можете включить компоненты 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
или PowerShell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
В Windows Server 2004 Semi-Annual Channel (SAC) для установки компонента WSL используется командлет Install-WindowsFeature:
Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux
После этого также необходимо перезагрузить компьютер.
В настройка BIOS/UEFI компьютера должна быть включена поддержка аппаратной виртуализации: Intel VT (Intel Virtualization Technology) или AMD-V.
Теперь вам нужно выполнить обновление WSL до версии 2. Для этого требуется зайти на сайт https://docs.microsoft.com/ru-ru/windows/wsl/wsl2-kernel, скачать файл wsl_update_x64.msi, установить его. По завершении увидите картинку
Чтобы сделать 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, нажмите кнопку Получить.
Если у вас отключен Windows Store или вы хотите установить дистрибутив WSL в Core редакции Windows Server, вы можете скачать дистрибутив Ubuntu с помощью PowerShell командлета Invoke-WebRequest:
Invoke-WebRequest https://aka.ms/wslubuntu2004 -OutFile ubuntu-2004.zip –UseBasicParsing
Распакуйте архив:
Expand-Archive -Path .ubuntu-2004.zip
Запустите установку образа Linux с помощью файла Ubuntu.exe.
Также вы можете скачать образ в виде appx файла и установить его с помощью командлета Add-AppxPackage.
После установки можно проверить используемую версию WSL с помощью команды
wsl --list –-verbose
Если у вашей среды Linux указана версия 1, нужно изменить ее на WSL2 командой:
wsl --set-version Ubuntu-20.04 2
Файл жёсткого диска с образом виртуальной машины ОС Linux Ubuntu 20.04 будет располагаться в профиле пользователя: C:Users234AppDataLocalPackagesCanonicalGroupLimited.Ubuntu20.04onWindows_79rhkp1fndgscLocalState.
После установки дистрибутива в стартовом меню появляется ярлык на него. Для запуска Ubuntu зайдите в меню Пуск, нажмите на соответствующем ярлыке и получите в отдельном окне полноценную командную оболочку Bash. Запускать WSL можно и с помощью команды wsl. При первом запуске образа в командной строке Bash вам будет предложено создать пользователя и пароль (которые не должны совпадать с учётной записью Windows). Чтобы выполнять команды с правами root, необходимо использовать дополнительный ключ (префикс) sudo. В WSL есть общие команды для Bash и CMD, и тут нужно не забывать, что система Linux чувствительна к регистру.
Вы можете выполнить Linux-команды из CMD. Для этого необходимо вначале указать “WSL”. Например, для просмотра списка файлов и папок в каталоге Windows, выполните:
wsl
ls /mnt
ls/mnt/c
dir | wsl grep Sa
wsl ls ‑la > 123.txt
wsl ls ‑la /proc/cpuinfo
wsl ls ‑la “/mnt/c/Program Files”
Также вы можете открыть проводник командой explorer.exe, калькулятор – calc.exe, блокнот – notepad.exe, paint – mspaint.exe, календарь – cal, погоду – curl wttr.in
Ещё один пример взаимосвязи 2х систем – вы можете открыть в Windows файл из WSL-дистрибутива по сетевому пути. Для этого в CMD наберите путь к файлу:
notepad \wsl$Ubuntu-20.04home1122.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 показывается список файлов с обеих ОС.
Можно отобрахить сетевые настройки (IP адрес) IP-адрес Linux-системы:
ip addr | grep eth0
В WSL не предусмотрена работа приложений с графическим интерфейсом. Тем не менее вы можете попробовать их установить и использовать. Чтобы запускать графические приложения в Linux, нужно скачать и установить в Windows программу VcXsrv Windows X Server (https://sourceforge.net/projects/vcxsrv/).
С помощью пакетного менеджера apt-get установим несколько графических программ: например, браузер, текстовый редактор или что-то ещё:
sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11-app
Затем создайте файл в директории root:
cd /~
vim .bash_login
впишите строку
export DISPLAY=$(cat /etc/resolv.conf | grep nameserver | awk '{print $2}'):0
сохраните запись
Esc -> :wr -> :q
Теперь можете запустить графические программы Linux через WSL командами:
firefox
или
gedit
Вы можете установить в Windows 10 несколько дистрибутивов Linux и запускать одновременно в разных окнах WSL. Вывести весь перечень установленных дистрибутивов можете с помощью команды:
wsl --list –all
чтобы завершить работу всех запущенных дистрибутивов и ядра WSL 2, выполните команду:
wsl --shutdown
Рекомендуем: Что необходимо знать о WSL2 (подсистема Windows для Linux 2).
Два способа установить WSL 2 в Windows 10
- Установить WSL 2 в Windows 10 версии 21H2
- Установить WSL 2 в Windows 10 версии 20H2
WSL 2 или Windows Subsystem для Linux 2 — это итеративное обновление подсистемы Windows для Linux. Будучи намного лучше, чем WSL 1, очевидно, что стоит обновиться до WSL 2. Опыт установки WSL в новых сборках значительно упростился. Начиная с сборки 20246 Windows 10 Insiders Preview на канале Dev, выпущенной Microsoft сегодня, пользователи могут установить полноценную WSL, одной командой. Как это сделать в Windows 10 версии 20H2 и Windows 10 21H1 сборка 20246, рассмотрим в этом руководстве. Windows Fe (Iron) появилась. Проверьте какая версия Windows 10 установлена у вас?
Установить подсистему Windows для Linux 2 (WSL 2) в Windows 10 версии 21H2
- Больше не нужно копировать и вставлять несколько команд в PowerShell.
- Больше не нужно копаться в функциях Windows.
- Больше никаких походов в Магазин.
Все, что вам нужно сделать для установки подсистемы Windows для Linux, — это:
- Открыть «Командную строку», окно «PowerShell» или «Windows Terminal» от имени Администратора и ввести команду:
wsl --install
и нажать Enter.
Это включит WSL 2, загрузит и установит последнее ядро Linux WSL 2, а затем загрузит и установит самую последнюю версию Ubuntu LTS на WSL.
Если вы хотите установить другой дистрибутив Linux, у вас есть выбор. Просто добавьте немного дополнительной информации к команде перед тем, как нажать Enter:
wsl --install -d <DistroName>
Где <DistroName> — это имя ОС, которую вы хотите установить. Вот список доступных на данный момент:
- Ubuntu
- Debian
- Kali-Linux
- openSUSE-42
- SLES-12
- Ubuntu-16.04
- Ubuntu-18.04
- Ubuntu-20.04
Например: если вы хотите установить Ubuntu 16.04, вы должны ввести:
wsl --install -d Ubuntu-16.04
Чтобы обновить ядро WSL 2 с помощью командной строки, выполните следую команду:
wsl --update
«wsl.exe –install» в конечном итоге будет перенесен в существующие сервисные кольца Windows 10, что упростит установку WSL для всех. На данный момент требуется, чтобы ваше устройство с Windows 10 было на канале Insiders Dev.
Если вам не хочется загружать предварительную версию Windows 10 и на вашем ПК установлена версия 2004 (20H1) или предыдущая, вы можете установить подсистему Windows для Linux по старинке используя способ ниже:
Установить подсистему Windows для Linux 2 (WSL 2) в Windows 10 версии 20H2
Ниже приведены требования, которые должен соответствовать ваш компьютер для правильной работы WSL 2:
- Windows 10 версия 2004 (обновление за май) или новее.
- Поддержка — Hyper — V Виртуализации.
Кроме того, для работы всех функций подсистемы Windows для Linux 2 вам необходимо будет выполнить следующие действия в указанном порядке:
- Включить опциональную функцию WSL.
- Установите дистрибутив Linux.
- Включить Платформу виртуальной машины — необязательная функция.
- Загрузить обновление ядра WSL 2 (обязательно).
- Настроить установленный дистрибутив.
1] Включить опциональную функцию WSL
Чтобы установить WSL, откройте Windows PowerShell с от имени администратора.
Выполните следующую команду:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
или
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
После того как команда будет выполнена, вы получите запрос, если вы хотите перезагрузить компьютер, нажмите Y, чтобы сделать это сразу, или нажмите N, чтобы перезагрузить его вручную, позже.
2] Установить дистрибутив
Вы можете загрузить и установить нужный вам дистрибутив Linux из Магазина Microsoft.
Подробнее в нашем руководстве: Загрузить дистрибутив Linux из Microsoft Store
3] Включить дополнительную функцию «Платформа виртуальной машины».
Чтобы включить дополнительную функцию платформы виртуальных машин, откройте Windows PowerShell от имени администратора и выполните следующую команду:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
или
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Если система запрашивает подтверждение, чтобы перезагрузить компьютер, нажмите Y, чтобы сделать это сразу, или N чтобы сделать это позже.
4] Настройте установленный дистрибутив
Наконец, нам нужно настроить установленный дистрибутив для WSL 2.
- Откройте Windows PowerShell и выполните эту команду, чтобы получить список всех доступных дистрибутивов WSL на вашем компьютере:
wsl -l -v
- Установите желаемый дистрибутив для работы в WSL 2. выполните следующую команду:
wsl --set-version DistroName 2
Где замените DistroName на имя дистрибутива из предыдущей команды.
Примечание: Команда wsl —set-version DistroName 1 позволит вам в любой момент переключится на Wsl 1.
5] WSL 2 обновление компонента ядра
- Обязательно загрузите пакет обновления ядра Linux на странице и установите его: https://aka.ms/wsl2kernel.
-
Дважды кликните файл wsl_update_x64.msi и примените обновление.
-
Запустите PowerShell от имени администратора.
-
Введите следующую команду, чтобы сделать Windows Subsystem for Linux 2 архитектурой по умолчанию для новых устанавливаемых дистрибутивов, и нажмите Enter:
wsl --set-default-version 2
После выполнения этих действий ваше устройство начнет использовать новую версию подсистемы Windows для Linux в качестве архитектуры по умолчанию.
Проверка дистрибутивной платформы
Чтобы убедиться, что ваши дистрибутивы используют подсистему Windows для Linux 2, выполните следующие действия:
-
Откройте Пуск.
-
Запустите PowerShell от имени администратора.
-
Введите следующую команду, чтобы проверить версию дистрибутива, и нажмите Enter :
wsl --list --verbose
- Убедитесь, что версия дистрибутива установлена как 2.
После того, как вы выполните эти шаги, вы узнаете, был ли процесс завершен успешно или вам нужно устранить неполадки на любом из предыдущих шагов.
Вы только что получили новый, плавный и быстрый опыт работы с подсистемой Windows для Linux 2.
WSL 2 значительно улучшит производительность файловой системы и полную совместимость системных вызовов. Это новое обновление основано на виртуализации (которая основана на Hyper-V), и работает на реальном ядре Linux.
Примечание: Некоторые из устаревших дистрибутивов WSL не предназначены для работы под WSL 2. Вот список WSL 2-совместимых дистрибутивов.
- Ubuntu
- Ubuntu 16.04 LTS
- Ubuntu 18.04 LTS
- Ubuntu 20.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
Вам может быть интересно:
- Как установить подсистему Windows для Linux.
- Доступ к файлам WSL Linux с помощью Проводника Windows 10
- Windows 10, Установка локального веб-сервера (Apache, MySQL, PHP) в Wsl 1 и Wsl 2.
- Как запускать приложения Linux GUI в Windows 10.
- Как Выполнить команды Linux из Командной строки Windows 10.
- Проверьте погоду в Windows 10 с помощью Linux Bash
- Как запустить OpenSUSE 42.2 Leap или SUSE Linux Enterprise Server 12 в Windows 10
Table of Contents
Зачем нужен Windows Subsystem for Linux 2 (WSL2)? Самый частый ответ — простое использованое Linux программ в среде Windows. Docker самая распространенная причина для установки WSL2.
Что надо для WSL2
- убедиться что в BIOS включена виртуализация, ищите пункт меню:
- процессор Intel: VT-x, Intel Virtualization Technology, VTx
- процессор AMD: SVM Mode, AMD-V, Virtualization Technology
- версия Windows 11 или 10 не ниже версии 2004 (сборка 19041 ~декабрь 2019)
- права администратора
Всего несколько команд
Установим само ядро wsl и запустим дистрибутив Ubuntu для работы в консоли.
Открывайте PowerShell с правами Администратора. Самый простой вариант по мне -> WIN+X и выбрать Терминал Windows (Администратор).
Выполняйте команду:
По-умолчанию, установится WSL2 с GUI и Ubuntu . Установка займет определенное время, подождите.
Если ошибка 0x80072eff
В процессе, можете увидеть ошибку Во время установки произошла ошибка, но установка может быть продолжена. Компонент: 'Ядро WSL' код ошибки: 0x80072eff
.
А значит, все автоматически не сработало, не беда. Перезагружайтесь и снова запустите PowerShell от Администратора.
- Запустите обновление wsl
- Завершите работу wsl
- Запустите заново wsl
- Запустите установку Ubuntu (если надо более специфический дистр, посмотрите все варианты
wsl -l -o
)
Успешная установка Ubuntu
После установки, введите имя пользователя и пароль для Ubuntu, и вам будет доступна среда Linux.
Рекомендуется сделать одну команду, обновить список пакетов:
и наслаждаться
Как зайти в WSL консоль
- запускайте команду
wsl
. (например, в настройках среды разработки указать wsl это для терминала по-умолчанию) - можете вынести из Пуска, ярлык Ubuntu на панель задач.
- или поставить обновленный Microsoft Terminal, и в нем настроить при запуске сразу открывать консоль wsl, рекомендую.
WSL 2 или Подсистема Windows для Linux 2 – это итеративное обновление подсистемы Windows для Linux 1. Поскольку намного лучше, чем WSL 1, очевидно, что необходимо перейти на WSL 2. Это то, что мы будем проверять в этом руководстве.
Содержание
- Как установить подсистему Windows для Linux 2 в Windows 10
- 1] Включить опциональную функцию
- 2] Установить дистрибутив
- 3] Включение дополнительной функции платформы виртуальной машины
- 4] Настройте установленный дистрибутив
Как установить подсистему Windows для Linux 2 в Windows 10
Ниже приведены требования, которые должен выполнять ваш компьютер для правильной работы подсистемы Windows для Linux 2:
- Windows 10 Build 18917 или новее.
- Hyper – V Виртуализация.
Кроме того, для работы всех функций подсистемы Windows для Linux 2 вам необходимо будет выполнить следующие задачи в указанном порядке:
- Включить опциональную функцию.
- Установите дистрибутив.
- Включить Платформу виртуальной машины .
- Настройте установленный дистрибутив.
1] Включить опциональную функцию
Чтобы включить дополнительную функцию WSL, откройте Windows PowerShell с правами администратора.
Выполните следующую команду:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Если будет запрошено подтверждение, если вы хотите перезагрузить компьютер, нажмите Y, чтобы сделать это сразу, или перезагрузите его вручную, нажмите N.
2] Установить дистрибутив
Вы можете попробовать загрузить и установить подходящий дистрибутив Linux для вашего компьютера из Магазина Microsoft.
3] Включение дополнительной функции платформы виртуальной машины
Откройте Windows PowerShell от имени администратора и выполните следующую команду:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Если он запрашивает подтверждение, чтобы перезагрузить компьютер, нажмите Y, чтобы сделать это сразу или позже, нажмите N.
4] Настройте установленный дистрибутив
Наконец, нам нужно настроить установленный дистрибутив на WSL 2.
Откройте Windows PowerShell и выполните эту команду, чтобы получить список всех доступных дистрибутивов WSL на вашем компьютере:
wsl -l -v
Установите желаемый дистрибутив на WSL 2. выполните следующую команду:
wsl --set-version DistroName 2
Наконец, установите выбранный дистрибутив по умолчанию, выполнив следующую команду:
wsl --set-default-version 2
Вы бы испытали новый плавный и быстрый опыт работы с подсистемой Windows для Linux.
Это новое обновление для утилиты командной строки вводит новую архитектуру. Это значительно улучшит производительность файловой системы и полную совместимость системных вызовов. Это новое обновление основано на виртуализации (которая основана на Hyper-V), которая работает на реальном ядре Linux.
Вы должны быть готовы сейчас!
title | description | keywords | ms.date | ms.topic | adobe-target |
---|---|---|---|---|---|
Manual installation steps for older versions of WSL |
Step by step instructions to manually install WSL on older versions of Windows, rather than using the wsl install command. |
wsl, install, BashOnWindows, bash, windows subsystem for linux, install ubuntu on windows, enable WSL2, linux on windows |
11/12/2021 |
article |
true |
Manual installation steps for older versions of WSL
For simplicity, we generally recommend using the wsl --install
to install Windows Subsystem for Linux, but if you’re running an older build of Windows, that may not be supported. We have included the manual installation steps below. If you run into an issue during the install process, check the installation section of the troubleshooting guide.
Step 1 — Enable the Windows Subsystem for Linux
You must first enable the «Windows Subsystem for Linux» optional feature before installing any Linux distributions on Windows.
Open PowerShell as Administrator (Start menu > PowerShell > right-click > Run as Administrator) and enter this command:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
We recommend now moving on to step #2, updating to WSL 2, but if you wish to only install WSL 1, you can now restart your machine and move on to Step 6 — Install your Linux distribution of choice. To update to WSL 2, wait to restart your machine and move on to the next step.
Step 2 — Check requirements for running WSL 2
To update to WSL 2, you must be running Windows 10…
- For x64 systems: Version 1903 or later, with Build 18362 or later.
- For ARM64 systems: Version 2004 or later, with Build 19041 or later.
or Windows 11.
[!NOTE]
Builds lower than 18362 do not support WSL 2. Use the Windows Update Assistant to update your version of Windows.
To check your version and build number, select Windows logo key + R, type winver, select OK. Update to the latest Windows version in the Settings menu.
[!NOTE]
If you are running Windows 10 version 1903 or 1909, open «Settings» from your Windows menu, navigate to «Update & Security» and select «Check for Updates». Your Build number must be 18362.1049+ or 18363.1049+, with the minor build # over .1049. Read more: WSL 2 Support is coming to Windows 10 Versions 1903 and 1909.
Step 3 — Enable Virtual Machine feature
Before installing WSL 2, you must enable the Virtual Machine Platform optional feature. Your machine will require virtualization capabilities to use this feature.
Open PowerShell as Administrator and run:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
Restart your machine to complete the WSL install and update to WSL 2.
Step 4 — Download the Linux kernel update package
-
Download the latest package:
- WSL2 Linux kernel update package for x64 machines
[!NOTE]
If you’re using an ARM64 machine, please download the ARM64 package instead. If you’re not sure what kind of machine you have, open Command Prompt or PowerShell and enter:systeminfo | find "System Type"
. Caveat: On non-English Windows versions, you might have to modify the search text, translating the «System Type» string. You may also need to escape the quotations for the find command. For example, in Germansysteminfo | find '"Systemtyp"'
. -
Run the update package downloaded in the previous step. (Double-click to run — you will be prompted for elevated permissions, select ‘yes’ to approve this installation.)
Once the installation is complete, move on to the next step — setting WSL 2 as your default version when installing new Linux distributions. (Skip this step if you want your new Linux installs to be set to WSL 1).
[!NOTE]
For more information, read the article changes to updating the WSL2 Linux kernel, available on the Windows Command Line Blog.
Step 5 — Set WSL 2 as your default version
Open PowerShell and run this command to set WSL 2 as the default version when installing a new Linux distribution:
wsl --set-default-version 2
Step 6 — Install your Linux distribution of choice
-
Open the Microsoft Store and select your favorite Linux distribution.
The following links will open the Microsoft store page for each distribution:
- 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(Free Trial)
-
From the distribution’s page, select «Get».
The first time you launch a newly installed Linux distribution, a console window will open and you’ll be asked to wait for a minute or two for files to de-compress and be stored on your PC. All future launches should take less than a second.
You will then need to create a user account and password for your new Linux distribution.
CONGRATULATIONS! You’ve successfully installed and set up a Linux distribution that is completely integrated with your Windows operating system!
Troubleshooting installation
If you run into an issue during the install process, check the installation section of the troubleshooting guide.
Downloading distributions
There are some scenarios in which you may not be able (or want) to, install WSL Linux distributions using the Microsoft Store. You may be running a Windows Server or Long-Term Servicing (LTSC) desktop OS SKU that doesn’t support Microsoft Store, or your corporate network policies and/or admins do not permit Microsoft Store usage in your environment. In these cases, while WSL itself is available, you may need to download Linux distributions directly.
If the Microsoft Store app is not available, you can download and manually install Linux distributions using these links:
- Ubuntu
- Ubuntu 22.04 LTS
- Ubuntu 20.04
- Ubuntu 20.04 ARM
- Ubuntu 18.04
- Ubuntu 18.04 ARM
- Ubuntu 16.04
- Debian GNU/Linux
- Kali Linux
- SUSE Linux Enterprise Server 12
- SUSE Linux Enterprise Server 15 SP2
- SUSE Linux Enterprise Server 15 SP3
- openSUSE Tumbleweed
- openSUSE Leap 15.3
- openSUSE Leap 15.2
- Oracle Linux 8.5
- Oracle Linux 7.9
- Fedora Remix for WSL
This will cause the <distro>.appx
packages to download to a folder of your choosing.
If you prefer, you can also download your preferred distribution(s) via the command line, you can use PowerShell with the Invoke-WebRequest cmdlet. For example, to download Ubuntu 20.04:
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2004 -OutFile Ubuntu.appx -UseBasicParsing
[!TIP]
If the download is taking a long time, turn off the progress bar by setting$ProgressPreference = 'SilentlyContinue'
You also have the option to use the curl command-line utility for downloading. To download Ubuntu 20.04 with curl:
curl.exe -L -o ubuntu-2004.appx https://aka.ms/wslubuntu2004
In this example, curl.exe
is executed (not just curl
) to ensure that, in PowerShell, the real curl executable is invoked, not the PowerShell curl alias for Invoke-WebRequest.
Once the distribution has been downloaded, navigate to the folder containing the download and run the following command in that directory, where app-name
is the name of the Linux distribution .appx file.
Add-AppxPackage .app_name.appx
Once the Appx package has finished downloading, you can start running the new distribution by double-clicking the appx file. (The command wsl -l
will not show that the distribution is installed until this step is complete).
If you are using Windows server, or run into problems running the command above you can find the alternate install instructions on the Windows Server documentation page to install the .appx
file by changing it to a zip file.
Once your distribution is installed, follow the instructions to create a user account and password for your new Linux distribution.
Install Windows Terminal (optional)
Using Windows Terminal enables you to open multiple tabs or window panes to display and quickly switch between multiple Linux distributions or other command lines (PowerShell, Command Prompt, Azure CLI, etc). You can fully customize your terminal with unique color schemes, font styles, sizes, background images, and custom keyboard shortcuts. Learn more.
Install Windows Terminal.
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
Отлично! Все работает.