LinuxRuLinux без лишней теории
Linux в Windows

WSL2 в 2026 году: настраиваем Linux-среду для разработки в Windows

Редакция LinuxRu6 мин чтенияИнструкции

WSL2 в 2026 году - это полноценное ядро Linux в лёгкой виртуальной машине Windows, и для разработки его хватает в большинстве сценариев. Ставится он одной командой wsl --install, а дальше решают три настройки: код хранить внутри Linux, а не на диске C, включить systemd в wsl.conf и ограничить память в .wslconfig.

WSL2 в 2026 году: настраиваем Linux-среду для разработки в Windows
Фото: François-Dominique, CC BY-SA 4.0, Wikimedia Commons
Содержание
  1. Что это
  2. Установка
  3. Где хранить код
  4. wsl.conf
  5. .wslconfig
  6. Инструменты
  7. GPU и GUI
  8. Резервная копия
  9. Частые вопросы

Что такое WSL2 сейчас и когда его хватает

WSL2 запускает настоящее ядро Linux, собранное Microsoft, в служебной виртуальной машине Hyper-V. Дистрибутивы работают внутри неё как контейнеры, стартуют за секунды и делят память с Windows. С версии 2.6, вышедшей в июне 2025 года, сам WSL открыт под лицензией MIT, код и трекер ошибок лежат на GitHub. Обновляется он через Microsoft Store или командой wsl --update, независимо от обновлений Windows.

Для чего WSL2 подходит хорошо: веб-бэкенд и фронтенд, Python, Go, Rust, сборка под Linux, Docker, скрипты, обучение командной строке. Графические программы Linux тоже запускаются через WSLg и появляются в меню "Пуск" как обычные окна.

Где он упирается в ограничения: свои модули ядра и драйверы, работа с USB-устройствами без дополнительных утилит, низкоуровневая работа с сетью, игры и полноценный рабочий стол Linux. Если вы всё чаще живёте в терминале WSL, возможно, пора поставить Linux рядом с Windows второй системой.

Установка WSL2 и выбор дистрибутива

Откройте PowerShell или терминал Windows от администратора. Одна команда включит нужные компоненты, поставит WSL из Store и дистрибутив по умолчанию, это Ubuntu:

wsl --install

Если нужен другой дистрибутив, сначала посмотрите список и ставьте по имени. В нём есть Ubuntu разных версий, Debian, Arch Linux, Fedora, openSUSE, Kali и другие:

wsl --list --online
wsl --install -d Debian
wsl --install -d Ubuntu-24.04 --location D:\WSL\Ubuntu24

Флаг --location сразу ставит дистрибутив на другой диск, это удобно, если на C мало места. После первого запуска система попросит имя пользователя и пароль Linux. Они не связаны с учётной записью Windows, пароль понадобится для sudo.

Проверьте, что всё на WSL2 и свежей версии:

wsl --list --verbose
wsl --version
wsl --update

Ошибка 0x80370102 при установке почти всегда означает выключенную виртуализацию в BIOS или UEFI: включите Intel VT-x или AMD SVM и повторите. Внутри дистрибутива первым делом обновите пакеты, например sudo apt update && sudo apt full-upgrade в Ubuntu и Debian.

Где хранить проекты: файловая система решает

Главная ошибка новичков в WSL - держать проекты на /mnt/c/Users/.... Диски Windows подключены через сетевой протокол 9P, и любая операция с тысячами мелких файлов идёт на порядок медленнее, чем на родной ext4. npm install, git status в большом репозитории и сборка C++ заметно тормозят, а инструменты слежения за файлами иногда вообще не видят изменений.

Правило простое: код, с которым работают Linux-инструменты, лежит в домашнем каталоге Linux, например ~/projects. Из Windows к нему есть доступ по пути \\wsl.localhost\Ubuntu\home\имя, а открыть текущий каталог в проводнике можно командой:

mkdir -p ~/projects && cd ~/projects
explorer.exe .

Два момента с Git. Окончания строк: если репозиторий клонирован внутри Linux, ставьте git config --global core.autocrlf input, чтобы в коммиты не попадали CRLF. И права на файлы: на /mnt/c без опции metadata у всех файлов одинаковые права, поэтому chmod +x там не работает. Ещё одна причина держать проекты в Linux.

Настройки дистрибутива в /etc/wsl.conf

У WSL два файла настроек, и их легко перепутать. /etc/wsl.conf лежит внутри дистрибутива и действует только на него. .wslconfig лежит в профиле Windows и настраивает общую виртуальную машину. Типичный wsl.conf для разработки:

[boot]
systemd=true

[user]
default=имя

[interop]
appendWindowsPath=false

Systemd в свежих образах Ubuntu уже включён, в других дистрибутивах его включают этой строкой. С ним работают systemctl, таймеры, snap и службы вроде PostgreSQL. Параметр appendWindowsPath=false убирает пути Windows из $PATH: автодополнение в bash перестаёт тормозить, а node или python из Windows не подменяют линуксовые. Сами программы Windows при этом запускаются, если писать полный путь или имя с .exe.

ЗадачаФайл и секцияПараметр
Включить systemdwsl.conf, [boot]systemd=true
Пользователь по умолчаниюwsl.conf, [user]default=имя
Убрать пути Windowswsl.conf, [interop]appendWindowsPath=false
Права на дисках Windowswsl.conf, [automount]options="metadata"
Лимит памяти и ядер.wslconfig, [wsl2]memory=8GB, processors=4
Сеть как у Windows.wslconfig, [wsl2]networkingMode=mirrored
Возврат кэша в Windows.wslconfig, [experimental]autoMemoryReclaim=gradual
Разреженный диск VHD.wslconfig, [experimental]sparseVhd=true

