← Linux на Windows: WSL
20 мин · intro · Урок 1 из 2

WSL: ставим Linux внутрь Windows

Одна команда, перезагрузка, свой пользователь. Настоящее Linux-окружение рядом с Windows, без второго компьютера и без виртуалки вручную.

Зачем это нужно

Браузерный терминал на сайте хорош для первых шагов, но он ограничен. Нельзя поставить произвольный пакет, нельзя оставить файлы до завтра, нельзя запустить Docker. Локальное окружение снимает эти ограничения.

WSL (Windows Subsystem for Linux) даёт настоящий Linux рядом с Windows. Не эмулятор и не набор утилит вроде Cygwin. Внутри работает полноценное ядро Linux, а дистрибутив ставится из каталога.

Второй компьютер не нужен, диск размечать не надо, Windows остаётся на месте.

Что нужно до начала

Windows 10 достаточно свежей сборки или Windows 11. Проверить версию: Win+R, ввести winver.

Нужна включённая аппаратная виртуализация. Откройте диспетчер задач, вкладка «Производительность», раздел «Процессор». Там есть строка «Виртуализация». Если написано «Отключено», её включают в UEFI (BIOS) материнской платы, пункт называется по-разному: Intel VT-x, AMD-V, SVM Mode.

Установка

Откройте PowerShell от имени администратора: правый клик по кнопке «Пуск», пункт «Терминал (администратор)» или «Windows PowerShell (администратор)». Дальше одна команда:

wsl --install

Она включит нужные компоненты Windows, скачает ядро Linux, поставит WSL второй версии и дистрибутив Ubuntu по умолчанию. Затем перезагрузите компьютер, это обязательный шаг.

Нужен другой дистрибутив? Сначала посмотрите каталог, потом ставьте по имени:

wsl --list --online
wsl --install -d Debian

Если не знаете, что выбрать, берите Ubuntu. Документации и ответов на вопросы по ней больше всего.

Первый запуск

После перезагрузки найдите в меню «Пуск» приложение с именем дистрибутива и запустите. Первый старт занимает пару минут: система распаковывает образ.

Дальше вас попросят придумать имя пользователя и пароль. Это отдельная учётная запись внутри Linux, она никак не связана с учёткой Windows. Имя пишите латиницей, маленькими буквами, без пробелов.

Пароль при вводе не отображается, даже звёздочками. Это нормально, так устроен ввод пароля в Unix. Печатайте вслепую и жмите Enter.

Этот пароль понадобится для sudo, то есть для команд от администратора. Забудете, придётся сбрасывать через Windows, так что запишите.

Обновите пакеты

Образ дистрибутива собран когда-то давно, часть пакетов уже устарела. Первым делом обновите список и сами пакеты:

sudo apt update
sudo apt upgrade

apt update скачивает свежий список того, что вообще доступно. apt upgrade обновляет установленное. Порядок именно такой: без первой команды вторая не узнает, что вышли новые версии.

Проверьте, что всё встало

uname -a          # версия ядра Linux
cat /etc/os-release   # что за дистрибутив
pwd               # где вы сейчас, должно быть /home/<имя>

Если uname -a печатает строку со словом Linux и номером ядра, всё получилось. Вы внутри настоящей Linux-системы.

WSL1 и WSL2

Существуют две версии, и разница между ними принципиальная.

WSL1 переводил системные вызовы Linux в вызовы Windows на лету. Настоящего ядра там не было, поэтому часть программ не работала.

WSL2 запускает настоящее ядро Linux в лёгкой виртуальной машине. Совместимость почти полная, Docker работает. Сейчас по умолчанию ставится именно WSL2, и менять это не надо.

Проверить версию установленного дистрибутива:

wsl --list --verbose

В колонке VERSION должна быть двойка. Если единица, переключите:

wsl --set-version Ubuntu 2

Если что-то пошло не так

Команда wsl --install не найдена. Значит сборка Windows слишком старая. Обновите систему через Центр обновления.

Ошибка про виртуализацию или про гипервизор. Виртуализация выключена в UEFI, вернитесь к разделу «Что нужно до начала».

Дистрибутив запускается и сразу закрывается. Погасите подсистему целиком и запустите заново:

wsl --shutdown

Что важно запомнить

Чек-лист

Самопроверка

Впишите команду / ключевую строку. Регистр и пробелы не важны.

1. Команда, которая ставит WSL вместе с дистрибутивом по умолчанию.
2. Как посмотреть список дистрибутивов, доступных для установки?
3. Как полностью остановить WSL, чтобы он запустился заново?

Прошли материал до конца? Отметьте урок пройденным.