Windows 10: обновление WSL до версии 2

С выходом майского обновления 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 в качестве бэкенда.

На великом и могучем очень подробно написано, как провести обновление. Но данной статьи и не возникло бы, будь всё так легко, т.к. обновление и правда простое:

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 показывает обновленную вторую версию.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *