Что такое WSL 2 и как работает подсистема Windows для Linux

При запуске команды wsl --install в терминале Windows 10 или 11 система разворачивает полноценное окружение Linux — и именно WSL 2 обеспечивает работу настоящего ядра Linux внутри Windows без классической виртуальной машины. Если при установке дистрибутива вы видите ошибку 0x80370102 или сообщение о необходимости включить виртуализацию, это прямой признак того, что компоненты WSL 2 требуют дополнительной настройки.

WSL 2 (Windows Subsystem for Linux, второе поколение) — это технология Microsoft, позволяющая запускать Linux-дистрибутивы (Ubuntu, Debian, Kali Linux и другие) непосредственно в Windows. В отличие от первой версии, здесь используется настоящее ядро Linux, работающее в лёгкой виртуальной машине на базе Hyper-V. В статье разберём, как устроена подсистема, чем она отличается от WSL 1, как её установить и в каких задачах она незаменима.

Как устроена WSL 2: архитектура и ядро Linux

Ключевое отличие второй версии — настоящее ядро Linux, которое Microsoft собирает и обновляет через Windows Update. В WSL 1 ядра не было: система лишь транслировала вызовы Linux в вызовы Windows, из-за чего часть программ работала некорректно или не запускалась вовсе.

В WSL 2 дистрибутив работает внутри легковесной служебной виртуальной машины. Это не классическая ВМ вроде VirtualBox: она запускается за секунды, потребляет память динамически и не требует ручного управления. Пользователь просто открывает терминал — а под капотом уже поднято полноценное окружение с поддержкой systemd (в актуальных версиях), Docker и полной совместимостью системных вызовов.

Чем WSL 2 отличается от WSL 1

Выбор версии влияет на скорость работы и совместимость. Ниже — сравнение по основным параметрам.

ПараметрWSL 1WSL 2
Ядро LinuxНет (трансляция вызовов)Настоящее ядро
Совместимость ПОЧастичнаяПолная
Скорость работы с файлами LinuxСредняяВысокая
Поддержка DockerОграниченнаяПолная
Доступ к файлам WindowsБыстрыйМедленнее (через сетевой протокол)

Обратите внимание на последнюю строку таблицы: при работе с файлами Windows-раздела (например, /mnt/c) WSL 2 заметно медленнее первой версии. Поэтому проекты лучше хранить внутри файловой системы Linux, а не на диске C:.

📊 Для каких задач вы используете (или планируете использовать) WSL 2?
Веб-разработка и серверные инструменты
Docker и контейнеры
Изучение Linux
Data Science и Python
Пока не использую

Системные требования и подготовка Windows

Перед установкой убедитесь, что система соответствует минимальным условиям. WSL 2 требует 64-разрядную Windows 10 (версии 2004 и новее, сборка 19041+) или Windows 11, а также включённую виртуализацию на уровне процессора.

Проверить, активна ли виртуализация, можно в Диспетчере задач: вкладка «Производительность» → раздел «ЦП» → строка «Виртуализация». Если там указано «Отключено», потребуется зайти в BIOS/UEFI и включить Intel VT-x или AMD-V — название пункта зависит от производителя материнской платы, поэтому сверьтесь с документацией к вашей плате.

⚠️ Внимание: изменение настроек BIOS/UEFI выполняйте аккуратно и меняйте только параметр виртуализации. Некорректные изменения других параметров могут нарушить загрузку системы.

Как установить WSL 2: пошаговая инструкция

Начиная с актуальных версий Windows 10 и 11, установка сведена к одной команде. Откройте PowerShell или Терминал Windows от имени администратора и выполните:

wsl --install

Команда автоматически включает нужные компоненты Windows (платформу виртуальной машины и подсистему Linux), скачивает ядро и устанавливает Ubuntu по умолчанию. После завершения перезагрузите компьютер и дождитесь первого запуска дистрибутива — система предложит создать пользователя Linux и пароль.

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

wsl --list --online

wsl --install -d Debian

☑️ Проверка после установки WSL 2

Выполнено: 0 / 4

Если дистрибутив уже был установлен в режиме WSL 1, переключить его на вторую версию можно командой wsl --set-version ИмяДистрибутива 2. Конвертация может занять несколько минут в зависимости от объёма файлов.

Типичные ошибки и их решения

Чаще всего пользователи сталкиваются с ошибкой 0x80370102 при первом запуске. Её вероятная причина — отключённая виртуализация в BIOS/UEFI либо неустановленный компонент «Платформа виртуальной машины». Проверьте оба пункта: сначала статус виртуализации в Диспетчере задач, затем список компонентов Windows.

