在 Windows 10 上安装适用于 Linux 的 Windows 子系统 (WSL) | Microsoft Docs

适用于 Linux 的 Windows 子系统安装指南 (Windows 10)

安装适用于 Linux 的 Windows 子系统 (WSL) 时有两个选项:

  • 简化安装 (预览版)wsl --install

    要使用 wsl --install 简化安装命令,你需要加入 Windows 预览体验计划 并安装 Windows 10 的预览版(OS 版本 20262 或更高版本),但不需要执行手动安装步骤。 只需使用管理员权限打开命令窗口并运行 wsl --install,重启后即可使用 WSL。

  • 手动安装 :按照下列 6 个步骤进行操作。

    下面列出了 WSL 的手动安装步骤,可按这些步骤在任意版本的 Windows 10 上安装 Linux。

备注

如果在安装过程中遇到问题,请查看本页底部的安装问题疑难解答。

Windows 预览体验计划的简化安装

在 Windows 10 的最新 Windows 预览体验预览版中,显著改进了适用于 Linux 的 Windows 子系统的安装过程,将以下手动步骤替换为单个命令。

要使用 wsl --install 简化安装命令,必须先完成以下操作:

  • 加入 Windows 预览体验计划

  • 安装 Windows 10 的预览版(OS 版本 20262 或更高版本)。

  • 使用管理员特权打开命令行窗口

满足这些要求后,可通过以下方式安装 WSL:

  • 在管理员模式下打开命令行,并输入以下命令:wsl.exe --install

  • 重启计算机

首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,要求你等待将文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。

然后,需要为新的 Linux 分发版创建用户帐户和密码

祝贺你!现已成功安装并设置了与 Windows 操作系统完全集成的 Linux 分发!

--install 命令执行以下操作:

  • 启用可选的 WSL 和虚拟机平台组件

  • 下载并安装最新 Linux 内核

  • 将 WSL 2 设置为默认值

  • 下载并安装 Linux 分发版(可能需要重启)

默认情况下,安装的 Linux 分发版为 Ubuntu。 可以使用 wsl --install -d <Distribution Name> 进行更改。 (将 <Distribution Name> 替换为所需分发版的名称。)初始安装后,可以使用 wsl --install -d <Distribution Name> 命令将其他 Linux 分发版添加到计算机。

若要查看可用 Linux 分发版的列表,请输入 wsl --list --online

手动安装步骤

如果你没有使用 Windows 预览体验版本,则需要按照以下步骤手动启用 WSL 所需的功能。

步骤 1 - 启用适用于 Linux 的 Windows 子系统

需要先启用“适用于 Linux 的 Windows 子系统”可选功能,然后才能在 Windows 上安装 Linux 分发。

以管理员身份打开 PowerShell 并运行:

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

建议现在转到步骤 #2,更新到 WSL 2,但如果只想安装 WSL 1,现在可以重新启动计算机,然后继续执行步骤 6 - 安装所选的 Linux 发行版。 若要更新到 WSL 2,请等待重新启动计算机,然后继续执行下一步。

步骤 2 - 检查运行 WSL 2 的要求

若要更新到 WSL 2,需要运行 Windows 10。

  • 对于 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。

  • 对于 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本。

  • 低于 18362 的版本不支持 WSL 2。 使用 Windows Update 助手更新 Windows 版本。

若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 (或者在 Windows 命令提示符下输入 ver 命令)。 更新到“设置”菜单中的最新 Windows 版本

备注

如果运行的是 Windows 10 版本1903 或 1909,请在 Windows 菜单中打开“设置”,导航到“更新和安全性”,然后选择“检查更新”。 内部版本号必须是 18362.1049+ 或 18363.1049+,次要内部版本号需要高于 .1049。 阅读详细信息:WSL 2 即将支持 Windows 10 版本 1903 和 1909。 请参阅疑难解答说明

步骤 3 - 启用虚拟机功能

安装 WSL 2 之前,必须启用“虚拟机平台”可选功能。 计算机需要虚拟化功能才能使用此功能。

以管理员身份打开 PowerShell 并运行:

PowerShell
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重新启动 计算机,以完成 WSL 安装并更新到 WSL 2。

步骤 4 - 下载 Linux 内核更新包

  1. 下载最新包:

    备注

    如果使用的是 ARM64 计算机,请下载 ARM64 包。 如果不确定自己计算机的类型,请打开命令提示符或 PowerShell,并输入:systeminfo | find "System Type"

  2. 运行上一步中下载的更新包。 (双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)

安装完成后,请继续执行下一步 - 在安装新的 Linux 分发时,将 WSL 2 设置为默认版本。 (如果希望将新的 Linux 安装设置为 WSL 1,请跳过此步骤。)

备注

有关详细信息,请参阅 Windows 命令行博客上的文章对更新 WSL2 Linux 内核的更改

步骤 5 - 将 WSL 2 设置为默认版本

