在多种情况下,你可能无法(或不想)通过 Microsoft Store 安装 WSL Linux 发行版。 具体而言,你可能运行的是不支持 Microsoft Store 或公司网络策略和/或管理员在你的环境中不允许 Microsoft Store 使用的 Windows Server 或长期服务(LTSC)桌面操作系统 SKU。
在这些情况下,虽然 WSL 本身可用,但如果你无法访问应用商店,如何下载并在 WSL 中安装 Linux 发行版?
注意:不允许在 Windows 10 S 模式上运行命令行 shell 环境,包括 Cmd、PowerShell 和 Linux/WSL 发行版。 存在此限制是为了确保模式提供的完整性和安全性目标:阅读此文章了解详细信息。
如果 Microsoft Store 应用不可用,则可以通过单击以下链接下载并手动安装 Linux 发行版:
这将导致 <distro>.appx
包下载到你选择的文件夹。 按照安装说明安装下载的发行版。
如果愿意,也可以通过命令行下载首选的发行版:
若要使用 PowerShell 下载发行版,请使用WebRequest cmdlet。 下面是下载 Ubuntu 16.04 的示例说明。
1 2 |
<span class="hljs-pscommand">Invoke-WebRequest</span><span class="hljs-parameter"> -Uri</span> https://aka.ms/<span class="hljs-pscommand">wsl-ubuntu</span>-<span class="hljs-number">1604</span><span class="hljs-parameter"> -OutFile</span> Ubuntu.appx<span class="hljs-parameter"> -UseBasicParsing</span> |
提示
如果下载需要很长时间,请通过设置 $ProgressPreference = 'SilentlyContinue'
来关闭进度栏。
Windows 10 春季2018更新(或更高版本)包含可从命令行调用 web 请求(例如 HTTP GET、POST、PUT 等命令)的常用卷命令行实用程序。 您可以使用 curl.exe
下载上述发行版:
1 2 |
curl.exe -L -o ubuntu-1604.appx https://aka.ms/wsl-ubuntu-1604 |
在上面的示例中,将执行 curl.exe
(而不只是 curl
),以确保在 PowerShell 中调用实卷可执行文件,而不是调用WebRequest的 powershell 卷别名。
注意:如果必须使用 Cmd shell 和/或
.bat
/.cmd
脚本来调用/编写下载步骤,则使用curl
可能更可取。
如果使用的是 Windows 10,则可以使用 PowerShell 安装发行版。 只需导航到包含上面下载的发行版的文件夹,并在该目录中运行以下命令,其中 app_name
是发行版文件的名称。
1 2 |
<span class="hljs-pscommand">Add-AppxPackage</span> .\app_name.appx |
如果使用的是 Windows server,可以在Windows server文档页上找到安装说明。
安装发行版后,请参阅初始化步骤页,初始化新的发行版。
from:https://docs.microsoft.com/zh-cn/windows/wsl/install-manual