Перейти к основному содержанию

Windows Subsystem for Linux 2

Linux

Windows Subsystem for Linux 2 (WSL 2) — это вторая версия подсистемы Windows для Linux. Новая архитектура WSL 2 обеспечивает иной способ взаимодействия дистрибутивов Linux с Windows. WSL 2 использует технологию виртуализации и ядро Linux для реализации новых возможностей.

Подсистема WSL 2 доступна только в Windows 10 версии 2004, сборки 19041 или выше.

Основные приоритеты WSL 2:

  • Увеличение производительности файловой системы.
  • Добавление полной совместимости системных вызовов.

Простыми словами Windows Subsystem for Linux 2 работает значительно быстрее чем предыдущая версия подсистемы Linux.

Каждый дистрибутив Linux может переключаться между WSL 1 или WSL 2 в любое время.

Примечание автора: это не совсем так. Если вы использовали совсем старый дистрибутив WSL 1 из времён бета-тестирования, то он может не поддерживать WSL 2. Придётся снести старый дистрибутив и установить новый. После этой процедуры новый дистрибутив Linux сможет работать как WSL 1 так и WSL 2.

Несмотря на то, что WSL 2 гораздо производительнее, есть два случая, когда рекомендуется использовать WSL 1:

  • Файлы проекта должны храниться в файловой системе Windows.
    Если вы будете использовать дистрибутив Linux WSL для доступа к файлам проекта в файловой системе Windows, и эти файлы не могут храниться в файловой системе Linux, вы получите более высокую производительность в файловых системах ОС, используя WSL 1.
  • Проект, для которого требуется перекрестная компиляция с использованием средств Windows и Linux на одних и тех же файлах.
    Операции с файлами в операционных системах Windows и Linux выполняются быстрее в WSL 1, чем на WSL 2. Поэтому если вы используете приложения Windows для доступа к файлам Linux, в настоящее время вы получите более высокую производительность при использовании WSL 1.

Ссылки

https://docs.microsoft.com/ru-ru/windows/wsl/compare-versions

https://docs.microsoft.com/ru-ru/windows/wsl/install-win10

Сравнение WSL 1 и WSL 2

Функция WSL 1 WSL 2
Интеграция Windows и Linux
Быстрый запуск
Незначительный расход ресурсов
Запуск с использованием текущих версий VMWare и VirtualBox
Управляемая виртуальная машина
Полнофункциональное ядро Linux
Полная совместимость системных вызовов
Производительность в файловых системах ОС

WSL 2 будет работать с VMWare 15.5.5+ и VirtualBox 6+.

Подготовка к установке WSL 2

Подсистема WSL 2 доступна только в Windows 10 версии 2004, сборки 19041 или выше. Проверяю версию:

winver

win

Вижу, что у меня старая версия Windows. Обновляюсь.

win

После обновления снова проверяю версию:

winver

win

Теперь требования для установки WSL 2 соблюдены.

Установка WSL 1 и WSL 2

Перед тем как устанавливать дистрибутивы Linux необходимо включить компонент "Подсистема Windows для Linux".

В PowerShell

В PowerShell с правами администратора:

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

win

​В GUI

Панель управления > Программы и компоненты > Включение или отключение компонентов Windows.

bash

Находим в списке "Подсистема Windows для Linux", устанавливаем.

bash

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

Включаем компонент "Подсистема Windows для Linux".

В PowerShell

В PowerShell с правами администратора:

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

wsl

​В GUI

Панель управления > Программы и компоненты > Включение или отключение компонентов Windows.

bash

Находим в списке "Платформа виртуальной машины", устанавливаем.

win

Перезагружаем компьютер.

Задаём WSL 2 в качестве версии по умолчанию. В PowerShell с правами администратора:

wsl --set-default-version 2

Вы можете увидеть ошибку "WSL 2 требуется обновление компонента ядра":

win

Переходим по ссылке https://aka.ms/wsl2kernel и скачиваем MSI файл с последней версией пакета обновления ядра Linux в WSL 2. Для простоты скину ссылки ниже.

Для ля 64-разрядных компьютеров:

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

Для ARM64:

https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi

Качаю пакет.

win

Устанавливаю пакет wsl_update_x64.msi.

win

Запустить.

win

Next. Начинается установка.

win

Практически моментально установка завершается. Finish.

После установки ядра выполняем команду еще раз. Она должна успешно завершиться без отображения сообщения. В PowerShell с правами администратора:

wsl --set-default-version 2

win

Теперь по умолчанию будет использоваться ядро WSL 2.

Если у вас уже имеются дистрибутивы Linux, то вы можете попытаться обновить им ядро WSL до 2 версии. Посмотрим список установленных дистрибутивов в PowerShell с правами администратора:

wsl -l -v

win

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

wsl --set-version Legacy 2

Если ваш дистрибутив Linux поддерживает вторую версию WSL, то операция пройдёт успешно, если не поддерживает, то вы увидите ошибку "Унаследованное распределение не поддерживает WSL 2". Как у меня:

wsl

В таком случае нужно снести старый дистрибутив и установить новый. Удаляю Legacy в PowerShell с правами администратора:

wsl --unregister Legacy

wsl

Проверим:

wsl -l -v

win

Дистрибутивов нет, можно что-нибудь установить.

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

Я пробовал перейти по ссылке https://aka.ms/wslstore, однако, она оказалась нерабочей. Поэтому я просто поискал "wsl" в Microsoft Store.

win

Установлю Ubuntu.

win

Доступны дистрибутивы:

Проверим:

wsl -l -v

win

Теперь у меня Ubuntu на ядре WSL 2.

Запускаю bash:

win

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

win

Теги

 

Похожие материалы

Запуск графических приложений на сервере Oracle Linux 7.4 с удалённой Windows 10 машины

Иногда (или постоянно) сисадмину требуется запустить графическую программу на linux сервере. Сегодня будем запускать графический инсталлятор DB Oracle на сервере Oracle Linux 7.4

Теги

Создать WAV файл из текста в Ubuntu

Понадобилось мне как-то создать WAV файл из текстового файла в Ubuntu. Это было нужно для проигрывания сообщения в Asterisk для абонента. Сразу скажу, всё то же самое прекрасно работает в WSL 2 под Windows.

Теги