12 сентября компания Microsoft выпустила обновление WSL 2.9.12 в своём официальном репозитории. Этот релиз устраняет ненужные предупреждения при проверке дистрибутивов, устраняет ошибки в сетевом fallback и Plan9 и продолжает адаптировать команды WSLC к работе, аналогичной Docker CLI.

Релиз WSL 2.9.12 появился 12 сентября
Версия WSL 2.9.12 отмечена в официальном репозитории Microsoft 12 сентября 2026 года. Тег указывает на коммит eaa69e7, а основным изменением самого релизного коммита разработчики называют удаление двух лишних предупреждений из скриптов проверки дистрибутивов.
Изменение касается distributions/validate-modern.py. Проверка шаблона профиля Windows Terminal теперь учитывает оба допустимых расположения — USR_LIB_WSL и USR_SHARE_WSL, а список разрешённых прав доступа расширен значениями 0644 и 0664.
Практический эффект заметят прежде всего авторы и сопровождающие WSL-дистрибутивов. Конфигурации, которые соответствуют поддерживаемой структуре WSL, больше не должны получать предупреждения только из-за расположения profileTemplate в /usr/share/wsl или допустимого режима доступа к файлу.
WSLC становится ближе к Docker CLI
В истории изменений WSL 2.9.12 заметна серия доработок WSLC — нового контейнерного интерфейса WSL. Microsoft продолжает приводить его аргументы и поведение к привычной модели Docker CLI.
Среди добавленных возможностей:
wslc container list --size— вывод размера записываемого слоя контейнера и полного размера файловой системы;wslc image push --all-tags— отправка всех тегов образа в реестр;wslc container logs --details— отображение дополнительных метаданных в логах;wslc image list --all— показ в том числе промежуточных образов;--quietдляimage load,image pushиcontainer cp— подавление прогресса и лишнего вывода;- обновлённое поведение команд
prune: подтверждение удаления, параметр--force/-fи фильтры сделаны ближе к семантике Docker.
Изменения особенно полезны для сценариев, где команды Docker заменяются или оборачиваются автоматизацией вокруг WSLC. Чем меньше различий в ключах командной строки и формате поведения, тем проще переносить существующие скрипты и инструменты.
Отдельно переработана корневая справка WSLC: глобальные параметры теперь явно показываются в строке использования как wslc [global-options] [<command>] [options].
Исправлен fallback-шлюз WSLC
Один из более заметных технических фиксов относится к сетевой конфигурации WSLC. В коммите Microsoft исправлена ситуация, при которой синтезированный IPv4-шлюз мог совпасть с адресом гостевой системы.
Проблема проявлялась, когда сетевой адаптер Windows не предоставлял WSL явный адрес шлюза. Код формировал fallback-адрес на основе первого адреса подсети, но в некоторых комбинациях префикса этот адрес мог оказаться тем же, который уже назначен гостю.
В новой реализации WSL проверяет такое совпадение и выбирает другой адрес. Разработчики добавили тесты для подсетей с префиксами /30, /31 и /32.
Для пользователя это означает более корректную и предсказуемую настройку маршрутизации в контейнерных сценариях WSLC, особенно при нетипичной конфигурации виртуальной сети.
Plan9-сервер теперь корректно пересоздаётся
В WSL 2.9.12 также устранён сценарий, при котором старый экземпляр пользовательского Plan9-сервера мог продолжать удерживать порт после остановки.
Перед созданием нового сервера WSL теперь явно вызывает Teardown() для предыдущего экземпляра и освобождает объект. Исправление описано в коммите d770bad.
Без этого новый Plan9-сервер мог попытаться привязаться к порту, который ещё оставался занят предыдущим экземпляром. Изменение повышает устойчивость повторного создания файловых шар и контейнерных подключений, использующих механизм Plan9.
Установка WSL стала устойчивее к сбою DeprovisionMsix
Ещё одно изменение затрагивает установщик. Ошибка DeprovisionMsix() больше не должна автоматически приводить к провалу всей установки WSL.
Разработчики изменили обработку результата операции развёртывания MSIX: ошибка деактивации пакета теперь отделена от ошибок, которые действительно должны прерывать установку. Это снижает вероятность того, что обновление или установка завершится неудачно из-за вторичной операции управления пакетом.
Параллельно улучшена проверка строк переменной длины в сообщениях между компонентами WSL. Получатель теперь проверяет, что строковые данные корректно завершаются внутри фактически полученного буфера, а некорректное сообщение отклоняется вместо чтения данных за его ожидаемыми границами.
Microsoft уточнила модель безопасности WSL
В репозитории появилась отдельная документация по модели безопасности WSL. Microsoft прямо указывает, что WSL не следует считать изолированной песочницей для выполнения недоверенного кода.
Код внутри WSL должен рассматриваться с тем же уровнем доверия, что и код, работающий от имени соответствующей учётной записи Windows. Дистрибутивы обеспечивают разделение процессов и файловых систем, но это разделение само по себе не является границей безопасности между WSL и Windows или между дистрибутивами одного пользователя.
Это же относится к настройкам вроде отключения interop или автоматического монтирования Windows-дисков: они меняют поведение среды, но Microsoft не описывает их как полноценные средства изоляции. Для запуска недоверенного кода разработчики рекомендуют использовать отдельно управляемую виртуальную машину за пределами WSL.
Документационное изменение не меняет механизм WSL 2.9.12 напрямую, но делает официальную позицию Microsoft заметно более однозначной для разработчиков, администраторов и специалистов по безопасности.
Вывод
Обновление WSL 2.9.12 направлено на улучшение стабильности системы и оптимизацию работы с контейнерами WSLC, а также на совершенствование инструментов для управления дистрибутивами. Обычные пользователи Linux-среды, работающие в Windows, скорее всего, не заметят значительных изменений в интерфейсе после установки этого обновления.
Версия будет особенно полезна для специалистов, которые занимаются тестированием WSLC, используют контейнеры, работают с нестандартными сетевыми настройками или создают собственные WSL-дистрибутивы. Изменения в fallback-шлюзе и Plan9 устраняют возможные проблемы в крайних случаях, а новые параметры WSLC делают его более совместимым с Docker CLI.
Если WSL используется исключительно для работы в терминале, разработки и запуска стандартных дистрибутивов, то необходимость обновления снижается. Однако, если вы активно тестируете контейнерные функции ветки 2.9.x, переход на версию 2.9.12 представляется более целесообразным. Это связано с тем, что в данной версии не только исправлены ошибки, но и улучшена совместимость команд WSLC.