Попытка использовать bash в Windows без сообщения об установленных дистрибутивах


102

Я пытаюсь использовать bash в Windows 10 , но получаю это сообщение при попытке запустить bash:

Подсистема Windows для Linux не имеет установленных дистрибутивов. Дистрибутивы можно установить, посетив Магазин Windows: https://aka.ms/wslstore Нажмите любую клавишу, чтобы продолжить ...

Когда я перехожу на этот URL-адрес, который открывает приложение Windows Store , там нет никаких признаков какого-либо дистрибутива Linux .

Моя версия для Windows (как в правом нижнем углу экрана):

Предварительная версия Windows 10 Enterprise Insider. Пробная копия сборки 16215.rs_prerelease.170603-1840

Я следую инструкциям в этом руководстве по установке, а также смотрел это видео « Редактирование кода и файлов в подсистеме Windows для Linux в Windows 10» от Скотта Хансельмана, но они не получили сообщения об отсутствии установленного дистрибутива.

Любая помощь?


Cygwin может быть альтернативой, [Linux / Unix]-подобной средой для Windows: cygwin.com ... вы можете получить bash и многие другие вещи из этого интерфейса.
Paul T.

Stack Overflow - это сайт для вопросов по программированию и разработке. Этот вопрос кажется не по теме, потому что он не о программировании или разработке. См. Какие темы можно задать здесь в Справочном центре. Возможно, лучше спросить Super User или Unix & Linux Stack Exchange .
jww

6
@jww не является прямым вопросом разработки, но мне нужен этот bash в Windows, чтобы протестировать некоторые новые вещи, которые я пытаюсь использовать с ядром .net, и все новые вещи в новом техническом стеке Microsoft, также это связано с программированием, потому что общий Я думаю, пользователю Windows это не нужно.
ddieppa


Я прочитал эту статью сегодня Ubuntu теперь доступен для загрузки в Магазине Windows , но при открытии магазина Ubuntu отображается как не установленное приложение
ddieppa

Ответы:


164

Когда открылся Магазин Windows, lxrun /installу меня не было выбора дистрибутива, затем я нашел эту команду и тоже сработал для меня.

В результате вы получите что-то вроде этого:

C:\WINDOWS\system32>lxrun /install
Warning: lxrun.exe is only used to configure the legacy Windows Subsystem for Linux distribution.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore

This will install Ubuntu on Windows, distributed by Canonical and licensed under its terms available here:
https://aka.ms/uowterms

Type "y" to continue: y
Downloading from the Microsoft Store... 100%
Extracting filesystem, this will take a few minutes...
Would you like to set the Ubuntu locale to match the Windows locale (en-FI)?
The default locale is en_US.
Type "y" to continue: y
Please create a default UNIX user account. The username does not need to match your Windows username.
For more information visit: https://aka.ms/wslusers
Enter new UNIX username: <you type your login here>
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Installation successful!
Documentation is available at:  https://aka.ms/wsldocs

1
Никогда не видите дистрибутив для выбора в Магазине Windows, но команда lxrun / install работала нормально
ddieppa

2
Вот распечатанный экран процесса после запуска lxrun / install Установка Bash в Windows
ddieppa

1
При запуске lxrun появляется следующее предупреждение, поэтому я проголосовал против:> Предупреждение: lxrun.exe используется только для настройки устаревшей подсистемы Windows для дистрибутива Linux.
Randall Flagg

1
Если вам интересно, эту команду нужно запускать в командной строке.
h-rai

1
lxrun, похоже, не существует в Windows 2019
DAB

26

У меня похожая ошибка после попытки удалить и переустановить.

Для меня мне пришлось открыть командную строку от имени администратора и запустить lxrun /install


1
При запуске lxrun появляется следующее предупреждение, поэтому я проголосовал против:> Предупреждение: lxrun.exe используется только для настройки устаревшей подсистемы Windows для дистрибутива Linux.
Randall Flagg

Ну, прошел год @RandallFlagg =), теперь, когда дистрибутивы обрабатываются в магазине Windows, весь вопрос неверен.
Леви

25

Я получаю это, когда недавно перезагружался. Если я подожду 5 минут, проблема исчезнет сама собой!


4
Я рад, что нашел этот ответ, я использую подсистему Windows для Linux более года, и сегодня, когда я только что включил свой ноутбук, он впервые обнаружил эту ошибку для меня, и я подумал, что собирался запустить lxrunкоманду из первого ответа или найти что-то для установки, чтобы исправить это, но, увидев этот ответ, я решил просто подождать, и вы были правы, он действительно начал работать через несколько минут.
Davy M

1
Ого, ты прав! Я перезагрузился в первый раз с тех пор, как установил WSL, получаю эту ошибку и пугаюсь. Так странно ...
kyw 02

2
Это актуально, если вы уже установили дистрибутив Linux из магазина.
Sworgkh

1
это работает. это не расстраивает. выключил компьютер, забыл зафиксировать git, затем ждал перезагрузки ... и теперь сижу здесь. есть идеи, почему это занимает минуты ?!
chug2k

2
Я не уверен, почему это происходит, но вместо того, чтобы ждать 5 минут, перезапуск службы LxssManager работает для меня.
ctorx


5

Если вы получаете эту ошибку после установки дистрибутива с использованием магазина Windows, а WSL работал ранее, вам может потребоваться убедиться, что служба LxssManager запущена, поскольку она часто останавливается после обновления Windows или перезагрузки.

Перейдите на services.msc, найдите LxssManagerи запустите его; если он уже запущен, перезапустите его.


4

Вам нужно перейти по этой ссылке https://aka.ms/wslstore и загрузить ubuntu для Windows. После этого вы можете использовать bash в Windows.


Похоже, ссылка работает не для всех стран. С какой стати они поместили там региональную блокировку?
Karlth

Это не работает. Он открывает магазин и говорит, что что-то не так, дистрибутивы не отображаются. Как ни странно, они доступны из поиска, но списка дистрибутивов WSL нет
Зои

@Zoe Я думаю, что это должно быть на твоей стороне, потому что, по иронии судьбы, я только что успешно выполнил этот шаг всего через 55 минут после того, как ты прокомментировал. Может попробовать еще раз! :)
joshmcode

@joshmcode прошло 19 часов, все еще не работает. Все тот же «Подождите немного и попробуйте еще раз». Если 19 часов не исправят, нет смысла пытаться. Как упоминалось в первом комментарии к этому вопросу, это может быть региональная проблема, и в этом случае ожидание ничего не исправит.
Zoe

