UPD. Теперь WSL в последних версиях Windows легко установить одной командой
wsl --install
С выходом майского обновления Windows 2004 появилась возможность использования подсистемы WSL, о которой подробно можно прочитать на русском языке на сайте Microsoft: https://docs.microsoft.com/ru-ru/windows/wsl/about. В данной же заметке расскажу о том, как обновиться с 1 версии на WSL и с какой трудностью я столкнулся.
Я использую WSL1 с Windows-ноутбука как замену десктопа на Linux, т.к. WSL выполняет базовые функции, необходимые мне для администрирования, особенно в сочетании с Windows Terminal. Идея обновления возникла после необходимости установки Docker Desktop для Windows 10 Home — тут уже требуется WSL2 в качестве бэкенда.
На великом и могучем очень подробно написано, как провести обновление. Но данной статьи и не возникло бы, будь всё так легко, т.к. обновление и правда простое:
- должна быть Windows 10 с обновлением до версии 2004, сборкой 19041
- от имени админа в консоли включить компонент:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- Перезагрузить ПК и выполнить:
wsl --set-default-version 2
Но на последнем шаге после завершения на выходе писалось: “Для получения сведений о ключевых различиях с WSL 2 перейдите на страницу https://aka.ms/wsl2” и никакого преобразования не происходило. ПК перезагружал несколько раз. То ли я не разобрался в деталях и нужно обновляться до установки самого дистрибутива, то ли где-то что-то упустил, но по изложенному мануалу на оф. сайте, выполняя пошагово команды, обновление не удалось.
Решение проблемы стало следующее: проверить, что имеется из установленного WSL в командной строке:
wsl -l -v
NAME STATE VERSION
* Ubuntu-18.04 Stopped 1
И после получения наименования установленной сборки (Ubuntu-18.04 в моём случае), необходимо именно его указывать для преобразования до WSL 2:
wsl.exe --set-version Ubuntu-18.04 2
Выполняется преобразование, это может занять несколько минут...
Для получения сведений о ключевых различиях с WSL 2 перейдите на страницу https://aka.ms/wsl2
После этого wsl -l -v показывает обновленную вторую версию.
Огромное спасибо автору <3