Открыть сервисСервис

Windows Subsystem for Linux

Windows Subsystem for Linux (WSL) — это подсистема операционной системы Windows, разработанная корпорацией Microsoft, которая позволяет запускать исполняемые файлы Linux-дистрибутивов непосредственно в среде Windows без использования виртуальной машины или двойной загрузки. WSL является компонентом Windows 10 и Windows 11 и ориентирована прежде всего на разработчиков, которым необходимы Linux-утилиты, инструменты сборки и среды исполнения в сочетании с Windows-приложениями.

История

Первая версия подсистемы — WSL 1 — была представлена в 2016 году в предварительной сборке Windows 10 (Anniversary Update, версия 1607). Идея заключалась в создании слоя трансляции системных вызовов Linux (syscall translation layer): Linux-бинарные файлы не работали на ядре Linux, а их системные вызовы преобразовывались в вызовы Windows NT-ядра. Такой подход обеспечивал высокую скорость работы файловой системы, но не позволял запускать приложения, требующие полного ядра Linux, — например, Docker-контейнеры или сетевые утилиты, работающие с низкоуровневыми интерфейсами.

В 2019 году Microsoft представила WSL 2, в которой вместо трансляции системных вызовов использовалось полноценное виртуальное ядро Linux, работающее в лёгкой виртуальной машине на основе Hyper-V. Это позволило запускать практически любое Linux-приложение, включая Docker, systemd и утилиты, требующие доступа к /dev, /proc и другим системным ресурсам. Одновременно была улучшена производительность файловой системы за счёт механизма Plan 9 (9P), обеспечивающего обмен данными между файловой системой Windows и Linux.

В 2021 году Microsoft выпустила WSL как отдельный пакет, устанавливаемый из Microsoft Store, что упростило обновление подсистемы независимо от версии Windows. В 2022 году появилась возможность запуска GUI-приложений Linux (WSLg) — графических приложений, работающих через X11/Wayland-прокси.

Устройство и принцип работы

WSL 1

WSL 1 реализована как пользовательский режим (user mode) внутри Windows. Linux-бинарные файлы выполняются в среде, где системные вызовы перехватываются и транслируются в эквивалентные вызовы Windows NT. Ограничениями WSL 1 являются:

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

WSL 2

WSL 2 использует лёгкую виртуальную машину с настоящим ядром Linux (версия ядра публикуется Microsoft и обновляется через Windows Update). Архитектура включает:

  • Виртуальную машину Hyper-V с ядром Linux и минимальным набором служб;
  • Слой интеграции с Windows (init, systemd, драйверы 9P), обеспечивающий доступ к файлам Windows из Linux и наоборот;
  • Сеть с NAT — по умолчанию Linux-система получает IP-адрес в изолированной сети, доступный из Windows, но не из внешней сети (для внешнего доступа используются порт-форвардинг или режим mirrored networking, доступный в более новых сборках).

Файловая система Linux (ext4) хранится в виртуальном диске (VHDX), что обеспечивает высокую производительность операций с файлами внутри Linux. Доступ к файлам Windows (C:\ и др.) возможен через путь /mnt/c/, но операции с файлами на «чужой» файловой системе медленнее из-за межсистемного обмена.

Дистрибутивы и установка

WSL поддерживает официальные дистрибутивы Linux, доступные в Microsoft Store: Ubuntu, Debian, openSUSE Leap, SUSE Linux Enterprise Server, Kali Linux, Oracle Linux и Fedora (с недавних пор). Установка выполняется командой wsl --install, которая по умолчанию устанавливает Ubuntu и включает необходимые компоненты Windows.

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

Применение

Основные сценарии использования WSL:

  • Разработка на Linux — запуск инструментов сборки (gcc, make, cmake), пакетных менеджеров (apt, yum), интерпретаторов (Python, Node.js, Ruby) и сред разработки, ориентированных на Linux.
  • Контейнеризация — Docker Desktop для Windows использует WSL 2 как бэкенд, что обеспечивает высокую производительность контейнеров по сравнению с виртуальной машиной на Hyper-V.
  • CI/CD и DevOps — тестирование скриптов и конфигураций в Linux-среде непосредственно на рабочей машине.
  • Обучение и эксперименты — изучение командной строки Linux без установки отдельной ОС.
  • Сетевые инструменты — запуск утилит, недоступных в Windows (tcpdump, nmap и аналоги), хотя часть из них требует WSL 2 и дополнительной настройки сети.

Ограничения

Несмотря на широкие возможности, WSL имеет ряд ограничений:

  • Производительность файловых операций между Windows и Linux ниже, чем внутри каждой из систем.
  • Подсистема не предназначена для запуска серверных нагрузок в продакшене — для этого рекомендуются полноценные виртуальные машины или облако.
  • WSL 2 требует включённой виртуализации (Hyper-V), что исключает работу на старом оборудовании или в виртуальных машинах без поддержки вложенной виртуализации.
  • Некоторые системные вызовы Linux в WSL 2 всё же ограничены или реализованы с упрощениями.

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

ПараметрWSL 1WSL 2
РеализацияТрансляция системных вызововВиртуальная машина с ядром Linux
Поддержка DockerНетДа
systemdНетДа (с настройкой)
Производительность файловой системы LinuxВысокаяВысокая (внутри Linux)
Производительность файловой системы Windows из LinuxВысокаяНиже (через 9P)
Использование памятиНизкоеЗависит от нагрузки
Сетевые возможностиОграниченныеПолные (в пределах VM)

См. также

  • Hyper-V
  • Docker Desktop
  • Windows Terminal
  • Виртуализация

Исторические факты

  • WSL была названа одной из ключевых разработок Microsoft в области Linux-совместимости; генеральный директор Microsoft Сатья Наделла в 2016 году назвал её «любовью к Linux».
  • В 2020 году Microsoft приобрела компанию NiXPS, а также активно сотрудничала с сообществом Linux-разработчиков для улучшения WSL.
  • В 2023 году Microsoft представила WSL для Windows Server 2025 и продолжила развитие сетевых возможностей (mirrored networking, DNS-туннелирование).
Заметили ошибку или не согласны с информацией в статье? Напишите нам support@bfometr.ru