Имя wsl не распознано как имя командлета
Перейти к содержимому

Имя wsl не распознано как имя командлета

  • автор:

Как решить проблему "wsl : Имя "wsl" не распознано как имя командлета. "?

Ввожу "wsl —install" Появляется следующая ошибка: введите сюда описание изображения

Подозреваю, что тот, кто ставил винду, ставил минимальную сборку "без мусора". Концы сейчас не найти, а wsl2 нужен.

Подскажите, как установить wsl 2?

  • Выпуск Windows 11 Pro
  • Версия 21H2
  • Дата установки ‎02.‎12.‎2022
  • Сборка ОС 22000.318
  • Взаимодействие Windows Feature Experience Pack 1000.22000.318.0

В списке компонентов Windows WSL я не нашел введите сюда описание изображения

Имя wsl не распознано как имя командлета

WslRegisterDistribution failed with error: 0x80370102

Error: 0x80370102 The virtual machines could not be started because a required feature is not installed.

Причины ошибки 0x80370102

  • Используется сборкаWindowsInsiderPreview. Многие пользователи инсайдерской версии Windows испытывают данную проблему и это нормально, ведь речь идет о незавершенной системе. Нужно ждать обновлений.
  • Проблемы перехода сWSL 1 наWSL 2. Результат опять же недоработанного программного обеспечения.
  • Выключена или отсутствует аппаратная виртуализация. Ее должен поддерживать процессор. Если такой функции в ЦП не предусмотрено, воспользоваться подсистемой Linux не получится. Может быть, что опция просто отключена и ее нужно включить.
  • ВыключенHyper-V. Это важный компонент виртуальной среды, который участвует в запуске нескольких операционных систем на одной физической машине. Его нужно обязательно активировать.

Что делать при ошибке 0x80370102?

1. Включить аппаратную виртуализацию в BIOS
  1. Нажимаем на виртуальную кнопку в Пуске – «Перезагрузить».
  2. В момент включения компьютера должна быть подсказка снизу с тем, какую клавишу нужно нажать для активации BIOS. Обычно это Del, Esc, F2, но может отличаться. Если не удастся войти с первого раза, нужно будет снов перезагрузить ПК.
  3. Находим вкладку CPU config, Processor или Chipset.
  4. Ищем параметр Virtualization или Виртуализация.
  5. Нажимаем напротив него и выбираем опцию Enable. В зависимости от производителя он может называться Intel Virtualization Technology, AMD-V, Hyper-V, VT-X, Vanderpool, or SVM.
  6. Возвращаемся в начальное окно и жмем на вариант «Save & Exit».

Ошибка WslRegisterDistribution failed with error: 0x80370102

2. Активировать аппаратную виртуализацию в PowerShell и настроить ОЗУ
  1. Нажимаем правой кнопкой мыши по Пуску и выбираем PowerShell (или ищем через поиск). У нее должны быть права администратора.
  2. Вставляем команду Set-VMProcessor <VMName> -ExposeVirtualizationExtensions $true и нажимаем Enter.
  3. Правым кликом мыши выбираем виртуальную машину посредством диспетчера Hyper-V и переходим в ее «Настройки».
  4. Жмем на вкладку «Память» в панели слева и выключаем параметр «Включить динамическую память», просто вручную увеличиваем значение вдвое.
  5. Запускаем виртуальную машину.
  6. Кликаем правой кнопкой мыши по ней и выбираем «Подключиться». После запуска Hyper-V произойдет перезагрузка и при повторной попытке запуска ошибка уже не должна появляться.

Ошибка WslRegisterDistribution failed with error: 0x80370102

3. Запустить компонент Hyper-V
  1. С помощью поиска переходим в «Панель управления».
  2. Открываем «Программы и компоненты».
  3. Жмем на элемент левого меню «Включение или отключение компонентов Windows».
  4. Ищем пункт Hyper-V (один из первых) и устанавливаем флаг возле него.
  5. Перезагружаем компьютер.

Ошибка WslRegisterDistribution failed with error: 0x80370102

Установка и использование подсистемы Linux (WSL 2) в Windows 10

date13.07.2020
userSergey Bo
directoryLinux, Ubuntu, Windows 10, Windows Server 2019
commentsкомментариев 9

