Как узнать версию WSL в Windows 10

Как узнать версию wsl windows 10

Как узнать версию wsl windows 10

Подсистема Windows для Linux (WSL) существует в двух архитектурных вариантах, и от используемой версии напрямую зависят поддержка системных вызовов, работа Docker, доступ к ядру Linux и производительность файловых операций. В Windows 10 может одновременно присутствовать несколько дистрибутивов Linux, каждый из которых работает либо под WSL 1, либо под WSL 2, поэтому определение версии требует точной проверки, а не предположений.

Windows 10 предоставляет несколько способов узнать версию WSL: через командную строку, PowerShell, параметры системы и сам Linux-дистрибутив. Каждый метод дает разный уровень детализации – от общего статуса подсистемы до точной привязки версии к конкретному дистрибутиву. Знание этих способов позволяет быстро определить текущее состояние WSL и принять решение о необходимости смены версии или обновления компонентов.

Определение версии WSL для конкретного дистрибутива с помощью команды wsl -l -v

Команда wsl -l -v позволяет получить точную информацию о версии WSL, используемой каждым установленным дистрибутивом Linux в Windows 10. Этот способ применим, когда в системе присутствует несколько дистрибутивов и требуется определить, какой из них работает под WSL 1, а какой под WSL 2.

Для выполнения проверки необходимо открыть PowerShell или Командную строку с правами обычного пользователя и выполнить команду:

wsl -l -v

  • NAME – имя установленного дистрибутива (например, Ubuntu, Debian, openSUSE)
  • STATE – текущее состояние (Running или Stopped)
  • VERSION – используемая версия подсистемы (1 или 2)

Поле VERSION является основным ориентиром. Значение 1 указывает на работу дистрибутива через слой трансляции системных вызовов Windows, значение 2 – на использование полноценного ядра Linux в виртуализированной среде.

Если команда возвращает ошибку или не отображает столбец VERSION, это означает, что установлен устаревший компонент WSL. В таком случае необходимо обновить подсистему через Microsoft Store или убедиться, что версия Windows 10 не ниже сборки 19041.

При необходимости смены версии конкретного дистрибутива используется команда:

wsl —set-version <Имя_дистрибутива> 2

Перед выполнением преобразования рекомендуется остановить все запущенные дистрибутивы, чтобы избежать повреждения файловой системы и ошибок миграции.

Проверка версии WSL по умолчанию через команду wsl —status

Проверка версии WSL по умолчанию через команду wsl --status

Команда wsl —status предназначена для получения сводной информации о текущей конфигурации WSL в Windows 10 и позволяет быстро определить, какая версия подсистемы используется по умолчанию при установке новых дистрибутивов Linux.

Для выполнения проверки откройте PowerShell или Командную строку и выполните команду:

wsl —status

Дополнительно команда показывает состояние компонентов подсистемы, включая наличие виртуальной машины WSL и установленного ядра Linux. Эти данные позволяют понять, готова ли система к использованию WSL 2 без дополнительной настройки.

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

wsl —set-default-version 2

После изменения параметра все последующие установки дистрибутивов будут использовать выбранную версию WSL, при этом уже установленные дистрибутивы сохранят свою текущую конфигурацию и требуют отдельного переключения.

Определение WSL 1 или WSL 2 внутри дистрибутива командой uname

Определение WSL 1 или WSL 2 внутри дистрибутива командой uname

После запуска нужного дистрибутива выполните команду:

uname -r

Анализ результата позволяет однозначно определить тип подсистемы:

Для получения более развернутой информации можно использовать команду:

uname -a

Метод с uname особенно полезен при удаленном доступе к системе или в сценариях автоматизации, когда отсутствует возможность выполнить команды wsl.exe со стороны Windows.

Проверка установленного ядра WSL 2 и его версии

WSL 2 использует собственное ядро Linux, устанавливаемое и обновляемое отдельно от дистрибутивов. Проверка его наличия и версии позволяет убедиться, что подсистема функционирует корректно и поддерживает требуемые возможности, включая cgroups, overlayfs и современные сетевые механизмы.

Для получения информации о ядре WSL 2 откройте PowerShell или Командную строку и выполните команду:

wsl —status

Дополнительно версию ядра можно проверить изнутри любого дистрибутива, работающего под WSL 2, выполнив команду:

uname -r

При устаревшей версии ядра рекомендуется выполнить обновление командой:

wsl —update

После обновления необходимо перезапустить все дистрибутивы, чтобы изменения вступили в силу и новая версия ядра начала использоваться системой.

Просмотр информации о WSL через компоненты Windows

Просмотр информации о WSL через компоненты Windows

Часть сведений о конфигурации WSL можно получить через системные компоненты Windows 10, без использования командной строки. Этот способ полезен для подтверждения того, какие версии подсистемы вообще доступны в системе и какие модули активированы.