Другая ситуация — команда wsl --install не распознаётся. Это означает, что версия Windows устарела и требует обновления через Центр обновления Windows. В старых сборках придётся включать компоненты вручную через «Компоненты Windows» или команды dism.

  • 🔄 Ошибка 0x80370102 — включите виртуализацию в BIOS/UEFI и компонент «Платформа виртуальной машины».
  • 📦 Команда wsl не найдена — обновите Windows до актуальной версии.
  • 🐢 Медленная работа с файлами — перенесите проект из /mnt/c в домашнюю папку Linux.
  • 💾 Высокое потребление RAM — ограничьте память через файл .wslconfig в профиле пользователя.
⚠️ Внимание: файл .wslconfig создаётся вручную в папке пользователя Windows. Ошибки в синтаксисе могут помешать запуску подсистемы — после правок проверяйте запуск командой wsl --shutdown и повторным стартом дистрибутива.

Для каких задач нужна WSL 2

Подсистема особенно востребована у разработчиков. Она позволяет вести веб-разработку в Linux-окружении, не покидая Windows: запускать Node.js, Python, Ruby, работать с Docker Desktop, который использует WSL 2 как бэкенд по умолчанию.

Также WSL 2 удобна для изучения администрирования Linux без отдельного компьютера или полноценной виртуальной машины, для запуска инструментов, существующих только под Linux, и для научных вычислений. Редактор Visual Studio Code имеет официальное расширение WSL, позволяющее редактировать код прямо внутри Linux-окружения.

  • 🐳 Docker и контейнеры — полноценная поддержка без тяжёлой виртуализации.
  • 🌐 Веб-разработка — серверное окружение, идентичное продакшену на Linux.
  • 🎓 Обучение — безопасная песочница для освоения командной строки Linux.
  • 🔧 Кроссплатформенные скрипты — тестирование bash-сценариев прямо в Windows.
Ограничения WSL 2, о которых стоит знать

Поддержка GUI-приложений Linux (WSLg) доступна в актуальных версиях Windows 10 и 11, но работает не во всех сценариях. Прямой доступ к физическим USB-устройствам ограничен — для проброса используются сторонние решения вроде usbipd-win. Сетевой режим по умолчанию использует NAT, поэтому доступ к Linux-сервисам из локальной сети требует дополнительной настройки.

Управление и обновление подсистемы

Ядро WSL обновляется отдельно от Windows — командой wsl --update. Рекомендуется выполнять её периодически, особенно если возникают ошибки совместимости после обновления Windows.

Для полного завершения всех запущенных дистрибутивов и освобождения памяти используйте wsl --shutdown. Удалить ненужный дистрибутив можно командой wsl --unregister ИмяДистрибутива — при этом все данные внутри него будут стёрты без возможности восстановления.

⚠️ Внимание: команда wsl --unregister удаляет дистрибутив вместе со всеми файлами и настройками. Перед выполнением сделайте резервную копию важных данных, например через wsl --export.

Часто задаваемые вопросы

Чем WSL 2 отличается от обычной виртуальной машины?

WSL 2 работает на лёгкой служебной ВМ, которая запускается за секунды, динамически управляет памятью и тесно интегрирована с Windows: общий буфер обмена, доступ к файлам обеих систем, запуск Linux-приложений из меню «Пуск». Классическая ВМ требует ручной настройки и потребляет больше ресурсов.

Можно ли запускать графические Linux-приложения в WSL 2?

Да, в актуальных версиях Windows 10 и 11 поддерживается технология WSLg, позволяющая запускать GUI-приложения Linux с выводом окон на рабочий стол Windows. Доступность функции зависит от версии системы — проверьте наличие обновлений.

Сколько оперативной памяти потребляет WSL 2?

По умолчанию подсистема может использовать до половины доступной RAM (в актуальных версиях Windows лимиты могут отличаться). Ограничить потребление можно через файл .wslconfig, задав параметры памяти и числа процессорных ядер.

Работает ли WSL 2 на Windows 10 Домашней?

Да. В отличие от полноценного Hyper-V, WSL 2 доступна в домашних редакциях Windows 10 и 11 — достаточно поддержки виртуализации процессором и актуальной версии системы.

Как перенести дистрибутив WSL 2 на другой диск?

Используйте связку команд: wsl --export для сохранения дистрибутива в архив, затем wsl --unregister для удаления исходного экземпляра и wsl --import с указанием нового пути для восстановления на другом диске.