установка Windows Subsystem for LInux 2 версия в windows 10

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

Install-WindowsFeature -Name Microsoft-Windows-Subsystem-Linux

windows subsyste for linux update setup

wsl —set-default-version 2

образы linux для wsl в microsoft store

Invoke-WebRequest https://aka.ms/wslubuntu2004 -OutFile ubuntu-2004.zip –UseBasicParsing

Expand-Archive -Path .\ubuntu-2004.zip

wsl --list –-verbose список доступных образов linux

wsl —set-version Ubuntu-20.04 2

запуск команд linux в windows

dir | wsl grep Sa
wsl ls ‑la > 123.txt
wsl ls ‑la /proc/cpuinfo
wsl ls ‑la “/mnt/c/Program Files”

команды linux

запуск команд linux в windows 10 subsystem for linux

sudo apt-get update
sudo apt-get upgrade

sudo apt-get install mc

Midnight Commander в windows 10 wsl2

ip addr | grep eth0

запуск команд linux из windows

VcXsrv Windows X Server

sudo apt-get install gedit
sudo apt-get install firefox
sudo apt-get install x11-app

wsl' is not recognized as an internal or external command

I installed Windows Subsystem for Linux and turned it on under windows turn ON OFF features. And then restarted my Pc. I did check on cmd soon after restarting the PC by typing «wsl» and it works. But when i run my script from its folder which has the command «wsl -e xxx.sh», i get an error

‘wsl’ is not recognized as an internal or external command, operable program or batch file.

Could you guys help me with it please. Thank you.

My PC is running on Os: Windows 10 Pro; Microsoft windows version: 1903; Os Build: 18362.418

anand s's user avatar

3 Answers 3

The most common reason why a command which runs an executable program works on the command line, but not in a batch script, is that, in the script, prior to the line containing the problem command, the user has created a variable %path%. It might seem a handy name for a variable that holds, well, a path. The problem is that this variable name is used by Windows to hold a semicolon-separated list of folders which are searched when an executable is called. It is a system variable. If you have redefined it, then all executables (e.g. .exe, .bat, .vbs, etc) that Windows uses, will not be found, and the script will fail with exactly this message, where xxx is the program or file that is expected:

‘xxx’ is not recognized as an internal or external command, operable program or batch file.

This can be confusing because commands which are internal to the cmd environment (dir, cls, set, copy, move, etc) (list here) still continue to work in this situation.

You can debug a script where this is suspected by inserting the path command immediately before a problem line. The Windows path variable starts with these folders, and may be extended as programs are installed:

Ошибка WslRegisterDistribution failed with error: 0x80370102 – что делать?

Ошибка с кодом 0x80370102 сопровождается сообщением «WslRegisterDistribution failed with error». Имеет привычку появляться при попытке установить дистрибутив Linux для доступа через подсистему Windows к Linux 2 (WSL2). Таким образом процедура развертывания саб-системы обрывается и сам смысл свежевыпущенной функции Windows испаряется. Инсталляция Linux Distro обрывается сообщением:

WslRegisterDistribution failed with error: 0x80370102

Error: 0x80370102 The virtual machines could not be started because a required feature is not installed.

Причины ошибки 0x80370102

Речь идет о совсем новой ошибке, ведь она начала появляться только с конца лета 2021 года с выпуском WSL2. Она начала появляться не только при попытке установить подсистему Linux, но и Debian. В силу новизны, у нее пока нет подробного технического разбора со стороны разработчиков, и мы полагаемся на пользователей и их отчеты. Они указывают на наличие следующих нескольких проблем:

  • Используется сборкаWindowsInsiderPreview. Многие пользователи инсайдерской версии Windows испытывают данную проблему и это нормально, ведь речь идет о незавершенной системе. Нужно ждать обновлений.
  • Проблемы перехода сWSL 1 наWSL 2. Результат опять же недоработанного программного обеспечения.
  • Выключена или отсутствует аппаратная виртуализация. Ее должен поддерживать процессор. Если такой функции в ЦП не предусмотрено, воспользоваться подсистемой Linux не получится. Может быть, что опция просто отключена и ее нужно включить.
  • ВыключенHyper-V. Это важный компонент виртуальной среды, который участвует в запуске нескольких операционных систем на одной физической машине. Его нужно обязательно активировать.

