Как настроить WSL 2 в Windows 11: полное руководство

wsl 2 windows 11 настройка keytrust24.store

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.

Полезные ссылки и материалы

Для решения задач, описанных в этой статье, могут пригодиться:

Официальная документация: 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 ресурсы полностью освобождаются.

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

В чем разница между 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 ресурсы полностью освобождаются.