
WSL позволяет запускать Linux-инструменты рядом с Windows: SSH, Git, диагностические команды и локальные среды разработки. Современная установка не требует старого режима Developer Mode из ранних preview Windows 10. Ниже — рабочая процедура для поддерживаемой Windows 11 и актуального WSL, с отдельными замечаниями для Windows 10. Включение WSL не заменяет полноценный Linux-сервер с независимыми backup, monitoring и uptime.
Обычная поддержка Windows 10 22H2 закончилась 14 октября 2025 года; ESU и LTSC имеют отдельные условия жизненного цикла. Наличие работающего WSL не делает неподдерживаемую Windows безопасной. Перед внедрением проверьте редакцию ОС, корпоративные правила виртуализации и текущую поддержку. Microsoft Lifecycle.

1. Проверить Windows и аппаратную виртуализацию
Для упрощённой команды wsl --install Microsoft указывает Windows 10 version 2004 build 19041 и выше или Windows 11. Это технический минимум, а не рекомендация оставаться на старой ОС. Для WSL 2 требуется виртуализация и необходимые Windows features; внутри VM — поддерживаемая nested virtualization.
Get-ComputerInfo | Select-Object WindowsProductName,WindowsVersion,OsBuildNumber
Get-CimInstance Win32_Processor |
Select-Object Name,VirtualizationFirmwareEnabled,SecondLevelAddressTranslationExtensions
wsl --status
wsl --version
Если wsl --version не поддерживается, это может быть старый inbox WSL; изучите установленную версию и обновление, а не повторяйте команды вслепую. Если firmware virtualization выключена, проверьте UEFI/BIOS по документации устройства. Не меняйте настройки защитных средств или boot configuration как универсальный обход. Установка WSL.
2. Установить WSL и выбрать дистрибутив
Откройте PowerShell от администратора для установки компонентов. Список дистрибутивов берётся с текущего источника, потому что имена и доступные версии меняются. В инструкции используем Ubuntu-24.04, если он присутствует в выводе; для другого дистрибутива замените его точным NAME.
wsl --list --online
wsl --install -d Ubuntu-24.04
После запроса перезагрузки завершите её в согласованное время, затем запустите установленный дистрибутив. Если компоненты уже присутствуют, installation flow может отличаться. При недоступности Store используйте только документированный альтернативный способ распространения, допустимый политикой организации; не скачивайте случайный Linux rootfs из непроверенного архива.
На первом запуске создайте обычного Linux-пользователя и пароль для sudo. Его имя и пароль независимы от доменной учётной записи Windows. Не делайте root основным пользователем для всех задач.
3. Подтвердить WSL 2 и состояние окружения
Команды управления выполняются из Windows, Linux-команды — внутри установленного дистрибутива. Перевод existing distro с версии 1 на 2 предваряйте экспортом важных данных. Для нового лабораторного экземпляра:
wsl --list --verbose
wsl --set-default-version 2
wsl --set-version Ubuntu-24.04 2
wsl -d Ubuntu-24.04
В Linux:
cat /etc/os-release
uname -r
id
pwd
sudo apt update
sudo apt upgrade
VERSION=2 в wsl --list --verbose подтверждает архитектуру WSL, а /etc/os-release — дистрибутив. Обновление Linux-пакетов и wsl --update обновляют разные слои. Не используйте linux release как доказательство версии Windows kernel/WSL runtime. Базовые команды WSL.
4. Настроить инструменты и хранение проектов
Для Linux build/CLI workloads проект обычно удобнее хранить в Linux filesystem, например ~/projects, а Windows-доступ получать через интеграцию. /mnt/c относится к Windows drive и имеет особенности прав и производительности. Выбор места должен учитывать backup: папка в дистрибутиве не обязательно входит в привычный Windows file backup.
sudo apt install git openssh-client curl dnsutils iproute2 python3
mkdir -p "$HOME/projects/wsl-lab"
cd "$HOME/projects/wsl-lab"
printf '%s\n' 'WSL lab' > README.txt
ls -ld . README.txt
explorer.exe .
explorer.exe . открывает текущую Linux-папку через интеграцию. Не редактируйте виртуальный диск ext4.vhdx сторонним инструментом, пока дистрибутив работает. SSH private keys храните с ограниченными правами в Linux home, не в общей сетевой папке; пароль ключа не помещайте в скрипт. Git user.name/email настройте согласно своей идентичности, а не копируйте пример автора.
5. Проверить DNS, маршруты и доступ к VPN
WSL 2 по умолчанию использует виртуальную сетевую модель; настройки зависят от Windows и версии WSL. Сначала снимите факты внутри Linux. Корпоративный VPN и DNS могут давать split routing и split DNS: публичный resolver не знает внутренних имён и может нарушить политику организации.
ip -br address
ip route
cat /etc/resolv.conf
getent ahosts example.com
curl --connect-timeout 5 --max-time 10 -I https://example.com/
# Внутреннее имя заменить своим разрешённым хостом
getent ahosts dc01.corp.example
Если Windows разрешает внутреннее имя, а WSL нет, сравните DNS path и VPN integration. Не переписывайте resolv.conf на 8.8.8.8 как универсальное исправление. Современные WSL/Windows могут использовать DNS tunneling; применимость проверяется по установленному выпуску. Сеть WSL.
6. Открыть локальный сервис и не выставить его случайно в LAN
Для первого теста запустите сервер на loopback WSL, в папке без конфиденциальных данных. Он нужен только для проверки integration. Windows обычно может обращаться к локальному приложению WSL через localhost в поддерживаемом сетевом режиме.
cd "$HOME/projects/wsl-lab"
python3 -m http.server 8080 --bind 127.0.0.1
В отдельном PowerShell:
Invoke-WebRequest http://localhost:8080/ -UseBasicParsing
Test-NetConnection localhost -Port 8080
После проверки остановите сервер Ctrl+C. Bind 0.0.0.0, portproxy и firewall allow создают другой сценарий — доступ из сети, который требует отдельного разрешения и аутентификации приложения. В mirrored mode поведение interfaces/firewall отличается; не копируйте старый NAT portproxy поверх него. Не отключайте Windows Firewall ради localhost.
7. Ограничить ресурсы и понимать systemd
Глобальный файл %UserProfile%\.wslconfig управляет WSL 2 VM; /etc/wsl.conf — конкретным Linux-дистрибутивом. Не путайте их и не заменяйте существующий файл целиком, если там уже есть корпоративные настройки. Пример ограничения для лаборатории:
[wsl2]
memory=4GB
processors=2
swap=2GB
Чтобы настройки применились, сохраните Linux работу и выполните wsl --shutdown: команда останавливает все запущенные WSL distributions. Значения — пример, их выбирают по RAM хоста и workload. Уменьшение памяти может вызвать OOM в приложении.
Systemd включается в поддерживаемом WSL через distro-specific конфигурацию:
[boot]
systemd=true
После остановки/нового запуска проверьте ps -p 1 -o comm= и systemctl status нужной службы. Наличие systemd не превращает WSL в постоянно работающий сервер: жизненный цикл связан с Windows/WSL. Настройки WSL и systemd в WSL.
8. Сделать экспорт и проверить восстановление
Экспорт без проверки импорта — лишь файл. Для согласованного снимка завершите приложения, которые пишут данные, и остановите конкретный дистрибутив. Базы данных требуют своего consistency backup, а не только tar виртуального окружения.
New-Item -ItemType Directory -Path C:\WSL-Backup -Force
wsl --terminate Ubuntu-24.04
wsl --export Ubuntu-24.04 C:\WSL-Backup\ubuntu-24.04-lab.tar
if ($LASTEXITCODE -ne 0) { throw 'Экспорт не выполнен' }
Get-FileHash C:\WSL-Backup\ubuntu-24.04-lab.tar -Algorithm SHA256
wsl --import AVG-Lab-Restore C:\WSL\AVG-Lab-Restore C:\WSL-Backup\ubuntu-24.04-lab.tar --version 2
if ($LASTEXITCODE -ne 0) { throw 'Импорт не выполнен' }
wsl -d AVG-Lab-Restore -- cat /etc/os-release
wsl -d AVG-Lab-Restore -- ls -l /home
Импортированная копия может стартовать под root, если default user не задан: проверьте /etc/wsl.conf и настройку user.default в восстановленной копии. Откройте свои файлы, сравните checksum и выполните задачу, ради которой нужен backup. Архив содержит все доступные данные дистрибутива, включая ключи; храните его защищённо. Export/import.
9. Разобрать ошибки по уровню
Если не запускается VM — проверьте virtualization features, firmware, перезагрузку и nested support. Если WSL запускается, но Linux не видит сеть — routes/DNS/VPN. Если только одно приложение падает — package dependencies, permissions и log приложения. Ошибка установки дистрибутива и ошибка чтения ext4 — разные случаи.
wsl --status
wsl --version
wsl --list --verbose
Get-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Get-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Не начинайте устранение с wsl --unregister: он удаляет дистрибутив и его данные. Сначала backup, чтение официального troubleshooting и конкретный код ошибки. Обновление runtime выполняется через wsl --update по принятой политике, затем контролируется повторным запуском и тестом Linux workload. Mirrored networking доступен в подходящих Windows 11 22H2+; не обещайте его работу в обычной Windows 10.
10. Удалить лабораторию и передать рабочее окружение в поддержку
После теста сохраните нужные данные и убедитесь, что backup открывается. Для удаления только созданной восстановленной копии сначала проверьте точное имя:
wsl --list --verbose
# Только тестовая копия, данные которой больше не нужны
wsl --terminate AVG-Lab-Restore
wsl --unregister AVG-Lab-Restore
wsl --list --verbose
Исходный Ubuntu-24.04 этим сценарием не удаляется. Удаление всей WSL feature — отдельное действие, которое может затронуть другие приложения и окружения. Для рабочего комплекта документируйте Windows support, WSL version, distro, пути данных, resource limits, VPN/DNS, backup и проверку восстановления. Приёмка подтверждает реальную административную задачу: SSH к разрешённому стенду, работа с проектом, сетевой доступ и успешное восстановление, а не только появление строки Linux в терминале.
Нужно обслуживать рабочие места сотрудников?
Учёт конфигураций, обновления, защита и единый канал обращений уменьшают простои пользователей.
