Подсистема Windows для Linux: что это и зачем она нужна

Подсистема Windows для Linux появится в списке компонентов системы, когда вы откроете «Включение или отключение компонентов Windows» — и именно отсутствие галочки напротив этого пункта чаще всего объясняет, почему команда wsl в терминале возвращает ошибку вместо запуска дистрибутива. Сама подсистема — это встроенный механизм Windows, позволяющий запускать Linux-программы и утилиты командной строки без установки отдельной виртуальной машины и без перезагрузки в другую операционную систему.

Разработчик — компания Microsoft, которая добавила WSL в Windows 10 и продолжила развитие в Windows 11. Подсистема ориентирована в первую очередь на разработчиков, системных администраторов и студентов технических специальностей, но полезна любому, кто хочет пользоваться инструментами Linux прямо из привычной среды Windows.

Что такое WSL простыми словами

WSL (Windows Subsystem for Linux) — это слой совместимости, благодаря которому исполняемые файлы Linux работают нативно внутри Windows. Вы открываете окно терминала, вводите привычные команды вроде ls, apt или grep — и они выполняются так, как выполнялись бы на компьютере с Ubuntu или Debian.

Ключевое отличие от классической виртуальной машины — отсутствие полной эмуляции отдельного компьютера. Не нужно выделять фиксированный объём оперативной памяти, создавать виртуальный жёсткий диск на десятки гигабайт и ждать загрузки второй ОС. Linux-окружение стартует за секунды и потребляет ресурсы только тогда, когда им пользуются.

Файловые системы обеих ОС при этом взаимодействуют: из Linux-терминала доступны диски Windows по пути /mnt/c, а файлы дистрибутива видны в Проводнике через сетевой путь \\wsl$.

Чем отличаются WSL 1 и WSL 2

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

КритерийWSL 1WSL 2
Ядро LinuxНет (трансляция вызовов)Настоящее ядро Linux
Совместимость ПОЧастичнаяПолная, включая Docker
Скорость работы с файлами LinuxНижеВыше
Требования к виртуализацииНе требуетсяНужна поддержка виртуализации в BIOS/UEFI
Доступ к файлам WindowsБыстрыйМедленнее при кросс-доступе
⚠️ Внимание: для работы WSL 2 виртуализация должна быть включена в BIOS/UEFI. Если при установке появляется сообщение о необходимости включить виртуализацию, проверьте параметры вроде Intel VT-x или AMD-V в прошивке вашей материнской платы — их названия и расположение зависят от производителя, поэтому сверяйтесь с документацией конкретной платы или ноутбука.

Зачем нужна подсистема на практике

Типичная ситуация: проект настроен под Linux-окружение, а рабочий компьютер — на Windows. Без WSL пришлось бы ставить виртуальную машину или делать двойную загрузку. С подсистемой достаточно открыть терминал и работать.

  • 🐧 Запуск Linux-утилит: bash, ssh, rsync, grep, awk без установки сторонних эмуляторов.
  • 🛠️ Разработка веб-проектов: Node.js, Python, Ruby, базы данных — в том же окружении, что и на сервере.
  • 🐳 Работа с Docker Desktop, который использует WSL 2 как основу на Windows.
  • 📚 Обучение администрированию Linux без риска для основной системы.
  • 🔗 Интеграция с VS Code: расширение позволяет редактировать код в Windows, а запускать его внутри Linux.

Вам не нужно выбирать между двумя системами — обе доступны одновременно. Можно держать открытым браузер в Windows и одновременно собирать проект в Ubuntu-терминале.

📊 Для каких задач вы используете (или планируете использовать) WSL?
Веб-разработка и серверные проекты
Docker и контейнеры
Изучение Linux и командной строки
Просто экспериментирую

Системные требования и ограничения

Подсистема доступна в Windows 10 (начиная с версии 2004 для полноценной WSL 2) и во всех актуальных сборках Windows 11. Для WSL 2 дополнительно требуется, чтобы процессор поддерживал аппаратную виртуализацию и она была активирована на уровне прошивки.

Проверить поддержку виртуализации можно через Диспетчер задач: на вкладке «Производительность» в разделе «ЦП» есть строка «Виртуализация» со значением «Включено» или «Отключено». Если указано «Отключено», параметр придётся искать в BIOS/UEFI.

