有关设置 WSL 开发环境的最佳做法的分步指南。 了解如何运行该命令以安装使用 Ubuntu 的默认 Bash shell,也可以设置为安装其他 Linux 分发版、使用基本 WSL 命令、设置Visual Studio Code或 Visual Studio、Git、Windows 凭据管理器、MongoDB、Postgres 或 MySQL 等数据库、设置 GPU 加速、运行 GUI 应用等。
开始使用
适用于 Linux 的 Windows 子系统随 Windows 操作系统一起提供,但必须先启用它并安装 Linux 发行版,然后才能开始使用它。
若要使用简化的 –install 命令,必须运行最新版本的 Windows(内部版本 20262+)。 若要检查 Windows 版本及内部版本号,选择 Windows 徽标键 + R,然后键入“winver”,选择“确定”。 可以使用“设置”菜单或 Windows 更新助手进行更新。
如果希望安装除 Ubuntu 以外的 Linux 发行版,或者希望手动完成这些步骤,请参阅 WSL 安装页了解更多详细信息。
打开 PowerShell(或 Windows 命令提示符)并输入:
PowerShell复制
wsl --install
–install 命令执行以下操作:
- 启用可选的 WSL 和虚拟机平台组件
- 下载并安装最新 Linux 内核
- 将 WSL 2 设置为默认值
- 下载并安装 Ubuntu Linux 发行版(可能需要重新启动)
在此安装过程中,你将需要重启计算机。

如果遇到任何问题,请查看排查安装问题一文。
设置 Linux 用户名和密码
使用 WSL 安装 Linux 发行版的过程完成后,使用“开始”菜单打开该发行版(默认情况下为 Ubuntu)。 系统将要求你为 Linux 发行版创建“用户名”和“密码”。
- 此用户名和密码特定于安装的每个单独的 Linux 分发版,与 Windows 用户名无关。
- 请注意,输入 密码时,屏幕上不会显示任何内容。 这称为盲目键入。 不会看到正在键入的内容,这完全正常。
- 创建用户名和密码后,该帐户将是分发版的默认用户,并将在启动时自动登录。
- 此帐户将被视为 Linux 管理员,能够运行
sudo
(Super User Do) 管理命令。 - 在 WSL 上运行的每个 Linux 发行版都有其自己的 Linux 用户帐户和密码。 每当添加分发版、重新安装或重置时,都必须配置一个 Linux 用户帐户。
备注:随 WSL 一起安装的 Linux 发行版是按用户安装,不可与其他 Windows 用户帐户共享。 遇到用户名错误? StackExchange:在 Linux 上的用户名中,应使用或不使用哪些字符?

若要更改或重置密码,请打开 Linux 发行版并输入命令:passwd
。 系统会要求你输入当前密码,然后要求输入新密码,之后再确认新密码。
如果忘记了 Linux 分发版的密码:
- 请打开 PowerShell,并使用以下命令进入默认 WSL 分发版的根目录:
wsl -u root
如果需要在非默认分发版中更新忘记的密码,请使用命令:wsl -d Debian -u root
,并将Debian
替换为目标分发版的名称。 - 在 PowerShell 内的根级别打开 WSL 发行版后,可使用此命令更新密码:
passwd <username>
,其中<username>
是发行版中帐户的用户名,而你忘记了它的密码。 - 系统将提示你输入新的 UNIX 密码,然后确认该密码。 在被告知密码已成功更新后,请使用以下命令在 PowerShell 内关闭 WSL:
exit
。
更新和升级包
建议使用发行版的首选包管理器定期更新和升级包。 对于 Ubuntu 或 Debian,请使用以下命令:
Bash复制
sudo apt update && sudo apt upgrade
Windows 不会自动更新或升级 Linux 分发版。 大多数 Linux 用户往往倾向于自行控制此任务。
添加其他发行版
若要添加其他 Linux 发行版,可以通过 Microsoft Store、通过 –import 命令或通过旁加载你自己的自定义发行版进行安装。 你可能还想要设置自定义 WSL 映像,以便在企业中分发。
设置 Windows Terminal
Windows Terminal 可以使用命令行接口运行任何应用程序。 它的主要功能包括多个选项卡、窗格、Unicode 和 UTF-8 字符支持、GPU 加速文本呈现引擎,你还可用它来创建你自己的主题并自定义文本、颜色、背景和快捷方式。
每当安装新的 WSL Linux 发行版时,都会在 Windows Terminal 中为其创建一个新实例,该实例可根据你的偏好进行自定义。
建议将 WSL 与 Windows Terminal 配合使用,尤其是在计划使用多个命令行时。 请参阅 Windows Terminal 文档,了解如何对其进行设置以及如何自定义首选项,包括:
- 从 Microsoft Store 安装 Windows Terminal 或 Windows Terminal(预览版)
- 使用命令面板
- 设置键盘快捷方式等自定义操作,使终端适应你的首选项
- 设置默认启动配置文件
- 自定义外观:主题、配色方案、名称和起始目录、背景图像等
- 了解如何使用命令行参数,例如使用拆分为窗口窗格或选项卡的多个命令行打开终端
- 了解搜索功能
- 查找提示和技巧,例如如何重命名选项卡或为其着色、使用鼠标交互或启用“Quake 模式”
- 查找有关如何设置自定义命令提示符、SSH 配置文件或选项卡标题的教程
- 查找自定义终端库和故障排除指南