Откройте раздел Компоненты Windows через окно «Включение или отключение компонентов Windows». В списке доступны два ключевых элемента: Подсистема Windows для Linux и Платформа виртуальной машины.

Активный компонент Подсистема Windows для Linux указывает на возможность работы WSL 1. Если дополнительно включена Платформа виртуальной машины, система готова к использованию WSL 2, так как этот модуль обеспечивает запуск виртуализированного ядра Linux.

Отсутствие второго компонента означает, что даже при установленном дистрибутиве Linux будет использоваться только WSL 1. В таком состоянии команды переключения дистрибутива на WSL 2 завершатся ошибкой.

Определение версии WSL по номеру сборки Windows 10

Определение версии WSL по номеру сборки Windows 10

Номер сборки Windows 10 напрямую влияет на доступность и функциональность WSL. По нему можно определить, поддерживается ли WSL 2 в системе и какие команды управления подсистемой доступны без дополнительных обновлений.

Для получения номера сборки нажмите Win + R, введите winver и подтвердите ввод. В открывшемся окне отображается версия Windows 10 и номер сборки, например 19041 или 19045.

Сборки ниже 18362 поддерживают только WSL 1, независимо от установленных дистрибутивов. Начиная со сборки 19041, WSL 2 считается полностью поддерживаемым, включая использование собственного ядра Linux и команды wsl —status.

Если номер сборки соответствует требованиям WSL 2, но дистрибутивы продолжают работать под WSL 1, причина обычно связана с отключенной платформой виртуализации или отсутствием установленного ядра WSL.

При пограничных сборках рекомендуется проверить наличие обновлений через параметры Windows Update, так как часть функций WSL добавляется накопительными обновлениями и может отсутствовать в ранних версиях одной и той же ветки Windows 10.

Ошибки при определении версии WSL и способы их распознавания

Ошибки при определении версии WSL и способы их распознавания

Наиболее распространённые проблемы и их признаки можно выявить по характерным симптомам и сообщениям системы:

Симптом Причина Как распознать
Устаревшая версия WSL Команда выполняется без ошибок, но версия дистрибутива не отображается
wsl —status не показывает Kernel version WSL 2 не установлен или недоступен
uname -r не содержит microsoft-standard-WSL2 Дистрибутив работает под WSL 1
Ошибка при переключении версии дистрибутива Отключена платформа виртуализации Команда wsl —set-version завершается с сообщением об отсутствии компонентов

Дополнительной ошибкой является попытка определить версию WSL только по поведению приложений внутри Linux. Например, высокая скорость доступа к файлам Windows не гарантирует использование WSL 1, так как часть оптимизаций присутствует и в WSL 2.

Вопрос-ответ:

Почему команда wsl -l показывает дистрибутивы, но не отображает версию WSL?

Такое поведение указывает на устаревшую реализацию WSL в Windows 10. В ранних сборках команда wsl -l не поддерживала параметр -v, поэтому информация о версии подсистемы отсутствует. Проверка номера сборки через winver позволяет убедиться, что система поддерживает вывод версии для каждого дистрибутива.

Можно ли определить версию WSL, находясь только внутри Linux-дистрибутива?

Да, это возможно без доступа к PowerShell. Команда uname -r показывает тип используемого ядра. Если в выводе присутствует версия Linux с суффиксом microsoft-standard-WSL2, дистрибутив работает под WSL 2. При отсутствии номера ядра используется WSL 1.

Почему wsl —status показывает WSL 2 по умолчанию, а дистрибутив продолжает работать под WSL 1?

Параметр версии по умолчанию влияет только на новые установки. Уже установленные дистрибутивы сохраняют прежний режим работы до ручного переключения. Для изменения версии конкретного дистрибутива требуется выполнить команду wsl —set-version с указанием его имени.

Как понять, что в системе отсутствует ядро WSL 2?

При отсутствии ядра команда wsl —status не отображает строку с версией ядра, а попытка переключить дистрибутив на WSL 2 завершается ошибкой. Дополнительно внутри Linux вывод uname -r не содержит упоминания WSL2.

Почему после обновления Windows версия WSL определяется неправильно?

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

Как узнать, под какой версией WSL работает конкретный дистрибутив, если он сейчас запущен?

Даже при запущенном дистрибутиве определить версию просто. Со стороны Windows выполните wsl -l -v — в списке будет показано состояние Running и номер версии для каждого дистрибутива. Альтернативный способ — выполнить внутри Linux команду uname -r: наличие ядра с пометкой microsoft-standard-WSL2 указывает на WSL 2.

Можно ли по ошибкам Docker понять, какая версия WSL используется?

Косвенно — да, но полагаться на это не стоит. Если Docker Desktop сообщает, что требуется WSL 2 или не удаётся подключиться к backend, часто причина в том, что дистрибутив работает под WSL 1. Подтверждение всегда выполняется через wsl -l -v или wsl —status, так как сообщения Docker не отражают фактическую конфигурацию подсистемы.

Ссылка на основную публикацию