如何使用 WSL 在 Windows 上安装 Linux

开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。 借助适用于 Linux 的 Windows 子系统(WSL),开发人员可以安装 Linux 分发版(如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并在 Windows 上直接使用 Linux 应用程序、实用工具和 Bash 命令行工具(未经修改),无需传统虚拟机或双包设置的开销。

先决条件

必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。 如果使用的是早期版本,请参阅 手动安装页

安装 WSL 命令

现在,可以使用单个命令安装运行 WSL 所需的所有内容。 右键单击并选择“以 管理员 身份运行”,在管理员模式下打开 PowerShell,输入 wsl --install 命令,然后重新启动计算机。

wsl --install

此命令将启用运行 WSL 并安装 Linux 的 Ubuntu 分发所需的功能。 (可以更改此默认分布)。

如果运行的是较旧的版本,或者只是不想使用安装命令,并且想要分步说明,请参阅 适用于旧版本的 WSL 手动安装步骤

首次启动新安装的 Linux 分发版时,控制台窗口将打开,系统会要求你等待文件取消压缩并存储在计算机上。 所有未来的发射应该需要不到一秒钟的时间。

备注

仅当 WSL 根本不安装时,上述命令才有效。 如果运行 wsl --install 并查看 WSL 帮助文本,请尝试运行 wsl --list --online 以查看可用发行版列表并运行 wsl --install -d <DistroName> 以安装发行版。 如果安装过程停在 0.0%,请先运行 wsl --install --web-download -d <DistroName> 下载发行版,然后再进行安装。 若要卸载 WSL,请参阅卸载旧版 WSL注销或卸载 Linux 分发版

更改安装的默认 Linux 分发版

默认情况下,已安装的 Linux 分发版将为 Ubuntu。 可以通过使用-d标志来更改这一点。

  • 若要更改安装的分发版,请输入:

    wsl.exe --install [Distro]
    

    [Distro] 替换为您想要安装的分发版名称。

  • 若要查看可通过在线商店下载的可用 Linux 分发版列表,请输入:

    wsl.exe --list --online
    

如果在安装过程中遇到问题,请查看故障排除指南 安装部分。

若要安装未列为可用的 Linux 分发版,可以使用 TAR 文件 导入任何 Linux 分发 版。 或者在某些情况下,与 Arch Linux 一样,可以使用文件进行安装 .appx 。 还可以创建自己的 自定义 Linux 分发版 ,以便与 WSL 一起使用。

设置 Linux 用户信息

安装 WSL 后,需要为新安装的 Linux 分发版创建用户帐户和密码。 请参阅 设置 WSL 开发环境指南的最佳做法 ,了解详细信息。

配置和最佳实践

建议遵循我们的 设置 WSL 开发环境的最佳实践 指南,通过逐步演示来了解如何为已安装的 Linux 发行版设置用户名和密码,使用基本 WSL 命令,安装和自定义 Windows 终端,为 Git 版本控制、代码编辑和调试使用 VS Code 远程服务器,好的文件存储实践,设置数据库,装载外部驱动器,设置 GPU 加速等。

检查你正在运行的 WSL 的版本

可以通过输入命令列出已安装的 Linux 分发版并检查每个版本的 WSL:

wsl.exe --list --verbose

若要在安装新的 Linux 分发版时将默认版本设置为 WSL 1 或 WSL 2,请使用以下命令:

wsl.exe --set-default-version <1|2>

若要设置与命令一起使用 wsl 的默认 Linux 分发版,请输入:

wsl.exe --set-default <Distro>

替换为 <Distro> 要使用的 Linux 分发版的名称。 例如,在 PowerShell 中,输入: wsl -s Debian 将默认分发设置为 Debian。 现在,从 Powershell 运行 wsl npm init 将在 Debian 中运行 npm init 命令。

若要在不更改默认分发的情况下从 PowerShell 中运行特定的 wsl 分发版,请使用以下命令:

wsl.exe --distribution <DistroName>

替换为 <DistroName> 要使用的分发的名称。

WSL 基本命令指南中了解详细信息。

将版本从 WSL 1 升级到 WSL 2

默认情况下,使用 wsl --install 命令安装的新 Linux 安装将设置为 WSL 2。

若要查看 Linux 分发版是否设置为 WSL 1 或 WSL 2,请使用以下命令: wsl -l -v 可以使用以下命令从 WSL 1 升级到 WSL 2 或从 WSL 2 降级到 WSL 1:

wsl.exe --set-version <Distro> <1|2>

替换为 <Distro> 要更新的 Linux 分发版的名称。 例如, wsl --set-version Ubuntu 2 将 Ubuntu 分发设置为使用 WSL 2。

如果在命令可用之前 wsl --install 手动安装了 WSL,则还可能需要启用 WSL 2 使用的 虚拟机可选组件 ,并 安装内核包 (如果尚未这样做)。

若要了解更多信息,请参阅 WSL 的命令参考以获取 WSL 命令列表,查看 WSL 1 和 WSL 2 的比较以获得关于您工作场景适用版本的指导,或参考 设置 WSL 开发环境的最佳实践以获取关于设置高效开发工作流程的一般指导。

使用 WSL 运行多个 Linux 分发版的方法

WSL 支持运行您想安装的许多不同的 Linux 发行版。 这包括从 Microsoft 应用商店中选择分发版、 导入自定义分发版生成自己的自定义分发版

安装 Linux 分发版后,可通过多种方式运行:

  • 从 Windows 终端(建议) 使用 Windows 终端支持任意多的命令行,并且允许你在多个选项卡或窗口窗格中打开它们,并在多个 Linux 分发版或其他命令行(PowerShell、命令提示符、Azure CLI 等)之间快速切换。 可以使用独特的配色方案、字体样式、大小、背景图像和自定义键盘快捷方式完全自定义终端。 了解详细信息
  • 可以通过访问 Windows 开始菜单并键入已安装的分发版的名称来直接打开 Linux 分发版。 例如:“Ubuntu”。 这将在一个独立的控制台窗口中打开 Ubuntu。
  • 在 PowerShell 中,可以输入已安装的分发版的名称。 例如:ubuntu
  • 在 PowerShell 中,可以通过输入: wsl.exe在当前命令行中打开默认 Linux 分发版。
  • 在 PowerShell 中,可以通过输入:wsl [command],在当前命令行中使用默认 Linux 分发版,而无需输入新发行版。 你可以用 [command] 替换为 WSL 命令,例如:wsl -l -v 列出已安装的发行版,或 wsl pwd 查看当前目录路径在 WSL 中装载的位置。 在 PowerShell 中,该命令 Get-Date 将提供 Windows 文件系统中的日期,并提供 wsl date Linux 文件系统中的日期。

选择的方法应取决于你正在做的事情。 如果在 PowerShell 窗口中打开了 WSL 命令行并想要退出,请输入以下命令: exit

想要试用最新的 WSL 预览功能?

通过加入 Windows 预览体验计划来试用 WSL 的最新功能或更新。 加入 Windows 预览体验成员后,可以选择希望从 Windows 设置菜单中接收预览版的频道,以自动接收与该版本关联的任何 WSL 更新或预览功能。 可以选择:

  • Canary 频道:
    • 适合高度技术性用户。
    • 在开发周期的早期预览最新的平台更改。
    • 这些版本可能不稳定,并且仅发布任何文档。
  • 开发频道:
    • 非常适合爱好者。
    • 访问最新的 Windows 11 预览版,因为我们培育新想法并开发长期领先功能。
    • 会有一些粗糙的边缘和低稳定性。
  • Beta 频道:
    • 非常适合早期采用者。
    • 预览并提供有关稳定环境中的 Windows 11 预发行功能的反馈。
  • 发布预览频道:
    • 如果想要预览修补程序和某些关键功能,并在正式发布之前获取对下一版本的 Windows 的可选访问权限,则理想。
    • 此外,建议将此频道用于商业用户。

如果不希望将 Windows 安装切换到预览频道,仍可以通过发出命令来测试 WSL 的最新预览:

wsl.exe --update --pre-release

有关详细信息,请查看 GitHub 上的 WSL 发布页

后续步骤

接下来,让我们了解 WSL 的基本命令。

脱机安装

若要脱机安装 WSL,需要执行以下步骤:

  • GitHub 发布页下载并安装最新的 WSL MSI 包
  • 使用管理员权限打开 PowerShell 窗口,并运行 dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 以启用虚拟机平台可选组件。 可能需要重新启动计算机才能生效。
  • 通过 .wsl 文件安装分发版。 可以在所选发行版 的DistributionInfo.json 中找到用于下载这些文件的 URL。

其他资源


其他资源

培训

模块

使用 Visual Studio Code 在适用于 Linux 的 Windows 子系统中进行开发 - Training

在本模块中,你将了解如何将适用于 Linux 的 Windows 子系统 (WSL) 与 Visual Studio Code (VS Code) 结合使用。 我们将探讨 WSL 的安装过程和基本使用方法。 此外,我们还会安装和利用 Visual Studio Code WSL 扩展。 最后,我们演示如何在 WSL 环境中通过 VS Code 调试和运行 Python 代码。

认证

Microsoft认证:Windows Server 混合管理员助理 - Certifications

Windows Server 混合管理员负责将 Windows Server 环境与 Azure 服务集成,以及在本地网络中管理 Windows Server。