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

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

Теги

 

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