Поделиться через


Ресурсы WSL и Open Source

Подсистема Windows для Linux (WSL) теперь является открытым исходным кодом.

Код, который обеспечивает работу WSL, доступен на GitHub: релизы microsoft/WSL.

Узнайте, что это значит, как скачать WSL, собрать из исходного кода, получите обзор компонентов WSL и многое другое.

Обзор компонентов

WSL состоит из набора компонентов распространения. Некоторые запускаются в Windows, а некоторые выполняются в виртуальной машине WSL 2.

Обзорная схема архитектуры WSL.

Код WSL можно разбить на следующие основные области:

  • Исполняемые файлы командной строки, которые являются точками входа для взаимодействия с WSL: wsl.exe, wslconfig.exe и wslg.exe. Это процессы, выполняемые из C:\\Windows\System32\wsl.exe>CreateProcess().

  • Служба WSL, которая запускает виртуальную машину WSL, запускает установленные дистрибутивы Linux, подключает общие папки доступа к файлам и многое другое: wslservice.exe

  • Процессы инициализации и управляющей программы Linux, двоичные файлы, выполняемые в Linux, предоставляют функции WSL: init для запуска, gns для сети, localhost для переадресации портов и т. д.

  • Предоставление общего доступа к файлам Linux в Windows с помощью реализации сервера "Plan9" в WSL: plan9.

Дополнительные сведения о каждом компоненте на сайте документации по WSL с открытым исходным кодом: wsl.dev.

Исходный код WSL поддерживается этими дополнительными компонентами с открытым кодом:

Следующие компоненты по-прежнему являются частью образа Windows и не открыты в настоящее время:

  • Lxcore.sys: драйвер на стороне ядра, который управляет WSL 1
  • P9rdr.sys и p9np.dll: компоненты, которые выполняют перенаправление файловой \\wsl.localhost системы (из Windows в Linux)

Дополнительные сведения об истории и сообществе, лежащих в основе открытого WSL, см. в объявлении блога из Microsoft Build 2025: Подсистема Windows для Linux теперь является открытым исходным кодом Пьера Булая

Посетите репозиторий WSL на GitHub, чтобы внести свой вклад: [github.com/WSL]](https://github.com/microsoft/WSL/).