尝试在Windows上使用bash并没有安装分发消息


101

我正在尝试在Windows 10上使用bash,但在尝试运行bash时收到此消息:

Linux的Windows子系统没有已安装的发行版。可以通过访问Windows应用商店来安装发行版:https : //aka.ms/wslstore按任意键继续...

当我转到打开Windows Store应用程序的URL时,那里没有任何Linux发行版的迹象。

我的Windows版本是(如屏幕右下角所示):

Windows 10企业内部预览版。评估副本。版本16215.rs_prerelease.170603-1840

我按照本指南《安装指南》中的说明进行操作,还观看了该视频,斯科特·汉塞尔曼(Scott Hanselman)在Windows 10上的Linux子系统上为Windows子系统编辑代码和文件,但是他们没有收到未安装发行版的消息。

有帮助吗?


Cygwin可能是Windows的类似[Linux / Unix]的环境:cygwin.com ...您可以从此界面获取bash以及许多其他内容。
Paul T.

堆栈溢出是一个用于编程和开发问题的站点。这个问题似乎与主题无关,因为它与编程或开发无关。请在帮助中心中查看我可以询问哪些主题。也许超级用户Unix&Linux Stack Exchange是一个更好的选择。
jww

6
@jww不是直接的开发问题,但是我需要在Windows上使用此bash来测试我正在尝试使用.net core的一些新内容以及新Microsoft技术堆栈中的所有新内容,这也与编程有关,因为我认为Windows用户不需要此。
ddieppa


我今天读了这篇文章,Ubuntu现在可以在Windows Store上下载,当打开该商店时,Ubuntu显示为未安装的应用程序
ddieppa

Answers:


164

Windows Store打开时,没有可供选择的Distro,然后我找到了此命令,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 在Windows上安装Bash
ddieppa

1
当运行lxrun时,会显示以下警告,这就是为什么我拒绝投票:>警告:lxrun.exe仅用于为Linux发行版配置旧版Windows子系统。
Randall Flagg '18

1
如果您想知道,该命令需要在命令提示符下运行。
h-rai

1
Windows 2019上似乎不存在lxrun
DAB

26

尝试卸载并重新安装后出现类似的错误。

对我来说,我必须以管理员身份打开一个cmd提示符并运行 lxrun /install


1
当运行lxrun时,会显示以下警告,这就是为什么我拒绝投票:>警告:lxrun.exe仅用于为Linux发行版配置旧版Windows子系统。
Randall Flagg '18

好了已经一年了@RandallFlagg =),现在分发是在Windows存储中处理的,整个问题都是无效的。

25

我最近重新启动时得到了这个。如果我等待5分钟,问题将自行解决!


4
我很高兴找到这个答案,我已经使用Linux的Windows子系统已有一年多了,今天,当我刚打开笔记本电脑的电源时,这是我第一次出现此错误,我以为我本来必须lxrun从第一个答案运行命令或找到要修复该问题的安装程序,但是看到此答案后,我决定只是等待,您是对的,几分钟后它确实开始工作。
戴维M,

1
哇,你是对的!自安装WSL以来,我第一次重新启动,但出现此错误并感到异常。好奇怪...
kyw

2
如果您已经从商店安装了Linux发行版,则这是相关的。
Sworgkh '18

1
这可行。这是令人沮丧的。关闭计算机,忘记提交到git,然后等待重新启动...现在坐在这里。你知道为什么要花几分钟吗?
chug2k

2
我不知道为什么会这样,但是我不等5分钟重新启动LxssManager服务。
ctorx


5

如果在使用Windows存储安装发行版后收到此错误,并且WSL以前可以运行,则可能需要确保LxssManager服务正在运行,因为它通常在Windows更新或重新启动后停止。

转到services.msc,搜索LxssManager并启动它;如果它已经在运行,请重新启动它。


4

您必须转到https://aka.ms/wslstore此链接并在Windows上下载ubuntu。之后,您可以在Windows上使用bash。


该链接似乎不适用于所有国家/地区。他们为什么在地球上将区域锁定在那里?
卡尔斯,

这行不通。它打开了商店,说出了什么问题,没有发行新闻。奇怪的是,他们是来自搜索访问,但没有了WSL发行版的名单
佐伊

@Zoe我认为这一定在您的立场上,因为具有讽刺意味的是,我只是在您发表评论后55分钟就成功地做到了这一步。也许再试一次!:)
joshmcode

@joshmcode已经19个小时了,仍然无法正常工作。仍然相同,“请稍等片刻,然后重试”。如果19个小时不能解决问题,那就没有必要尝试了。如对此问题的第一条评论所述,这可能是一个地区性问题,在这种情况下,等待不会解决任何问题。
Zoe

我懂了。抱歉! :(我希望您能很快找到解决方法
。– joshmcode

4

为这个问题写的最重要的答案绰绰有余。由于lxrun命令已被弃用,我在跟踪它们时遇到了麻烦,因此我得到了错误

无法将“ lxrun”识别为内部或外部命令,可操作程序或批处理文件。

当我尝试使用cmd运行此命令时。

它已被wsl命令替换。您可以在此处获取有关此问题的更多信息-https: //github.com/MicrosoftDocs/WSL/issues/425

当您运行时wsl /install,仍有可能您仍然收到先前在问题中发布的错误。在这种情况下,只需转到您之前访问的链接https://aka.ms/wslstore。如果看不到任何东西,只需搜索Ubuntu并安装它。(wsl但是,如果您搜索该术语,那么您还将看到其他Linux风格,然后可以下载任何选项)


1
感谢您提及这一点。命令lxrun / install无效,但wsl / install有效
Baig

3
lxrun /install

适用于Windows 10 Professional版本1803 Build 17134.165的管理员命令提示符

默认情况下,这将安装GNU / Linux,而有一个选项供您选择:

  • 的Ubuntu
  • openSUSE飞跃42
  • SUSE Linux Enterprise
  • Debian GNU / Linux
  • 卡利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上对我
有用

2

解决此问题实际上比此处列出的其他解决方案更容易。如果您运行wslconfig /l并且输出为:

Windows Subsystem for Linux Distributions: Ubuntu (Default)

只需运行wslconfig /s Ubuntu即可将Ubuntu再次设置为默认值。它应该立即开始工作。

编辑:

我还发现,如果在全新启动时发生此问题,则只需等待几分钟(最多10分钟),该错误就会自动消失。

编辑2:我也发现此错误有时也是由于相应的服务未运行。以管理员身份运行CMD并运行

net start LxssManager



1

我的公司禁止访问Microsoft Store。对我来说,以下工作在PowerShell(管理员)中-

lxrun /install  



1

为了在Windows上运行bash,需要安装ubuntu。

由于您已经从程序和功能中添加了bash,现在您需要安装Ubuntu。与Web上大多数安装指南中看到的相反,该文件不会通过运行“ bash.exe”来安装。

您只需在Microsoft商店中搜索“ Bash”或“ Ubuntu”,然后从那里安装Ubuntu 18 LTS。

安装后,您将可以使用终端及其所有命令。



0

就像beginner_在他的回答中说的那样,您需要去商店看看要安装的发行版。请查看以下链接,以了解发生了什么变化,可以期待什么或可以寻找哪些发行版(列表已过时,请尝试查找更新的列表或试试运气)。

我在没有开发人员模式Ubuntu,OpenSuseKali的机器上运行。



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已弃用,以后您可以使用command

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.