Windows Linux Subsystem: установка, настройка и решение проблем WSL

Команда wsl --install в PowerShell — это всё, что нужно для развёртывания полноценного Linux-окружения внутри Windows, при этом ошибка 0x80370102 при первом запуске почти всегда означает отключённую виртуализацию в BIOS. Windows Subsystem for Linux (подсистема Windows для Linux) позволяет запускать исполняемые файлы Linux, консольные утилиты и графические приложения без двойной загрузки и без классической виртуальной машины с ручной настройкой.

Технология особенно востребована у разработчиков: Docker, Node.js, Python, Git и серверные стеки работают в WSL ближе к «родному» Linux-окружению, чем в нативных Windows-портах. Ниже разберём, чем отличаются версии WSL 1 и WSL 2, как правильно установить подсистему, какие дистрибутивы выбрать и как диагностировать типичные сбои.

Что такое WSL и как это работает

WSL — это слой совместимости, встроенный в Windows 10 (начиная с версии 1607) и Windows 11, который позволяет выполнять Linux-бинарники формата ELF. В первой версии (WSL 1) системные вызовы Linux транслировались в вызовы ядра Windows через специальный слой. Во второй версии (WSL 2) используется настоящее ядро Linux, работающее внутри лёгкой виртуальной машины на базе Hyper-V.

Разница принципиальна. WSL 2 обеспечивает полную совместимость системных вызовов, поэтому в нём работают инструменты, которым требуется настоящее ядро — например, Docker без дополнительных прослоек. Файловые операции внутри Linux-файловой системы (ext4) в WSL 2 также выполняются заметно быстрее.

Различия WSL 1 и WSL 2

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

КритерийWSL 1WSL 2
Ядро LinuxНет (трансляция вызовов)Да, полноценное ядро
Скорость работы с файлами LinuxСредняяВысокая
Скорость доступа к файлам Windows (/mnt/c)ВысокаяНиже, чем в WSL 1
Поддержка DockerОграниченнаяПолная
ТребованияWindows 10 1607+Виртуализация в BIOS

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

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

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

Также понадобится актуальная версия Windows. Для Windows 10 желательно обновление до версии 2004 (сборка 19041) или новее — именно тогда WSL 2 стал общедоступным. В Windows 11 всё работает «из коробки».

☑️ Подготовка к установке WSL

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

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

Современный способ установки сводится к одной команде. Откройте PowerShell или «Терминал Windows» от имени администратора и выполните:

wsl --install

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

При первом запуске Ubuntu после перезагрузки система попросит создать имя пользователя и пароль для Linux-окружения. Этот пароль не связан с учётной записью Windows и понадобится для команд с sudo. Если вы хотите поставить другой дистрибутив, сначала посмотрите список доступных:

wsl --list --online

wsl --install -d Debian

Если автоматическая установка по какой-то причине недоступна, компоненты можно включить вручную через «Компоненты Windows» (пункты «Подсистема Windows для Linux» и «Платформа виртуальной машины»), а затем установить дистрибутив из Microsoft Store.

Выбор дистрибутива Linux

Через Microsoft Store официально доступны несколько дистрибутивов. Выбор зависит от ваших задач и привычек:

  • 🐧 Ubuntu — вариант по умолчанию, самая большая база инструкций и пакетов, оптимален для новичков.
  • 🌿 Debian — стабильный и «чистый» дистрибутив без лишних надстроек, хорош для серверных сценариев.
  • 🎩 Fedora Remix / openSUSE — для тех, кто привык к RPM-пакетам и соответствующей экосистеме.
  • 🐉 Kali Linux — инструментарий для тестирования безопасности; ставить стоит только осознанно.
  • 🏔️ Alpine (через сторонние сборки) — минималистичный вариант для контейнерных задач.

Можно держать несколько дистрибутивов одновременно — они не конфликтуют. Запуск конкретного выполняется командой wsl -d ИмяДистрибутива, а список установленных показывает wsl -l -v (там же видно версию WSL каждого экземпляра).

📊 Какой дистрибутив вы используете в WSL?
Ubuntu
Debian
Kali Linux
Другой вариант

Интеграция с Windows: файлы, сеть, GUI

WSL тесно связан с основной системой. Из Linux доступны диски Windows через точки монтирования /mnt/c, /mnt/d и так далее. В обратную сторону файлы Linux-окружения видны в Проводнике по адресу \\wsl$\ИмяДистрибутива или через пункт «Linux» в боковой панели Проводника Windows 11.

Из терминала WSL можно запускать Windows-программы — например, explorer.exe . откроет текущий каталог в Проводнике, а code . — в Visual Studio Code (при установленном расширении WSL). В Windows 11 и свежих сборках Windows 10 поддерживается WSLg: графические Linux-приложения запускаются в обычных окнах Windows без настройки X-сервера.

Сетевые порты, открытые внутри WSL 2, по умолчанию пробрасываются на localhost Windows, поэтому веб-сервер, запущенный в Linux, доступен из браузера Windows по привычному адресу http://localhost:порт.

Как настроить лимиты памяти и CPU для WSL

Создайте в профиле пользователя Windows файл %UserProfile%\.wslconfig и укажите в нём секцию [wsl2] с параметрами memory (например, 8GB) и processors. После изменений выполните wsl --shutdown и запустите дистрибутив заново.

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

Большинство проблем с WSL возникает на этапе первого запуска. Разберём самые частые сценарии.

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

Ошибка 0x8007019e или просьба включить компонент. Подсистема не активирована. Выполните в PowerShell от администратора wsl --install либо включите компонент вручную и перезагрузите ПК.

WSL зависает или не стартует после обновления Windows. Помогает полный перезапуск подсистемы: wsl --shutdown, затем повторный запуск. Также стоит обновить ядро командой wsl --update.

⚠️ Внимание: команда wsl --unregister ИмяДистрибутива полностью удаляет дистрибутив вместе со всеми файлами внутри его файловой системы. Перед выполнением экспортируйте важные данные через wsl --export.
⚠️ Внимание: не изменяйте файлы Linux-окружения через путь вида AppData из Windows-программ напрямую — это может повредить права и метаданные файлов. Работайте с ними через сетевой путь \\wsl$\ или изнутри Linux.

Полезные команды управления WSL

Минимальный набор для повседневной работы:

  • 📋 wsl -l -v — список дистрибутивов и их версий.
  • 🔄 wsl --update — обновление ядра WSL.
  • ⏹️ wsl --shutdown — завершение всех запущенных экземпляров.
  • 🎯 wsl --set-default-version 2 — WSL 2 по умолчанию для новых дистрибутивов.
  • 📦 wsl --export / --import — резервное копирование и перенос дистрибутивов.

Этих команд достаточно, чтобы устанавливать, обновлять, переносить и удалять Linux-окружения без сторонних инструментов.

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

Можно ли использовать WSL на Windows 10 Домашней?

Да. WSL 2 не требует редакции Pro: компонент «Платформа виртуальной машины» доступен и в Home-редакции, в отличие от полноценного Hyper-V.

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

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

Где физически хранятся файлы дистрибутива WSL?

В виде виртуального диска (файл VHDX) внутри профиля пользователя, в каталоге пакета дистрибутива. Редактировать его напрямую не нужно — для доступа к файлам используйте путь \\wsl$\.

Работает ли Docker в WSL без Docker Desktop?

В WSL 2 можно установить Docker Engine прямо внутри дистрибутива через стандартный пакетный менеджер Linux. Docker Desktop при этом необязателен, хотя и удобен своим графическим интерфейсом.

Как полностью удалить WSL с компьютера?

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