Введение / Зачем это нужно
WSL2 (Windows Subsystem for Linux 2) — это полноценная среда выполнения Linux внутри Windows без виртуальной машины. Она использует легковесную виртуализацию и настоящее ядро Linux, что обеспечивает высокую производительность и полную совместимость с Linux-инструментами.
После выполнения этого гайда вы сможете:
- Запускать Linux-командную строку (bash, zsh) прямо из проводника или терминала.
- Устанавливать пакеты через
apt,yumи другие менеджеры. - Запускать Linux-сервисы (nginx, PostgreSQL) и скрипты.
- Разрабатывать кроссплатформенные приложения, используя инструменты Linux (Docker, Node.js, Python) на Windows-машине.
Требования / Подготовка
Перед началом убедитесь, что:
- Ваша версия Windows: Windows 10 версии 2004 (сборка 19041) или новее, Windows 11.
- Виртуализация: Включена в BIOS/UEFI (обычно опция
Intel VT-x/AMD-V). - Права администратора: Нужны для включения компонентов Windows.
- Подключение к интернету: Требуется для скачивания компонентов и дистрибутива.
⚠️ Важно: Если после включения WSL2 вы видите ошибку, связанную с виртуализацией, перезагрузите компьютер и зайдите в BIOS/UEFI, чтобы активировать настройки виртуализации.
Пошаговая инструкция
Шаг 1: Включение компонентов WSL и виртуализации
Откройте PowerShell от имени администратора (Win + X → Windows PowerShell (администратор)) и выполните команду:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
Эта команда включает классический WSL (версии 1). Далее включите компонент виртуализации:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
После успешного выполнения перезагрузите компьютер.
Шаг 2: Установка ядра WSL2
Скачайте пакет ядра Linux для WSL2 с официального сайта Microsoft: WSL2 Linux kernel update package
Запустите скачанный установщик (wsl_update_x64.msi) и следуйте инструкциям. Это установит последнюю версию ядра, необходимую для работы WSL2.
💡 Совет: Если установщик сообщает, что пакет уже установлен, значит, у вас актуальная версия ядра.
Шаг 3: Установка дистрибутива Linux
Самый простой способ — использовать Microsoft Store:
- Откройте Microsoft Store.
- В поиске введите
Linuxили конкретный дистрибутив (например,Ubuntu). - Выберите дистрибутив (рекомендуется Ubuntu 22.04 LTS или 24.04 LTS) и нажмите «Установить».
Альтернативный способ через командную строку (PowerShell):
wsl --install -d Ubuntu-22.04
Эта команда установит WSL2 и дистрибутив Ubuntu за один шаг (если WSL1 уже был включен).
Шаг 4: Настройка дистрибутива и пользователя
После установки найдите Ubuntu в меню «Пуск» и запустите её. Откроется консоль Linux, которая попросит:
- Создать пользователя: Введите имя пользователя (латиницей, без пробелов).
- Задать пароль: Введите и подтвердите пароль (при вводе символы не отображаются — это нормально).
Теперь у вас есть рабочая среда Linux. Для обновления пакетов выполните:
sudo apt update && sudo apt upgrade -y
Проверка результата
Убедитесь, что WSL2 работает корректно:
- Проверьте версию WSL:
wsl --list --verbose
В колонкеVERSIONдля вашего дистрибутива должно быть указано2. - Проверьте версию ядра Linux внутри дистрибутива:
uname -r
Вывод должен содержатьmicrosoft-standard(например,5.15.167.4-microsoft-standard-WSL2). - Протестируйте выполнение Linux-команд:
lsb_release -a
Команда покажет информацию о дистрибутиве (например,Ubuntu 22.04).
Возможные проблемы
Ошибка: «WSL 2 требует обновления его компонента виртуализации»
Причина: Не установлен пакет виртуализации или устарел.
Решение: Выполните wsl --update в PowerShell (администратор) и перезагрузите ПК.
Ошибка: «Не удалось инициализировать WSL» (код 0x8007019e)
Причина: Служба WSL не запущена. Решение: В PowerShell (администратор):
Get-Service LxssManager | Start-Service
Проблемы с сетью или DNS в WSL2
Симптом: Не работает интернет или не резолвятся домены. Решение: Сбросьте сетевые настройки WSL:
wsl --shutdown
Затем перезапустите дистрибутив. Если проблема останется, отредактируйте /etc/resolv.conf в Linux, указав публичный DNS (например, nameserver 8.8.8.8).
Дистрибутив не отображается в списке WSL
Причина: Дистрибутив установлен, но не зарегистрирован. Решение: В PowerShell выполните:
wsl --list --all
Если дистрибутив есть в списке, но状态 Stopped, запустите его:
wsl -d <Имя_дистрибутива>