文件存储
- 若要在 Windows 文件资源管理器中打开 WSL 项目,请输入:
explorer.exe .
请确保在命令的末尾添加句点以打开当前目录。 - 将项目文件与计划使用的工具存储在相同的操作系统上。
若想获得最快的性能速度,请将文件存储在 WSL 文件系统中,前提是使用 Linux 工具在 Linux 命令行(Ubuntu、OpenSUSE 等)中处理这些文件。 如果是使用 Windows 工具在 Windows 命令行(PowerShell、命令提示符)中工作,请将文件存储在 Windows 文件系统中。 可以跨操作系统访问文件,但这可能会显著降低性能。
例如,在存储 WSL 项目文件时:
- 使用 Linux 文件系统根目录:
\\wsl$\<DistroName>\home\<UserName>\Project
- 而不使用 Windows 文件系统根目录:
C:\Users\<UserName>\Project
或/mnt/c/Users/<UserName>/Project$

设置你最喜欢的代码编辑器
建议使用 Visual Studio Code 或 Visual Studio,因为它们直接支持使用 WSL 进行远程开发和调试。 Visual Studio Code 使你能够将 WSL 用作功能完备的开发环境。 Visual Studio 提供了对 C++ 跨平台开发的本机 WSL 支持。
使用 Visual Studio Code
按照此分步指南开始将 Visual Studio Code 与 WSL 配合使用,其中包括安装远程开发扩展包。 此扩展使你能够运行 WSL、SSH 或远程容器,以便使用整套 Visual Studio Code 功能进行编辑和调试。 在不同的独立开发环境之间快速切换并进行更新,而无需担心会影响本地计算机。
安装并设置 VS Code 后,可以通过输入以下内容使用 VS Code 远程服务器打开 WSL 项目:code .
请确保在命令的末尾添加句点以打开当前目录。

使用 Visual Studio
按照此分步指南开始将 Visual Studio 与 WSL 一起用于 C++ 跨平台开发。 Visual Studio 2022 使你能够从 Visual Studio 的同一实例在 Windows、WSL 发行版和 SSH 连接上生成和调试 CMake 项目。

使用 Git 设置版本管理
按照此分步指南开始在 WSL 上使用 Git,并将项目连接到 Git 版本控制系统,同时使用凭据管理器进行身份验证,使用 Git Ignore 文件,了解 Git 行尾,以及使用内置到 VS Code 的 Git 命令。

使用 Docker 设置远程开发容器
按照此分步指南开始使用 WSL 2 上的 Docker 远程容器,并使用 Docker Desktop for Windows 将项目连接到远程开发容器。

设置数据库
按照此分步指南开始使用 WSL 上的数据库,并将项目连接到 WSL 环境中的数据库。 开始使用 MySQL、PostgreSQL、MongoDB、Redis、Microsoft SQL Server 或 SQLite。

设置 GPU 加速以提高性能
按照此分步指南在 WSL 中设置 GPU 加速的机器学习训练,并利用计算机的 GPU(图形处理单元)来加速性能繁重的工作负载。

基本 WSL 命令
通过 WSL 安装的 Linux 发行版最好使用 PowerShell 或 Windows 命令提示符 (CMD) 进行管理。 有关使用 WSL 时需要熟悉的基本命令的列表,请参阅 WSL 命令参考指南。
此外,许多命令在 Windows 和 Linux 之间都具有互操作性。 下面有几个示例:
- 从 Windows 命令行运行 Linux 工具:打开 PowerShell,通过输入以下内容使用 Linux
ls -la
命令显示C:\temp>
的目录内容:wsl ls -la
- 混合 Linux 和 Windows 命令:在此示例中,使用 Linux 命令
ls -la
列出目录中的文件,然后使用 PowerShell 命令findstr
筛选包含“git”的单词的结果:wsl ls -la | findstr "git"
。 这还可以通过混合使用 Windowsdir
命令和 Linuxgrep
命令来实现:dir | wsl grep git
。 - 直接从 WSL 命令行运行 Windows 工具:
<tool-name>.exe
。例如,若要打开 .bashrc 文件(启动 Linux 命令行时运行的 shell 脚本),请输入:notepad.exe .bashrc
- 使用 Linux Grep 工具运行 Windows ipconfig.exe 工具:
ipconfig.exe | grep IPv4 | cut -d: -f2
。此示例演示了 Windows 文件系统上的 ipconfig 工具,该工具用于显示当前 TCP/IP 网络配置值,然后通过 Linux 工具 grep 被筛选为仅 IPv4 结果。
装载外部驱动器或 USB
按照此分步指南开始在 WSL 2 中装载 Linux 磁盘。