Что делать при ошибке 0x80370102?

Все исправления вытекают из причин ошибки. Пока что мы можем только включить аппаратную виртуализацию и Hyper-V. Если ваша версия Windows (от 2004, май 2020 года) и оборудование позволяет использовать подсистему WSL2, она должна заработать после ручного включения обязательных компонентов.

1. Включить аппаратную виртуализацию в BIOS

Если попытаться запустить Ubuntu или другую разновидность Linux в VirtualBox без активации аппаратной виртуализации, Windows отобразит сразу ряд ошибок. Система начнет грешить на распределение регистров WSL, звук и другие сбои. Данная функция обязательно должна быть включена, иначе запустить виртуальную систему не получится. К сожалению, активируется опция в BIOS, поэтому придется сделать несколько лишних телодвижений.

Как исправить ошибку 0x80370102:

  1. Нажимаем на виртуальную кнопку в Пуске – «Перезагрузить».
  2. В момент включения компьютера должна быть подсказка снизу с тем, какую клавишу нужно нажать для активации BIOS. Обычно это Del, Esc, F2, но может отличаться. Если не удастся войти с первого раза, нужно будет снов перезагрузить ПК.
  3. Находим вкладку CPU config, Processor или Chipset.
  4. Ищем параметр Virtualization или Виртуализация.
  5. Нажимаем напротив него и выбираем опцию Enable. В зависимости от производителя он может называться Intel Virtualization Technology, AMD-V, Hyper-V, VT-X, Vanderpool, or SVM.
  6. Возвращаемся в начальное окно и жмем на вариант «Save & Exit».

Ошибка WslRegisterDistribution failed with error: 0x80370102

2. Активировать аппаратную виртуализацию в PowerShell и настроить ОЗУ

Есть и другой вид виртуализации, так называемая вложенная, позволяющая запускать Hyper-V в виртуальной машине. Она нужна для запуска эмулятора телефона Visual Studio внутри виртуальной машины или тестировать конфигурации оборудования с использованием нескольких хостов. Части пользователей удалось исправить свою ошибку активацией вложенной виртуализации.

Инструкция по исправлению ошибки 0x80370102:

  1. Нажимаем правой кнопкой мыши по Пуску и выбираем PowerShell (или ищем через поиск). У нее должны быть права администратора.
  2. Вставляем команду Set-VMProcessor <VMName> -ExposeVirtualizationExtensions $true и нажимаем Enter.
  3. Правым кликом мыши выбираем виртуальную машину посредством диспетчера Hyper-V и переходим в ее «Настройки».
  4. Жмем на вкладку «Память» в панели слева и выключаем параметр «Включить динамическую память», просто вручную увеличиваем значение вдвое.
  5. Запускаем виртуальную машину.
  6. Кликаем правой кнопкой мыши по ней и выбираем «Подключиться». После запуска Hyper-V произойдет перезагрузка и при повторной попытке запуска ошибка уже не должна появляться.

Ошибка WslRegisterDistribution failed with error: 0x80370102

3. Запустить компонент Hyper-V

Компонент Hyper-V нужен для того, чтобы администраторы могли получать больший контроль над собственным оборудованием при виртуализации нескольких операционных систем на одном оборудовании. Без него ошибка во время установки Linux гарантирована.

Нужно включить Hyper-V и вот, как это можно сделать:

  1. С помощью поиска переходим в «Панель управления».
  2. Открываем «Программы и компоненты».
  3. Жмем на элемент левого меню «Включение или отключение компонентов Windows».
  4. Ищем пункт Hyper-V (один из первых) и устанавливаем флаг возле него.
  5. Перезагружаем компьютер.

Ошибка WslRegisterDistribution failed with error: 0x80370102

Это лучшее, что мы можем предложить для исправления ошибки WslRegisterDistribution failed with error: 0x80370102. Перечисленные методы работают у большинства, на это указывают ответы в комментариях на форумах, поэтому без зазрений совести можем их рекомендовать к использованию.

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

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