WSL 2 (Windows Subsystem for Linux) запускает полноценное ядро Linux внутри Windows 11 без виртуальной машины и двойной загрузки. Это лучший способ использовать Linux-инструменты (Docker, Node.js, Python, git) в Windows. WSL 2 поддерживает GUI-приложения Linux, доступ к файловой системе Windows и сетевое взаимодействие.
Главное:
- Одна команда wsl —install устанавливает WSL 2 с Ubuntu по умолчанию
- WSL 2 использует реальное ядро Linux с полной совместимостью системных вызовов
- Docker Desktop интегрируется с WSL 2 для запуска контейнеров без Hyper-V
- Файлы Linux доступны в Проводнике через путь wsl$ и наоборот
Установка WSL 2
В Windows 11 установка WSL максимально упрощена. Откройте PowerShell или Терминал от администратора:
wsl --installКоманда автоматически: включит компоненты WSL и виртуальную машину, скачает ядро Linux, установит Ubuntu в качестве дистрибутива по умолчанию.
Перезагрузите компьютер после установки. При первом запуске Ubuntu создайте имя пользователя и пароль Linux (не обязаны совпадать с Windows).
Установка другого дистрибутива:
# Список доступных дистрибутивов
wsl --list --online
# Установка конкретного дистрибутива
wsl --install -d Debian
wsl --install -d Ubuntu-24.04
wsl --install -d openSUSE-Leap-15.5Проверка версии WSL:
wsl --statusЕсли установлен WSL 1, обновите до WSL 2:
wsl --set-version Ubuntu 2Установка WSL 2 по умолчанию для всех новых дистрибутивов:
wsl --set-default-version 2Подробнее о настройке системы в нашем каталоге Windows.
Базовая настройка и обновление
После установки обновите пакеты Linux. Откройте Ubuntu (через меню Пуск или команду wsl):
sudo apt update && sudo apt upgrade -yУстановка базовых инструментов разработки:
sudo apt install -y build-essential git curl wget unzip zip htopНастройка git:
git config --global user.name "Your Name"
git config --global user.email "[email protected]"
git config --global core.autocrlf inputПараметр core.autocrlf=input важен: Windows использует CRLF (rn), Linux использует LF (n). Эта настройка конвертирует CRLF в LF при коммите.
Установка Node.js через nvm (рекомендуемый способ):
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
node --versionУстановка Python:
sudo apt install -y python3 python3-pip python3-venvУстановка Docker внутри WSL (без Docker Desktop):
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USERПерезапустите WSL: wsl —shutdown в PowerShell, затем откройте снова.
Настройка ресурсов и производительности
WSL 2 по умолчанию использует до 50% RAM и все ядра CPU. Для ограничения создайте файл .wslconfig в профиле Windows.
Создайте файл C:UsersВашеИмя.wslconfig:
[wsl2]
memory=4GB
processors=4
swap=2GB
localhostForwarding=trueПараметры:
- memory — максимум RAM для WSL (по умолчанию 50% от физической)
- processors — количество виртуальных процессоров
- swap — размер файла подкачки WSL
- localhostForwarding — доступ к сервисам WSL через localhost Windows
Применение: перезапустите WSL:
wsl --shutdownНастройки внутри дистрибутива (/etc/wsl.conf):
[automount]
enabled = true
root = /mnt/
options = "metadata,umask=22,fmask=11"
[network]
generateResolvConf = true
generateHosts = true
[interop]
enabled = true
appendWindowsPath = trueПараметр appendWindowsPath=true дает возможность запускать программы Windows из Linux (например, explorer.exe . откроет Проводник в текущей папке).
Мониторинг ресурсов WSL из PowerShell:
Get-Process vmmem | Select-Object Name, @{Name="MemoryGB";Expression={[math]::Round($_.WorkingSet64/1GB,2)}}, CPUОбмен файлами между Windows и WSL
WSL 2 поддерживает двусторонний доступ к файлам.
Доступ к файлам Windows из Linux:
# Диск C: монтируется автоматически
ls /mnt/c/Users/
cd /mnt/c/Users/ВашеИмя/DocumentsДоступ к файлам Linux из Windows (в Проводнике):
wsl$UbuntuhomeusernameИли введите в адресной строке Проводника: wsl$
Из командной строки WSL откройте Проводник в текущей папке:
explorer.exe .Важно для производительности:
- Храните проекты Linux в файловой системе WSL (/home/user/), не на /mnt/c/
- Доступ к /mnt/c/ через WSL в 3-5 раз медленнее, чем к нативной файловой системе ext4
- git clone внутри WSL, не на диске Windows
- Для проектов, используемых только в WSL, работайте в ~/projects/
Символические ссылки для удобства:
ln -s /mnt/c/Users/ВашеИмя/Downloads ~/downloadsПодробнее об основах PowerShell.
GUI-приложения Linux и интеграция с VS Code
Windows 11 поддерживает запуск GUI-приложений Linux через WSLg (WSL GUI). Установка происходит автоматически с wsl —install.
Установка и запуск GUI-приложения (пример: файловый менеджер Nautilus):
sudo apt install -y nautilus
nautilus &Окно Linux-приложения откроется на рабочем столе Windows как обычное окно.
Другие полезные GUI-приложения для WSL:
sudo apt install -y gedit # текстовый редактор
sudo apt install -y gimp # графический редактор
sudo apt install -y firefox # браузерИнтеграция с VS Code: установите расширение «WSL» в VS Code (от Microsoft). После этого:
# Из терминала WSL откройте VS Code в текущей папке
code .VS Code подключится к WSL и будет работать с файлами Linux напрямую. Терминал в VS Code будет bash/zsh из WSL.
Интеграция с Windows Terminal: WSL автоматически добавляется в профили Windows Terminal. Откройте Terminal и выберите Ubuntu из выпадающего меню.
Полезные команды управления WSL из PowerShell:
# Список установленных дистрибутивов
wsl --list --verbose
# Остановка конкретного дистрибутива
wsl --terminate Ubuntu
# Остановка всех
wsl --shutdown
# Экспорт дистрибутива (бэкап)
wsl --export Ubuntu ubuntu-backup.tar
# Импорт (восстановление)
wsl --import Ubuntu-Restore C:WSLUbuntu-Restore ubuntu-backup.tarЛицензионные ключи Windows в нашем каталоге Windows.
Полезные ссылки и материалы
Для решения задач, описанных в этой статье, могут пригодиться:
- Руководство по настройке точки восстановления
- Руководство по настройке очистки диска C
Официальная документация: Microsoft Learn: состояние выпусков Windows.
Частые ошибки при настройке
Разберем типичные промахи, которые допускают пользователи. Знание этих ловушек сэкономит время и нервы.
Ошибка 1: Изменение параметров без резервной копии
Любые системные настройки следует менять только после создания точки восстановления. Если что-то пойдет не так, откат займет пару минут. Без резервной копии придется искать и отменять каждое изменение вручную.
Ошибка 2: Использование устаревших инструкций
Интерфейс Windows 11 регулярно обновляется. Инструкция для версии 22H2 может не подходить для 24H2 — расположение некоторых настроек меняется. Всегда проверяйте версию своей системы: Win + R > winver.
Ошибка 3: Запуск без прав администратора
Многие системные операции требуют повышенных привилегий. Если команда возвращает «Отказано в доступе», закройте терминал и откройте его заново от имени администратора (правая кнопка > Запуск от имени администратора).
Ошибка 4: Игнорирование перезагрузки
Часть изменений вступает в силу только после перезагрузки. Не путайте выход из системы с полной перезагрузкой — выберите именно «Перезагрузка» в меню Пуск.
Альтернативные способы
Один путь к результату — хорошо. Несколько путей — надежно. Если основной метод не сработал, попробуйте альтернативный.
Через PowerShell
PowerShell дает больше контроля и возможность автоматизации. Большинство операций из графического интерфейса можно выполнить одной командой. Преимущество — возможность записать команды в скрипт и применить на нескольких компьютерах:
# Проверка текущих параметров
Get-ComputerInfo | Select-Object WindowsProductName, WindowsVersion, OsArchitectureЧерез групповые политики (gpedit.msc)
В редакциях Windows 11 Pro и Enterprise доступен редактор групповых политик. Он управляет теми же параметрами, что и реестр, но через удобный древовидный интерфейс. Лицензионные ключи для Pro-версий доступны в нашем каталоге Windows 11.
Через реестр Windows
Реестр — самый глубокий уровень настройки. Откройте regedit (Win + R > regedit) и перейдите к нужному разделу. Перед правками экспортируйте ветку реестра: правая кнопка на разделе > Экспортировать. Подробнее о работе с реестром читайте в руководстве по regedit.
Автоматизация через скрипты
Когда одну и ту же настройку нужно применить на нескольких компьютерах, ручная работа через интерфейс становится неэффективной. Автоматизация через скрипты решает эту задачу.
Создайте файл с расширением .ps1 и запускайте через PowerShell:
# Пример скрипта для массового применения настроек
$computers = @("PC-01", "PC-02", "PC-03")
foreach ($pc in $computers) {
Write-Host "Настройка $pc..."
# Здесь команды для каждого ПК
}
Write-Host "Готово. Обработано: $($computers.Count) компьютеров"Для запуска скриптов PowerShell может потребоваться изменение политики выполнения:
# Разрешить запуск локальных скриптов
Set-ExecutionPolicy RemoteSigned -Scope CurrentUserПодробнее о создании скриптов читайте в статье о создании BAT-файлов.
Часто задаваемые вопросы
В чем разница между WSL 1 и WSL 2?
WSL 1 транслирует системные вызовы Linux в Windows. WSL 2 запускает реальное ядро Linux в легковесной виртуальной машине. WSL 2 полностью совместим с Linux и значительно быстрее для файловых операций.
WSL 2 заменяет виртуальную машину?
Для разработки — да. WSL 2 быстрее запускается, потребляет меньше ресурсов и интегрирован с Windows. Для запуска полноценных серверов или других ОС (не Linux) по-прежнему нужна ВМ.
Можно ли запускать Docker в WSL 2?
Да. Docker Desktop интегрируется с WSL 2 и использует его вместо Hyper-V. Или установите Docker напрямую внутри WSL без Docker Desktop.
WSL замедляет Windows?
В простое WSL почти не потребляет ресурсы. При активной работе использует выделенную RAM (настраивается в .wslconfig). После wsl —shutdown ресурсы полностью освобождаются.



