本节贡献者: 赵志远、田冬冬、姚家园
最近更新日期: 2026-06-16
预计花费时间: 120 分钟
简介¶
WSL (Windows Subsystem for Linux,适用于 Linux 的 Windows 子系统) 可以让用户直接在 Windows 10/11 上运行 Linux 环境(包括大多数命令行工具和应用程序), 且不会产生传统虚拟机或双系统的开销。
安装¶
检查 Windows 版本¶
WSL 只能在 Windows 10 的较高版本或 Windows 11 上安装。因而,在安装 WSL 前,需要 先检查当前 Windows 系统的版本号是否满足 WSL 的要求。
按下 win + R 键,在打开的运行对话框中键入 winver,然后选择“确定”,
则会弹出“关于 Windows”对话框,会看到类似“版本 21H2 (OS 内部版本 19044)”的字样。
其中,21H2 是 Windows 版本号,19044 是系统内部版本号。
安装 WSL¶
在 Windows 系统的搜索框中输入
PowerShell或cmd以管理员身份打开 PowerShell 或“命令提示符”窗口,输入如下命令:
$ wsl --install此命令将启动 WSL 并默认安装 Ubuntu
待安装完成后,重启计算机
WSL 默认会将 Linux 发行版安装到 C 盘。如果希望将 Linux 发行版安装到其它磁盘或目录,可以使用:
$ wsl --install Ubuntu --location D:\WSL\Ubuntu其中,D:\WSL\Ubuntu 是安装目录,可根据实际需求修改。
更详细的安装步骤、常见问题的解决办法以及旧版本 Windows 下的安装方法可以参考 官方安装指南。
配置 Linux¶
打开 PowerShell 或 CMD,运行 wsl 命令即可启动并进入 WSL 提供的 Linux 环境:
$ wsl通过 WSL 安装 Linux 系统后,还需要对 Linux 系统进行配置。 Ubuntu 和 Fedora 用户可以分别参考《Ubuntu 配置指南》和 《Fedora 配置指南》对系统进行配置,以满足科研工作的需求。
使用 exit 命令可以退出 Linux 环境:
$ exitWSL 常用命令¶
WSL 提供了命令 wsl 来管理 WSL。打开 CMD 后,即可在 CMD 中执行 wsl 命令。
下面的命令假定已通过 WSL 安装 Ubuntu,且其名称为 Ubuntu。
查看 wsl 命令的完整帮助文档:
$ wsl --help列出所有已安装的 Linux 发行版的状态:
$ wsl --list检查 WSL 状态:
$ wsl --status停止正在运行的 Linux 发行版:
$ wsl --terminate Ubuntu注销并卸载某个 Linux 发行版:
$ wsl --unregister Ubuntu跨系统文件互访¶
WSL 有 WSL1 和 WSL2 两个版本。WSL2 是安装 Linux 发行版时的默认版本,通常也是更推荐的选择。 但在跨系统访问文件方面(即在 Windows 下访问 WSL 中的文件或在 WSL 下访问 Windows 中的文件), WSL1 在某些场景下可能比 WSL2 更快。因而,在使用 WSL2 时,建议尽量将处理的文件放在 WSL 中, 以避免跨系统访问文件。
对于有经常跨系统操作文件的需求,可以使用如下命令将 Linux 发行版(假定名为 Ubuntu)从 WSL2 转换为 WSL1:
$ wsl --set-version Ubuntu 1同样的,也可以使用如下命令将 Linux 发行版(假定名为 Ubuntu)从 WSL1 转换为 WSL2:
$ wsl --set-version Ubuntu 2WSL 访问 Windows¶
Windows 系统的硬盘挂载在 WSL 的 /mnt 路径下,用户可以在 WSL 终端中
输入 cd /mnt/d 命令进入 Windows 系统的 D 盘,然后便可编辑和运行 D 盘中的文件。
Windows 访问 WSL¶
在 Windows 下搜索、打开和编辑 WSL 下的文件和目录的方式有以下两种:
在 Windows 资源管理器的地址栏中输入
\\wsl$,会显示所有已安装的 WSL 目录, 然后根据需要找到文件进行操作进入 WSL,在终端输入
cd ~ && explorer.exe .,会在 Windows 下打开 家目录,根据需要找到文件进行操作
在 Windows 下访问 WSL 文件系统时,文件和目录的路径有两种表示方式:
真实路径和 UNC 路径,后者指类似 \\wsl$ 这种格式的路径。
WSL1 支持真实路径访问,但 WSL2 不支持真实路径访问。
Windows 的 CMD 不支持 UNC 路径,所以使用 CMD 时,只能用 真实路径访问 WSL1 文件系统,无法用 UNC 路径访问 WSL1 文件系统,也无法用真实路径 和 UNC 路径访问 WSL2 文件系统。
Windows 的应用程序可以使用真实路径访问 WSL1 文件系统,某些支持 UNC 路径的 软件(如 MATLAB)还可以通过 UNC 路径访问 WSL1 或 WSL2 文件系统。
因此,如果想使用 Windows 的 CMD 以及应用程序编译或运行 WSL 中的文件, 需要先把 Linux 发行版切换到 WSL1 版本,进入 WSL 后新建一个名字独特的文件夹, 然后在 Windows 中对该文件夹进行定位,从而确定其真实的路径。