Стоит учитывать и ограничения. WSL — не полная замена настольному Linux: графический интерфейс дистрибутивов работает с оговорками, доступ к некоторому оборудованию (например, к USB-устройствам напрямую) ограничен или требует дополнительных инструментов. Для задач, где критичен прямой доступ к железу, лучше подойдёт классическая виртуальная машина или отдельная установка Linux.

⚠️ Внимание: дистрибутивы WSL распространяются через Microsoft Store, и их доступность может различаться в зависимости от региона и политик магазина. Если нужный дистрибутив не устанавливается из магазина, проверьте официальную документацию Microsoft — там описаны альтернативные способы установки.

Как включить и установить WSL

Самый простой способ — одна команда в терминале, запущенном от имени администратора. Откройте PowerShell или «Командную строку» с правами администратора и выполните:

wsl --install

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

☑️ Проверка после установки WSL

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

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

Управление дистрибутивами и полезные команды

Одновременно может быть установлено несколько дистрибутивов — например, Ubuntu для работы и Debian для экспериментов. Управление ведётся через ту же команду wsl с разными параметрами.

  • 📋 wsl -l -v — список установленных дистрибутивов с версией WSL и состоянием.
  • 🔄 wsl --set-version Имя 2 — перевод дистрибутива на WSL 2.
  • wsl --set-default Имя — выбор дистрибутива по умолчанию.
  • 🛑 wsl --shutdown — полная остановка всех запущенных окружений (полезно, если WSL «завис»).
  • 🗑️ wsl --unregister Имя — удаление дистрибутива вместе со всеми его файлами.
⚠️ Внимание: команда wsl --unregister удаляет дистрибутив безвозвратно, включая все данные внутри его файловой системы. Перед выполнением убедитесь, что нужные файлы скопированы на диски Windows.
Почему WSL 2 может «съедать» оперативную память

Виртуальная машина WSL 2 динамически захватывает память под задачи Linux и не всегда сразу возвращает её Windows. Ограничить потребление можно через файл .wslconfig в домашней папке пользователя Windows, задав параметры memory и processors. После изменения файла выполните wsl --shutdown и запустите дистрибутив заново.

Типичные проблемы и их решения

Наиболее частая ситуация — ошибка при первом запуске, связанная с отключённой виртуализацией. Симптом: дистрибутив не стартует, а терминал выводит сообщение о необходимости включить платформу виртуальной машины. Порядок действий: проверьте статус виртуализации в Диспетчере задач, при необходимости включите её в BIOS/UEFI, затем убедитесь, что компонент «Платформа виртуальной машины» активен.

Вторая распространённая проблема — команда wsl не распознаётся системой. Возможная причина — устаревшая сборка Windows, в которой подсистема ещё не интегрирована в системную команду. Проверьте наличие обновлений через «Параметры» → «Центр обновления Windows»: актуальная версия системы решает большинство таких случаев.

Если дистрибутив запускается, но сеть внутри него не работает, попробуйте полностью остановить окружение командой wsl --shutdown и запустить его заново — это пересоздаёт виртуальный сетевой адаптер. При повторяющихся сбоях проверьте, не блокирует ли сторонний антивирус или файрвол виртуальные сетевые интерфейсы.

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

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

WSL не эмулирует отдельный компьютер целиком: окружение стартует за секунды, интегрировано с файловой системой и терминалом Windows и потребляет ресурсы только во время работы. Виртуальная машина даёт большую изоляцию и полный доступ к «виртуальному железу», но тяжелее и медленнее в запуске.

Можно ли запускать графические Linux-приложения через WSL?

Да, в актуальных версиях Windows 11 и свежих сборках Windows 10 поддерживается запуск GUI-приложений (технология WSLg). Однако для тяжёлого графического софта и задач, требующих прямого доступа к оборудованию, полноценный Linux или виртуальная машина подойдут лучше.

Какие дистрибутивы доступны для WSL?

Через команду wsl --list --online выводится актуальный список: обычно это Ubuntu, Debian, Kali Linux, openSUSE и другие. Перечень зависит от региона и версии магазина Microsoft Store.

Безопасно ли использовать WSL? Может ли Linux-окружение навредить Windows?

Linux-окружение имеет доступ к дискам Windows через /mnt, поэтому команды вроде удаления файлов затронут и данные Windows, если направить их на эти пути. Работайте внутри WSL с той же осторожностью, что и в обычной системе, особенно с командами, выполняемыми с правами root.

Нужно ли платить за WSL и дистрибутивы?

Нет. Подсистема входит в состав Windows, а популярные дистрибутивы в Microsoft Store распространяются бесплатно.