开发人员可以在 Windows 计算机上同时访问 Windows 和 Linux 的强大功能。 借助适用于 Linux 的 Windows 子系统(WSL),开发人员可以安装 Linux 分发版(如 Ubuntu、OpenSUSE、Kali、Debian、Arch Linux 等),并在 Windows 上直接使用 Linux 应用程序、实用工具和 Bash 命令行工具(未经修改),无需传统虚拟机或双包设置的开销。
必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。 如果使用的是早期版本,请参阅 手动安装页。
现在,可以使用单个命令安装运行 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 分发版将为 Ubuntu。 可以通过使用-d
标志来更改这一点。
若要更改安装的分发版,请输入:
wsl.exe --install [Distro]
将 [Distro]
替换为您想要安装的分发版名称。
若要查看可通过在线商店下载的可用 Linux 分发版列表,请输入:
wsl.exe --list --online
如果在安装过程中遇到问题,请查看故障排除指南 安装部分。
若要安装未列为可用的 Linux 分发版,可以使用 TAR 文件 导入任何 Linux 分发 版。 或者在某些情况下,与 Arch Linux 一样,可以使用文件进行安装 .appx
。 还可以创建自己的 自定义 Linux 分发版 ,以便与 WSL 一起使用。
安装 WSL 后,需要为新安装的 Linux 分发版创建用户帐户和密码。 请参阅 设置 WSL 开发环境指南的最佳做法 ,了解详细信息。
建议遵循我们的 设置 WSL 开发环境的最佳实践 指南,通过逐步演示来了解如何为已安装的 Linux 发行版设置用户名和密码,使用基本 WSL 命令,安装和自定义 Windows 终端,为 Git 版本控制、代码编辑和调试使用 VS Code 远程服务器,好的文件存储实践,设置数据库,装载外部驱动器,设置 GPU 加速等。
可以通过输入命令列出已安装的 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 --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 发行版。 这包括从 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
通过加入 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。