Понимаю. Сожалею! :( Надеюсь, вы скоро найдете обходной путь.
joshmcode

4

Лучших ответов на этот вопрос более чем достаточно. У меня просто были проблемы с их выполнением, потому что lxrunкоманда устарела, поэтому я получаю сообщение об ошибке

'lxrun' не распознается как внутренняя или внешняя команда, работающая программа или командный файл.

когда я пытаюсь запустить эту команду с помощью cmd.

Он был заменен на wslcommand. Вы можете получить дополнительную информацию по этой проблеме здесь - https://github.com/MicrosoftDocs/WSL/issues/425

При запуске wsl /installесть вероятность, что вы по-прежнему можете получить ошибку, которую вы ранее писали в своем вопросе. В этом случае просто перейдите по ссылке https://aka.ms/wslstore, как вы делали ранее. Если вы ничего не видите, просто найдите Ubuntu и установите то же самое. (Если вы wslвыполните поиск с этим термином , вы также увидите другие варианты Linux, а затем вы сможете загрузить любой по своему выбору)


1
Спасибо, что упомянули об этом. Команда lxrun / install не сработала, но wsl / install сработала
Байг

3
lxrun /install

Работает в командной строке администратора для Windows 10 Professional, версия 1803, сборка 17134.165

Это устанавливает GNU / Linux по умолчанию, тогда как есть возможность выбрать между:

  • Ubuntu
  • openSUSE Leap 42
  • SUSE Linux Enterprise
  • Debian GNU / Linux
  • Kali Linux

Если указанная ссылка ( https://aka.ms/wslstore ) работает, она открывает для меня магазин Windows с ошибкой, в которой говорится, что с их стороны что-то не так, и я могу повторить попытку позже.


2

Если у вас возникли проблемы с запуском lxrun /install(например, в версии ltsb для Windows) попробуйте ручной режим.

Сначала перейдите в папку с загруженным .appxфайлом и выполните следующие команды (при необходимости измените имя файла):

Rename-Item ~/Ubuntu.appx ~/Ubuntu.zip
Expand-Archive ~/Ubuntu.zip ~/Ubuntu

После завершения cd в новую папку и запустите ubuntu.exeфайл. Вот и все.


Это единственный ответ, который сработал для меня на Server 2019 build 1809
Gostega

2

На самом деле решить эту проблему проще, чем другие решения, перечисленные здесь. Если вы запустите, wslconfig /lи если на выходе будет:

Windows Subsystem for Linux Distributions: Ubuntu (Default)

Просто запустите, wslconfig /s Ubuntuчтобы снова установить Ubuntu по умолчанию. Теперь он должен начать работать.

Редактировать:

Я также обнаружил, что если эта проблема возникает при новой загрузке, вы просто подождите несколько минут (максимум 10 минут), и эта ошибка автоматически исчезнет.

Изменить 2: я также обнаружил, что эта ошибка иногда также связана с неработающей соответствующей службой. Запускаем CMD от имени администратора и запускаем

net start LxssManager


1

У меня была такая же проблема. Но когда вы идете в магазин Windows, вы можете искать ubuntu, а затем устанавливать приложение ubuntu, и оно работает. Я думаю, что большинство руководств в сети взяты из бета-версии и впоследствии никогда не обновлялись.

https://insights.ubuntu.com/2017/07/11/windows-10-loves-ubuntu-loveislove/

Примечание: это тоже старый. Вам не обязательно участвовать в инсайдерских сборках. Я нет, и это сработало.




1

Ввод lxrun /installв командной строке с повышенными привилегиями работает ....


1

Для запуска bash в Windows необходимо установить ubuntu.

Поскольку вы уже добавили bash из программ и функций, теперь вам нужно установить Ubuntu. В отличие от большинства руководств по установке в Интернете, он не устанавливается при запуске bash.exe.

Вы можете просто зайти в магазин Microsoft в поисках «Bash» или «Ubuntu» и установить оттуда Ubuntu 18 LTS.

После установки вы сможете использовать терминал и все его команды.



0

как сказал новичок в своем ответе, вам нужно пойти в магазин и найти дистрибутивы, которые вы хотите установить. См. Следующую ссылку перейдите чтобы понять, что изменилось и что вы можете ожидать или какие дистрибутивы вы можете искать (список устарел, поэтому просто попробуйте найти обновленный список или просто попытайте счастья).

Я работаю на своей машине без режима разработчика Ubuntu, OpenSuse и Kali .



0

Для всех, кто получает

'lxrun' is not recognized as an internal or external command,
operable program or batch file.

или

Windows Subsystem for Linux has no installed distributions.
Distributions can be installed by visiting the Microsoft Store:
https://aka.ms/wslstore

Откройте магазин Microsoft, установите «Ubuntu» и откройте приложение. Это установит ubuntu, а позже вы можете использовать wslкоманду, поскольку lxrunона устарела


0

Ссылка на магазин содержит блокировку региона, что приводит к ошибкам для многих посетителей.

Однако есть разные дистрибутивы Ubuntu, которые нужно загрузить. См. Изображение ниже, однако изображение на голландском языке, но оно покажет результаты.

Так что выберите желаемую версию, и это приведет к рабочему bash.

введите описание изображения здесь

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.