Команда wsl --install в терминале Windows — это всё, что нужно для запуска полноценного Linux-окружения прямо внутри Windows без виртуальных машин и двойной загрузки. Подсистема Windows Subsystem for Linux (сокращённо WSL) позволяет выполнять Linux-команды, запускать bash-скрипты и использовать инструменты разработчика, не покидая привычной системы.
Технология пришла на смену громоздким виртуальным машинам и эмуляторам вроде Cygwin. В отличие от них, WSL интегрирована в ядро Windows и работает с минимальными накладными расходами. В этой статье разберём, чем отличаются версии WSL 1 и WSL 2, как правильно установить подсистему, выбрать дистрибутив и устранить частые ошибки.
Что такое WSL и зачем она нужна
Windows Subsystem for Linux — это слой совместимости, разработанный Microsoft, который исполняет бинарные файлы Linux нативно в среде Windows. Пользователь получает доступ к настоящему ядру Linux, файловой системе и пакетным менеджерам вроде apt или dnf.
Основная аудитория WSL — разработчики и системные администраторы. Вам не нужно перезагружаться в другую ОС или держать отдельную виртуалку, чтобы собрать проект под Linux, протестировать скрипт или поднять локальный сервер. Всё работает в одном окне терминала рядом с PowerShell.
- 🐧 Запуск Linux-утилит напрямую из командной строки Windows
- 🔗 Общий доступ к файлам: диски Windows видны в Linux через
/mnt/c - 🐳 Поддержка Docker Desktop и контейнерных сценариев
- 🖥️ Возможность запуска графических Linux-приложений (в актуальных версиях Windows 11)
Отличия WSL 1 и WSL 2
Первая версия подсистемы транслировала системные вызовы Linux в вызовы Windows, что ограничивало совместимость. WSL 2 использует настоящее ядро Linux, работающее в лёгкой виртуальной машине на базе Hyper-V, — совместимость с Linux-софтом здесь практически полная.
Выбор версии влияет на производительность. WSL 2 заметно быстрее работает с файловой системой Linux, но доступ к файлам Windows через /mnt в нём медленнее, чем в WSL 1. Для большинства задач разработки рекомендуется именно вторая версия.
| Критерий | WSL 1 | WSL 2 |
|---|---|---|
| Ядро Linux | Нет (трансляция вызовов) | Полноценное ядро |
| Скорость работы с Linux-файлами | Средняя | Высокая |
| Совместимость с софтом | Частичная | Почти полная |
| Поддержка Docker | Ограниченная | Полная |
| Требования к виртуализации | Не требуется | Нужна виртуализация в BIOS |
Системные требования и подготовка
Для работы WSL 2 потребуется 64-разрядная Windows 10 (версии 2004 и новее) или Windows 11. Проверить версию системы можно командой winver в диалоге «Выполнить». Если система старше, доступна только WSL 1 либо потребуется обновление.
Второе обязательное условие — включённая виртуализация в BIOS/UEFI. У процессоров Intel эта технология называется VT-x, у AMD — AMD-V. Проверить её статус можно в Диспетчере задач на вкладке «Производительность» в разделе «ЦП»: там есть строка «Виртуализация».
⚠️ Внимание: если виртуализация отключена, WSL 2 не запустится и выдаст ошибку. Входить в BIOS и менять настройки следует аккуратно — точное название пункта меню зависит от производителя материнской платы, сверяйтесь с инструкцией к вашей плате или ноутбуку.
Установка WSL: пошаговая инструкция
В актуальных версиях Windows установка сведена к одной команде. Откройте PowerShell или Терминал Windows от имени администратора и выполните:
wsl --install
Эта команда автоматически включает необходимые компоненты Windows (платформу виртуальной машины и подсистему Linux), скачивает ядро WSL 2 и устанавливает дистрибутив Ubuntu по умолчанию. После завершения потребуется перезагрузка компьютера.
Если нужен другой дистрибутив, сначала посмотрите список доступных командой wsl --list --online, а затем установите выбранный, указав его имя. Например, для Debian:
wsl --install -d Debian
☑️ Проверка после установки WSL
При первом запуске дистрибутив попросит создать имя пользователя и пароль — они не связаны с учётной записью Windows. Пароль при вводе в терминале Linux не отображается вообще, даже звёздочками — это нормальное поведение, а не зависание.
Управление дистрибутивами и базовые команды
Одна система может содержать сразу несколько дистрибутивов Linux, и переключаться между ними просто. Необходимо знать небольшой набор команд управления.
- 📋
wsl --list --verbose— показать установленные дистрибутивы и их версии WSL - ⚙️
wsl --set-default-version 2— задать WSL 2 версией по умолчанию для новых установок - 🔄
wsl --set-version ИмяДистрибутива 2— конвертировать существующий дистрибутив в WSL 2 - 🗑️
wsl --unregister ИмяДистрибутива— полностью удалить дистрибутив и его данные - ⏹️
wsl --shutdown— завершить все запущенные сеансы WSL
⚠️ Внимание: командаwsl --unregisterудаляет дистрибутив вместе со всеми файлами внутри него без возможности восстановления. Перед выполнением сохраните нужные данные, например скопировав их на диск Windows через/mnt/c.
Как перенести дистрибутив на другой диск
Используйте связку команд: wsl --export ИмяДистрибутива D:\backup\distro.tar для экспорта, затем wsl --unregister для удаления исходного и wsl --import ИмяДистрибутива D:\WSL D:\backup\distro.tar для установки копии в новое расположение. После импорта дистрибутив будет запускаться от имени root — чтобы вернуть обычного пользователя, задайте его в файле /etc/wsl.conf в секции [user] параметром default=имя.
Работа с файлами и интеграция с Windows
Файловые системы Windows и Linux в WSL взаимно прозрачны. Из Linux диски Windows доступны по путям вида /mnt/c, /mnt/d и так далее. В обратную сторону файлы Linux-дистрибутива видны в Проводнике по сетевому пути \\wsl$ — его можно ввести в адресной строке.
Держать рабочие проекты лучше внутри файловой системы Linux, а не на /mnt/c: операции с файлами Windows из WSL 2 заметно медленнее. Редактировать код удобно через Visual Studio Code с расширением WSL — редактор при этом работает в Windows, а вся цепочка инструментов (компиляторы, Git, интерпретаторы) выполняется в Linux.
Типичные ошибки и их решение
Чаще всего проблемы возникают на этапе установки или первого запуска. Разберём распространённые сценарии без привязки к конкретным кодам — тексты ошибок могут отличаться в зависимости от версии Windows.
Ошибка о необходимости включить виртуализацию. Зайдите в BIOS/UEFI и активируйте VT-x или AMD-V, затем проверьте, что в Windows включены компоненты «Платформа виртуальной машины» и «Подсистема Windows для Linux» в диалоге «Компоненты Windows». После изменений перезагрузите ПК.
WSL не запускается после обновления Windows. Попробуйте обновить саму подсистему командой wsl --update в PowerShell с правами администратора. Если это не помогло, выполните wsl --shutdown и запустите дистрибутив заново.
Нет доступа к интернету внутри WSL. Возможная причина — конфликт с VPN-клиентом или сторонним антивирусом. Для диагностики временно отключите их и проверьте соединение командой ping. Также помогает завершение всех сеансов через wsl --shutdown и повторный запуск.
FAQ: частые вопросы о WSL
Чем WSL отличается от виртуальной машины VirtualBox или VMware?
WSL глубже интегрирована в Windows: запуск занимает секунды, файловые системы взаимно доступны, а потребление ресурсов ниже за счёт лёгкой архитектуры. Классическая виртуальная машина даёт полную изоляцию и подходит, когда нужна отдельная графическая ОС, но тяжелее в настройке и работе.
Можно ли запускать графические Linux-приложения в WSL?
Да, в актуальных версиях Windows 11 поддержка GUI-приложений (функция WSLg) встроена по умолчанию — достаточно установить программу пакетным менеджером и запустить её из терминала. В Windows 10 эта возможность отсутствует.
Где физически хранятся файлы дистрибутива?
Данные WSL 2 хранятся в виде виртуального диска формата VHDX в профиле пользователя. Напрямую редактировать этот файл не следует — работайте с файлами через путь \\wsl$ или изнутри самой Linux-среды.
Безопасно ли использовать WSL для работы?
Да, при соблюдении стандартных мер: регулярно обновляйте пакеты дистрибутива, не запускайте непроверенные скрипты от root и помните, что процессы Linux имеют доступ к файлам Windows через /mnt. Антивирус Windows видит активность WSL, но сторонние средства защиты могут потребовать настройки исключений.
Как полностью удалить WSL с компьютера?
Сначала удалите дистрибутивы командой wsl --unregister для каждого из них, затем удалите приложения дистрибутивов через «Параметры» → «Приложения». После этого отключите компоненты «Подсистема Windows для Linux» и «Платформа виртуальной машины» в диалоге компонентов Windows и перезагрузите ПК.