Может ли Windows 10 поддерживать WSL1 и WSL2?

Может ли Windows 10 поддерживать WSL1 и WSL2?

Работает под управлением Windows 10 (версия 21H1 19043.1415).

Я включил требуемые функции Windows WSL некоторое время назад. С тех пор я несколько раз переключался между WSL1 и WSL2 с пакетами Linux.

Я использовал Docker некоторое время. Похоже, что недавние обновления Docker перевели Docker с WSL1 на WSL2 на Windows.

Ubuntu только что был удален с ПК. Состояние WSL было проверено:

wsl --list --verbose

Возвращенный статус показывает:

ИМЯ СОСТОЯНИЕ ВЕРСИЯ
docker-desktop-data Остановлено 2
docker-desktop Остановлено 2

Вопрос: Можно ли установить версию подсистемы Windows Linux, Ubuntu 20.04, как WSL1? Это означает, что на ПК активны как WSL1, так и WSL2?

решение1

Да. В Windows 10 могут быть активны как WSL1, так и WSL2.

Изучив основные команды для WSL в Microsoft, я узнал, что версию подсистемы Windows в Linux можно легко преобразовать из WSL1 в WSL2 и наоборот.

https://docs.microsoft.com/en-us/windows/wsl/basic-commands

Ниже показано, как Ubuntu (или другие дистрибутивы) можно преобразовать из WSL1-WSL2 и обратно. Все команды были командами, заданными в Windows Terminal (новый PowerShell). Команды PowerShell для преобразования:

wsl --set-version ubuntu 1
wsl --set-version ubuntu 2

Ubuntu (только что) переустановили (снова) из Microsoft Store. Имя пользователя и пароль были созданы. Обновления/обновления sudo не производились (пока). Состояние WSL было проверено и показало, что недавно установленная (работающая) Ubuntu была установлена ​​как WSL2.

PS C:\Users\prior> wsl --list --verbose
ИМЯ СОСТОЯНИЕ ВЕРСИЯ
docker-desktop-data Остановлено 2
docker-desktop Остановлено 2
Убунту Бег 2

Затем Ubuntu был преобразован из WSL2 в WSL1. Статус был проверен снова. Это показало, что Ubuntu был преобразован в WSL1 и остановился.

  PS C:\Users\prior> wsl --set-version ubuntu 1

Выполняется преобразование, это может занять несколько минут... Преобразование завершено.

  PS C:\Users\prior> wsl --list --verbose
ИМЯ СОСТОЯНИЕ ВЕРСИЯ
docker-desktop-data Остановлено 2
docker-desktop Остановлено 2
Убунту Остановлено 1

Ubuntu был перезапущен из списка приложений Windows Start. Статус WSL был проверен снова. Статус вернулся, показывая, что Ubuntu работает как WSL1. Приложения Docker по-прежнему были WSL2.

PS C:\Users\prior> wsl --list --verbose
ИМЯ СОСТОЯНИЕ ВЕРСИЯ
docker-desktop-data Остановлено 2
docker-desktop Остановлено 2
Убунту Бег 1

Docker был запущен и статус WSL проверен. Становится ясно, что файлы WSL1 и WSL2 могут быть активны и запущены в Windows 10.

PS C:\Users\prior> wsl --list --verbose
ИМЯ СОСТОЯНИЕ ВЕРСИЯ
docker-desktop-data Бег 2
docker-desktop Бег 2
Убунту Бег 1

Затем, ради любопытства, Ubuntu был преобразован обратно в WSL2 и затем запущен. Статус был проверен и показал, что преобразование в WSL2 прошло успешно. Ubuntu и Docker — это WSL2, и они работают.

PS C:\Users\prior> wsl --set-version ubuntu 2

Выполняется преобразование, это может занять несколько минут... Информацию о ключевых отличиях от WSL 2 см. на сайтеhttps://aka.ms/wsl2 Конвертация завершена.

PS C:\Users\prior> wsl --list --verbose
ИМЯ СОСТОЯНИЕ ВЕРСИЯ
docker-desktop-data Бег 2
docker-desktop Бег 2
Убунту Бег 2

Кажется очевидным, что не было необходимости удалять и переустанавливать Linux каждый раз при переключении подсистемы на WSL1 или WSL2.

Связанный контент