Память, процессор и сеть в .wslconfig

По умолчанию виртуальная машина WSL может забрать до половины оперативной памяти Windows и добавляет swap на четверть от её объёма. На ноутбуке с 16 ГБ, где одновременно работают браузер, IDE и пара контейнеров, лимит лучше задать явно. Создайте файл %UserProfile%\.wslconfig:

[wsl2]
memory=8GB
processors=6
swap=4GB
networkingMode=mirrored

[experimental]
autoMemoryReclaim=gradual
sparseVhd=true

Режим mirrored работает в Windows 11 22H2 и новее: Linux видит те же сетевые интерфейсы, что и Windows, сервисы доступны по localhost в обе стороны, лучше работают VPN и IPv6. Если в нём что-то ломается, удалите строку и вернётесь к NAT. Сейчас Microsoft советует менять эти параметры в приложении "Параметры WSL" из меню "Пуск", оно пишет тот же файл.

Настройки применяются только после полной остановки виртуальной машины. Закрыть окно терминала мало: WSL ещё несколько секунд работает в фоне. Выполните wsl --shutdown в PowerShell и проверьте командой wsl --list --running, что ничего не запущено. Половина вопросов "я поменял .wslconfig, а ничего не изменилось" решается этим.

VS Code, Git, SSH и Docker внутри WSL

VS Code с расширением WSL работает по схеме клиент-сервер: окно в Windows, а сервер, терминал, расширения для языков и отладчик внутри Linux. Откройте проект прямо из терминала WSL:

cd ~/projects/app
code .

Аналогично работают JetBrains IDE через удалённую разработку и Cursor. Главное, чтобы проект открывался по пути внутри Linux, а не через /mnt/c.

SSH-ключи для GitHub и серверов создайте внутри Linux через ssh-keygen -t ed25519, как описано в статье про SSH-клиент. Для HTTPS-доступа можно подключить Git Credential Manager из Git для Windows, тогда пароль и токен хранятся в системном хранилище Windows.

Docker ставят двумя способами: Docker Desktop с интеграцией WSL или Docker Engine прямо в дистрибутив, что возможно благодаря systemd. Второй вариант легче и не требует лицензии для компаний, первый удобнее новичкам. Как ускорить сборку и не упереться в диск, разобрано в статье Docker в WSL2.

Графические программы и видеокарта

WSLg включён по умолчанию: поставьте программу из репозитория, например sudo apt install gedit, и она откроется в отдельном окне Windows. Работают буфер обмена, звук и микрофон.

Для CUDA и машинного обучения драйвер NVIDIA ставят только в Windows. Внутрь WSL драйвер Linux ставить нельзя, он сломает проброс видеокарты. Достаточно обычного драйвера Windows и пакетов CUDA toolkit для WSL из репозитория NVIDIA. Проверка:

nvidia-smi

Если команда показывает карту и версию драйвера, PyTorch и другие фреймворки её увидят. Для AMD и Intel GPU в WSL работает ускорение через DirectX 12 и Mesa, но совместимость фреймворков ниже, чем у CUDA.

Резервная копия, перенос и место на диске

Весь дистрибутив хранится в одном файле ext4.vhdx. Сделать копию перед экспериментом или переездом на новый компьютер:

wsl --shutdown
wsl --export Ubuntu D:\backup\ubuntu.tar
wsl --import Ubuntu-copy D:\WSL\Ubuntu-copy D:\backup\ubuntu.tar

Перенести уже установленный дистрибутив на другой диск можно без экспорта: wsl --manage Ubuntu --move D:\WSL\Ubuntu. Перед этим остановите WSL и сделайте экспорт на всякий случай.

Файл VHDX растёт, но сам не уменьшается, даже если вы удалили образы Docker. Параметр sparseVhd=true делает новые диски разреженными, и место возвращается Windows автоматически. Внутри дистрибутива почистить мусор помогут приёмы из статьи как освободить место на диске.

Удаление wsl --unregister имя стирает дистрибутив вместе со всеми файлами без корзины, поэтому сначала экспорт. Полный список параметров есть в документации Microsoft по настройке WSL.

Частые вопросы

Чем WSL2 отличается от WSL1?

WSL2 запускает настоящее ядро Linux в лёгкой виртуальной машине, поэтому работают Docker, systemd и все системные вызовы. WSL1 транслировал вызовы Linux в Windows и быстрее работал с файлами на диске C, но совместимость у него хуже.

Почему в WSL медленно работает npm install или git?

Скорее всего, проект лежит на /mnt/c. Перенесите его в домашний каталог Linux, например ~/projects, и открывайте оттуда через code .

Сколько памяти забирает WSL2?

По умолчанию до 50% оперативной памяти Windows. Лимит задаётся параметром memory в файле .wslconfig, после изменения нужно выполнить wsl --shutdown.

Как включить systemd в WSL?

Добавьте в /etc/wsl.conf секцию [boot] со строкой systemd=true и перезапустите WSL командой wsl --shutdown в PowerShell.

Можно ли поставить в WSL драйвер NVIDIA для Linux?

Нет. Драйвер ставится только в Windows, внутри WSL его библиотеки уже доступны. Linux-драйвер внутри WSL сломает доступ к видеокарте.

Документация и источники

Читайте также

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