打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:

PowerShell
wsl --set-default-version 2

步骤 6 - 安装所选的 Linux 分发

  1. 打开 Microsoft Store,并选择你偏好的 Linux 分发版。

    单击以下链接会打开每个分发版的 Microsoft Store 页面:

  2. 在分发版的页面中,选择“获取”。

首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。 未来的所有启动时间应不到一秒。

然后,需要为新的 Linux 分发版创建用户帐户和密码

祝贺你!现已成功安装并设置了与 Windows 操作系统完全集成的 Linux 分发!

安装 Windows 终端(可选)

Windows 终端可启用多个选项卡(在多个 Linux 命令行、Windows 命令提示符、PowerShell 和 Azure CLI 等之间快速切换)、创建键绑定(用于打开或关闭选项卡、复制粘贴等的快捷方式键)、使用搜索功能,以及使用自定义主题(配色方案、字体样式和大小、背景图像/模糊/透明度)。 了解详细信息。

安装 Windows 终端

将分发版版本设置为 WSL 1 或 WSL 2

可打开 PowerShell 命令行并输入以下命令(仅在 Windows 内部版本 18362 或更高版本中可用),检查分配给每个已安装的 Linux 分发版的 WSL 版本:wsl -l -v

PowerShell
wsl --list --verbose

若要将分发版设置为受某一 WSL 版本支持,请运行:

PowerShell
wsl --set-version <distribution name> <versionNumber>

请确保将 <distribution name> 替换为你的分发版的实际名称,并将 <versionNumber> 替换为数字“1”或“2”。 可以随时更改回 WSL 1,方法是运行与上面相同的命令,但将“2”替换为“1”。

备注

从 WSL 1 更新到 WSL 2 可能需要几分钟才能完成,具体取决于目标分发版的大小。 如果从 Windows 10 周年更新或创意者更新运行 WSL 1 的旧(历史)安装,可能会遇到更新错误。 按照这些说明卸载并删除任何旧分发

如果 wsl --set-default-version 结果为无效命令,请输入 wsl --help。 如果 --set-default-version 未列出,则表示你的 OS 不支持它,你需要更新到版本 1903(内部版本 18362)或更高版本。

运行命令后如果看到此消息:WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel。 仍需要安装 MSI Linux 内核更新包。

此外,如果要使 WSL 2 成为你的默认体系结构,可以通过此命令执行该操作:

PowerShell
wsl --set-default-version 2

这会将安装的任何新分发版的版本设置为 WSL 2。

排查安装问题

下面是相关的错误和建议的修复措施。 有关其他常见错误及其解决方法,请参阅 WSL 故障排除页

  • 安装失败并出现错误 0x80070003

    • 适用于 Linux 的 Windows 子系统只能在系统驱动器(通常是 C: 驱动器)中运行。 请确保分发版存储在系统驱动器上:

    • 打开“设置”->“系统”-->“存储”-> “更多存储设置”: 更改新内容的保存位置”

  • WslRegisterDistribution 失败并出现错误 0x8007019e

    • 未启用“适用于 Linux 的 Windows 子系统”可选组件:

    • 打开“控制面板” -> “程序和功能” -> “打开或关闭 Windows 功能”-> 选中“适用于 Linux 的 Windows 子系统”,或使用本文开头所述的 PowerShell cmdlet。

  • 安装失败,出现错误 0x80070003 或错误 0x80370102

    • 请确保在计算机的 BIOS 内已启用虚拟化。 有关如何执行此操作的说明因计算机而异,并且很可能在 CPU 相关选项下。

  • 尝试升级时出错:Invalid command line option: wsl --set-version Ubuntu 2

    • 请确保已启用适用于 Linux 的 Windows 子系统,并且你使用的是 Windows 内部版本 18362 或更高版本。 若要启用 WSL,请在 PowerShell 提示符下以具有管理员权限的身份运行此命令:Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

  • 由于虚拟磁盘系统的某个限制,无法完成所请求的操作。虚拟硬盘文件必须是解压缩的且未加密的,并且不能是稀疏的。

    • 取消选中“压缩内容”(如果已选中“加密内容”,请一并取消选中),方法是打开 Linux 发行版的配置文件文件夹。 它应位于 Windows 文件系统上的一个文件夹中,类似于:USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited...

    • 在此 Linux 发行版配置文件中,应存在一个 LocalState 文件夹。 右键单击此文件夹可显示选项的菜单。 选择“属性”>“高级”,然后确保未选择(未勾选)“压缩内容以节省磁盘空间”和“加密内容以保护数据”复选框。 如果系统询问是要将此应用到当前文件夹还是应用到所有子文件夹和文件,请选择“仅此文件夹”,因为你只是要清除压缩标志。 完成此操作后,wsl --set-version 命令应正常工作。

备注

在我的示例中,我的 Ubuntu 18.04 发行版的 LocalState 文件夹位于 C:\Users<my-user-name>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc

请检查 WSL Docs GitHub 主题 #4103,其中跟踪了此问题以提供更新的信息。

  • 无法将词语“wsl”识别为 cmdlet、函数、脚本文件或可运行程序的名称。

  • 错误:此更新仅适用于装有适用于 Linux 的 Windows 子系统的计算机。

    • 若要安装 Linux 内核更新 MSI 包,需要 WSL,应先启用它。 如果失败,将看到以下消息:This update only applies to machines with the Windows Subsystem for Linux

    • 出现此消息有三个可能的原因:

    1. 你仍使用旧版 Windows,不支持 WSL 2。 有关版本要求和要更新的链接,请参阅步骤 #2。

    2. 未启用 WSL。 需要返回到步骤 #1,并确保在计算机上启用了可选的 WSL 功能。

    3. 启用 WSL 后,需要重新启动才能使其生效,请重新启动计算机,然后重试。

  • 错误:WSL 2 要求对其内核组件进行更新。若需了解相关信息,请访问 https://aka.ms/wsl2kernel

    • 如果 %SystemRoot%\system32\lxss\tools 文件夹中缺少 Linux 内核包,会遇到此错误。 若要解决此问题,请在安装说明的步骤 #4 中安装 Linux 内核更新 MSI 包。 可能会需要从“添加或删除程序”卸载 MSI,然后重新安装。

(0)

相关推荐

  • Visual Studio中的C++更新及WSL2

    WSL2原生支持预告 在2019年,我们的开发团队发布了对Linux(WSL)子系统的C++原生支持. 这里所说的"原生支持",是指所有的命令都会被本机执行,而不是通过远程SSH来 ...

  • 微软“雪藏”的七个Windows 10强力工具

    在过去的一年中,微软悄悄发布了多个Windows 10命令行工具和免费的应用商店程序,极大增强了操作系统功能.也许是这些工具过于"专业",微软并没有大事宣传这些新工具,很多甚至是由 ...

  • 比较 WSL 2 和 WSL 1 | Microsoft Docs

    将适用于 Linux 的 Windows 子系统从 WSL 1 升级到 WSL 2 的主要区别和优势是: 提高文件系统性能 , 支持完全的系统调用兼容性 . WSL 2 使用最新.最强大的虚拟化技术在 ...

  • Windows 10将通过Project Latte提供对Android应用的运行支持

    cnBeta发布时间: 20-11-2808:59Windows Central 报道称,微软将通过所谓的"拿铁项目"(Project Latte),为 Windows 10 操作 ...

  • 在Windows 10上原生运行Linux是什么体验?

    在Windows 上运行其他操作系统,并不是什么新鲜事.从VMware开始,主机打开了虚拟化的闸门,喜欢尝鲜的群众们完全可以在Windows上运行各种各样,千奇百怪的操作系统.但这次不同,Window ...

  • 用这八个命令,可修复Windows 10上的几乎所有网络问题

    每个用户都需要的8个Windows 10网络命令工具,可解决所有网络问题 Windows 10使使用有线或无线连接轻松连接到网络和Internet,但是,有时你可能仍需要手动管理设置或解决连接问题,这 ...

  • 32位windows 7上安装Python3.8

    不能在windows7上安装python3.8 32位. 要在windows 7操作系统中安装Python3.7或3.8,需要先安装windows 7 Service Pack 1,然后安装windo ...

  • 适用于Linux的Windows子系统的完整开发人员指南2

    This tutorial demonstrates how to install, manage, and use a full Linux environment on your Windows ...

  • 在 Windows 系统上安装和使用 Fluentd

    " 简单介绍一下在 Windows 系统上安装和使用 Fluentd 的方法" 我们在最初的文章中介绍了在 Linux 上安装 Fluentd 的方法,有时候为了做些简单测试,并不 ...

  • 在Windows 10中安装未签名的.Appx应用程序包

    圆圆 为了保护系统的安全,Windows 10系统对.Appx应用的运行使用了Windows UWP平台认证机制,所有从WindOWS应用商店下载的.Appx应用均可以直接顺利运行,而对于尚未取得该认 ...

  • 如何在Windows系统上安装Python?

    现在用Python的人越来越多,很多学习使用Python的人并不是专业的程序员,而是希望利用Python这个工具去提升自己的工作效率,比如数据分析师.数据运营.风控人员.财务人员等职业都对Python ...

  • Windows 10下安装labelImg标注工具!

    labelImg是深度学习最常用的标注工具之一,下面讲解安装方法! 一.下载windows免安装版本 进入下载地址:https://github.com/tzutalin/labelImg/relea ...

  • 为什么Windows 10升级安装卡住了,原因在这

    微软向所有用户正式推出了Windows10 20H2(2020年10月更新),用户现在可以通过Windows更新自动升级到Windows 10 20H2.如果你的计算机仍未升级到最新的Windows1 ...