Работает под управлением 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.