wsl的配置和使用
本文最后更新于 2026年7月1日 下午
适用于 Linux 的 Windows 子系统(WSL)是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双重启动。 WSL 旨在为想要同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。
WSL的基本命令
下面的 WSL 命令以 PowerShell 或 Windows 命令提示符支持的格式列出。 要从 Bash/Linux 发行版的命令行运行这些命令,必须将
wsl替换为wsl.exe。
查询
1 | |
安装、更新与卸载
前置工作:
- 按下
Win+R,输入optionalfeatures,回车打开「Windows功能」窗口,勾选以下两个选项:
- 适用于Linux的Windows子系统
- 虚拟机平台
点击窗口底部「确定」,系统会开始安装所选功能,等待安装完成(约1-3分钟,视电脑配置而定)。
安装完成后,会提示「需要重启电脑才能生效」,点击「立即重启」(务必重启,否则后续步骤会失败)。
1 | |
运行与关机
1 | |
查看当前的Ubuntu版本:
lsb_release -a。我的wsl默认安装的Ubuntu版本是
Ubuntu 24.04.1 LTS。
如果配置了Windows Terminal,则可以直接在标签页右侧的倒三角形下选择启动wsl指定的发行版。
导出和导入
1 | |
标识 IP 地址
1 | |
跨平台文件访问
WSL访问Windows文件(无需额外配置,直接访问):
1 | |
Windows访问WSL文件(两种方式):
- 在Ubuntu终端中输入
explorer.exe .(注意末尾有空格和点),会自动打开Windows文件管理器,定位到当前WSL目录。 - 手动打开文件管理器,在地址栏输入
\\wsl$,回车,即可看到所有已安装的WSL发行版,双击进入即可访问文件。
若想获得最快的性能速度,请将文件存储在 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$
如果在 Windows、WSL 或容器之间使用相同的存储库文件夹,请务必设置一致的行尾。
由于 Windows 和 Linux 使用不同的默认行尾,Git 可能会报告大量文件被修改,但这些文件除了行尾之外没有其他差异。 若要防止发生这种情况,可以使用
.gitattributes文件或在 Windows 端全局禁用行结束转换。 请参阅此 VS Code 文档,了解如何解决 git 行结束问题。
配置WSL开发环境
了解如何运行命令以安装默认的 Bash Shell,它使用 Ubuntu,或者可以设置为安装其他 Linux 发行版、使用基本 WSL 命令、设置 Visual Studio Code 或 Visual Studio、Git、Windows 凭据管理器、MongoDB、Postgres 或 MySQL 等数据库、设置 GPU 加速、运行 GUI 应用等。
WSL+VSCode
如果用VS Code开发Linux项目,直接连接WSL,可实现「在Windows中编辑,在WSL中运行」,无需切换环境。
-
确保VS Code已安装,打开VS Code;
-
安装「Remote - WSL」插件:在VS Code扩展商店中搜索「Remote - WSL」,点击安装(微软官方插件,无需额外配置);
-
启动WSL(在Windows终端中输入wsl,启动Ubuntu);
-
在VS Code中,点击左下角的「绿色图标」(Remote窗口图标),在弹出的菜单中选择「New WSL Window」;
-
等待VS Code连接WSL,连接成功后,左下角会显示「WSL: Ubuntu-22.04」,此时即可在VS Code中打开WSL中的文件、编辑代码、运行命令;
连接WSL时,确保WSL已正常启动,否则会连接失败;如果连接失败,重启WSL后再尝试。
-
(可选)安装WSL中的VS Code插件:连接成功后,在扩展商店中搜索「C/C++」「Python」等常用插件,点击「Install in WSL: Ubuntu-20.04」,安装到WSL中,即可正常使用。
运行Linux GUI应用
以文本编辑器为例:
1 | |
配置WSL的网络
WSL中ML的GPU加速入门
问题与解决
wsl: 检测到 localhost 代理配置,但未镜像到 WSL。NAT 模式下的 WSL 不支持 localhost 代理。
- 关闭wsl:
wsl --shutdown - 在开始菜单找到并打开“wsl settings”。
- 网络-网络模式:Mirrored.
- 完成。
上面的步骤实际上也是执行了:
-
在用户根目录
C:\Users\xxx下创建文件.wslconfig。 -
写入:
1
2[wsl2]
networkingMode=Mirrored -
保存。