Я включил WSL и перезапустил свой компьютер
и установленный Ubuntu из магазина приложений Windows и задайте имя и пароль
Я установил Docker, но когда он запускается, я получаю сообщение WSL2 не установлен, поэтому я запускаю эту команду в PowerShell как администратор, но получаю сообщение об ошибке
Enable-WindowsOptionalFeature : Запрос не поддерживается. В строке: 1 символ: 1+ Enable-WindowsOptionalFeature -Online -FeatureName $ ("VirtualMachineP ... + ~~~~~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo: NotSpecified: (:) [Enable-WindowsOptionalFeature], COMException + FullyQualifiedErrorId: Microsoft.Dism.Commands.EnableWindowsOptionalFeatureCommand
Я искал и в соответствии с этим ответом https://serverfault.com/questions/337905/enables-powershell-remoting-access-is-denied# answer-590677 Я запускаю это как администратор
reg add HKLM SOFTWARE Microsoft Windows CurrentVersion Policies System/v LocalAccountTokenFilterPolicy/t REG_DWORD/d 1/f
, и я получаю сообщение об успехе. Я закрыл PowerShell, снова открылся как администратор и снова запустил ту же команду, но получил ту же ошибку.
Как мне установить WSL 2 в Windows 10 (домашняя версия), чтобы запустить докер, используя он не использует Hyper-V ??
Вам также необходимо включить платформу виртуальных машин в диалоговом окне Windows Features.
WSL 2 FAQs
Использует ли WSL 2 Hyper-V? Будет ли он доступен в Windows 10 Домашняя?
WSL 2 доступен во всех SKU, где в настоящее время доступен WSL, включая Windows 10 Домашняя.
Новейшая версия WSL. использует архитектуру Hyper-V для виртуализации. Эта архитектура будет доступна в дополнительном компоненте «Платформа виртуальных машин». Этот дополнительный компонент будет доступен для всех SKU. Вы можете рассчитывать увидеть больше подробностей об этом опыте, когда мы приблизимся к выпуску WSL 2.
Чтобы перейти к приведенному выше диалоговому окну, вы можете просто щелкнуть правой кнопкой мыши меню Пуск и затем вверху выбрать Приложения и функции . Там нажмите Дополнительные функции вверху, а затем в следующем окне в правом верхнем углу вы увидите Дополнительные функции Windows .
Затем
Далее
И теперь вы должны увидеть диалоговое окно выше.
Установка и использование подсистемы Linux (WSL 2) в Windows 10
Подсистема Windows для Linux (WSL) — подсистема ОС Windows 10, позволяющая разработчикам, тестировщикам запускать нативные приложения Linux, писать скрипты, выполнять команды непосредственно из Windows. В обновлённой Windows 10 (2004) появилась 2 версия WSL, в которой используется полноценное ядро Linux с запуском приложений и контейнеров Docker, реализована высокая скорость загрузки, небольшой объем потребляемых ресурсов, управление в фоновом режиме, обновление ядра. Таким образом вы сможете запускать программы ELF64, которые могут получить доступ к файлам системы Windows без использования сторонних порто (таких как Cygwin).
Образ ядра Linux (версия ядра 4.19) в Windows 10 представляет собой легкую виртуальную машину, для запуска которой не нужно ставить полноценную роль Hyper-V. Системные вызовы Linux транслируются на лету в вызовы Windows без использования эмулятора (в отличии от WSL1).
Изначально компонент WSL отключен. Чтобы его включить, вам необходимо зайти в Пуск -> Панель управления -> Программы и компоненты -> Включение и отключение компонентов Windows (Панель управления Все элементы панели управления Программы и компоненты Включение и выключение функций Windows), активировать галочку Подсистема Windows для Linux ( Подсистема Windows для Linux ) , нажмите кнопку ОК, и перезагрузить компьютер.
Вы можете включить компоненты WSL в Windows 10 с помощью DISM:
dism.exe/online/enable-feature/featurename: VirtualMachinePlatform/all/norestart
dism.exe/online/enable-feature/featurename: Microsoft-Windows-Subsystem -Linux/all/norestart
или PowerShell
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux
После этого также необходимо перезагрузить компьютер.
Теперь вам нужно выполнить обновление WSL до версии 2. Для этого требуется зайти на сайт https://docs.microsoft.com/ ru-ru/windows/wsl/wsl2-kernel, скачать файл wsl_update_x64.msi , установить его. По завершении картинки
Чтобы сделать WSL2 архитектурой по умолчанию для новых дистрибутивов, в PowerShell выполните команду:
wsl --set-default-version 2
Далее вам необходимо открыть Microsoft Store , появившемся в списке выбора нужный дистрибутив. Доступные Ubuntu, Debian, Kali Linux, Linux Cheatsheet, SUSE Linux Enterprise Server15, openSUSE Leap 15-1, Pengwin Enterprise, Fedora Remix для WSL или др. В нашем примере мы будем использовать Ubuntu 20.04 LTS, нажмите кнопку «Получить».
Invoke-WebRequest https://aka.ms/wslubuntu2004 -OutFile ubuntu-2004.zip –UseBasicParsing
Распакуйте архив:
Expand-Archive - Путь. Ubuntu-2004.zip
Запустите установку образа Linux с помощью файла Ubuntu.exe.
Также вы можете скачать образ в виде appx файла и установить его с помощью командлета Add-AppxPackage.
После установки можно проверить использовать версию WSL с помощью команды
wsl --list –-verbose
Если в вашей среде Linux указана версия 1, нужно изменить ее на WSL2 командой:
wsl --set-version Ubuntu-20.04 2
Файл жёсткого диска с образом представленной машины ОС Linux Ubuntu 20.04 будет располагаться в профиле пользователя: C: Users 234 AppData Local Packages CanonicalGroupLimited.Ubuntu20. 04onWindows_79rhkp1fndgsc LocalState .
После установки дистрибутива в стартовом меню появляется ярлык на него. Для запуска Ubuntu выберите меню Пуск, выберите соответствующий ярлык и получите в отдельном окне полноценную командную оболочку Bash. Запускать WSL можно и с помощью команды wsl. При первом запуске программы в строке Bash вам будет предложено создать пользователя и пароль (которые не должны совпадать с учётной записью Windows). Чтобы выполнять команды с правами root, необходимо использовать дополнительный ключ (префикс) sudo. В WSL есть общие команды для Bash и CMD, что система Linux чувствительна к регистру.
Вы можете выполнить Linux-команды из CMD. Для этого необходимо вначале указать «WSL». Например, для просмотра списка файлов и папок в каталоге Windows выполните:
wsl
ls/mnt
ls/mnt/c
dir | wsl grep Sa
wsl ls ‑la> 123.txt
wsl ls ‑la/proc/cpuinfo
wsl ls ‑la «/mnt/c/Program Files»
Также вы можете открыть проводник командой explorer.exe , калькулятор — calc.exe, блокнот — notepad.exe, paint — mspaint.exe, календарь — cal, погоду — curl wttr.in
Еще один примери 2х систем — вы можете открыть в Windows файл из WSL-дистрибутива по сетевому пути. Для этого в CMD наберите путь к файлу:
notepad \ wsl $ Ubuntu-20.04 home 1122.txt
Из окна консоли вы можете обновить список пакетов в Ubuntu с помощью команд:
sudo apt-get update
sudo apt-get upgrade
После обновления Ubuntu папка…/LocalState будет занимать 1,5 Гб.
Чтобы удобнее копировать файлы, просматривать директории и их содержимое, загружать файлы менеджера Midnight Commander с помощью команды
sudo apt-get install mc
Вы можете запустить Midnight Commander как в оболочке Bash, так и внутри CMD. На скриншоте ниже показано, что в двух панелях MC показывает список файлов с обеих ОС.
Можно отобрахить сетевые настройки (IP-адрес) IP-адрес Linux-системы:
ip addr | grep eth0
В WSL не предусмотрена работа приложений с графическим интерфейсом. Тем не менее вы можете попробовать их установить и использовать. Чтобы запустить графические приложения в Linux, нужно скачать и установить в Windows VcXsrv Windows X Server (https://sourceforge.net/projects/vcxsrv/).
С помощью пакетного менеджера apt-get установим несколько графических программ: например, браузер, текстовый редактор или что-то ещё:
sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11- app
Затем создайте файл в директории root :
cd/~
vim .bash_login
впишите строку
export DISPLAY = $ (cat/etc/resolv.conf | grep nameserver | awk '{print $ 2}'): 0
сохраните запись
Esc ->: wr ->: q
Теперь можете запустить графические программы Linux через WSL командами:
firefox
или
gedit
Вы можете установить в Windows 10 несколько дистрибутивов Linux и запускать одновременно в разных окнах WSL. Вы можете представить весь набор дистрибутивов с помощью команд:
wsl --list –all
для завершения работы всех запущенных дистрибутивов и ядра WSL 2, выполните команду:
wsl --shutdown