人人都会AI编程

WSL 2:Windows 原生 Linux 子环境配置

更新时间:2026-07-12

对于许多刚接触 Linux 的初学者,或者在 Windows 环境下工作的开发者来说,直接在物理机上安装双系统可能会带来分区、驱动等一系列困扰。微软在 Windows 10/11 中提供的 WSL 2(Windows Subsystem for Linux 第二版) 从根本上解决了这个问题:它利用轻量级虚拟机技术,在 Windows 内运行一个完整的 Linux 内核,让用户可以直接在 Windows 桌面上获得近乎原生性能的 Linux 命令行环境,同时还能无缝访问 Windows 文件系统和网络资源。简单说,你可以把 Ubuntu、Debian 等发行版当成一个普通的 Windows 应用来安装,启动一个终端就能用上完整 Linux 功能,几乎不需要额外配置。

1. 为什么选择 WSL 2 而不是虚拟机

与传统的 VirtualBox 或 VMware 虚拟机相比,WSL 2 具有以下明显优势:

  • 启动极快:通常在 1-2 秒内就能打开一个 Shell,无需等待完整操作系统引导。
  • 资源占用低:内存和 CPU 按需动态分配,闲置时自动回收。
  • 文件互通方便:Linux 子系统中可以直接访问 Windows 文件(/mnt/c/ 对应 C 盘),Windows 下也可以通过 \\wsl$\ 网络路径浏览 Linux 文件。
  • 网络共享:Linux 中的服务可以直接通过 localhost 从 Windows 访问,无需配置端口转发。
  • 无缝集成:可以使用 Windows 的 VS Code、Docker Desktop 等工具直接与 WSL 内的环境协作。

2. 安装配置步骤(Windows 10/11)

在 Windows 10 版本 2004 及以上或 Windows 11 中,安装 WSL 2 已经简化到只需一条命令。以管理员身份打开 PowerShell 或 Windows 命令提示符,执行:

wsl --install

这条命令默认会完成以下几件事:

  • 启用所需的 Windows 功能(虚拟机平台、Linux 子系统);
  • 下载并安装最新的 WSL 2 内核包;
  • 将 WSL 2 设置为默认版本;
  • 安装默认的 Linux 发行版(通常是 Ubuntu)。

安装完成后按提示重启计算机。重启后你会看到 Ubuntu 终端自动弹出,要求创建一个 Linux 用户名和密码。这个用户与 Windows 用户完全独立,是 Linux 内部的管理员账户。

如果你希望安装其他发行版,可以先查看可用列表:

wsl --list --online

然后指定安装,例如安装 Debian:

wsl --install -d Debian

3. 基本使用与配置

安装完成后,你可以通过以下几种方式启动 Linux:

  • 在开始菜单中找到已安装的发行版图标(如 Ubuntu),点击打开终端;
  • 在 PowerShell 或 cmd 中输入 wsl 直接进入默认发行版的 Shell;
  • 在 Windows 终端(推荐安装 Windows Terminal 应用)中新建标签页,选择对应的发行版。

一些常用操作

  • 查看已安装的发行版和状态:
  wsl -l -v
  
  • 关闭所有 WSL 实例(释放内存):
  wsl --shutdown
  
  • 将已安装的发行版从 WSL 1 升级为 WSL 2(如果之前使用旧版本):
  wsl --set-version Ubuntu 2
  
  • 在文件资源管理器中访问 Linux 文件:在 WSL 终端内运行 explorer.exe .,当前 Linux 目录就会在 Windows 资源管理器中打开。

建议的初始配置:进入 WSL 后,首先更新软件包列表并升级已安装的软件,确保环境处于最新状态:

sudo apt update && sudo apt upgrade -y

4. 与 Windows 协同工作的实用技巧

  • 文件编辑:在 WSL 中可以直接使用 code . 启动 VS Code(需要提前在 Windows 中安装并配置 Remote-WSL 插件),享受完整的图形化编辑器体验。
  • 容器开发:安装 Docker Desktop 并启用 WSL 2 后端,然后在 WSL 内直接使用 docker 命令,享受与 Linux 下完全一致的容器开发流程。
  • SSH 密钥共享:WSL 中的 .ssh 目录是独立的,但你可以将 Windows 下生成的密钥复制过来,或创建符号链接共享密钥,避免重复配置。
  • 后台服务:WSL 2 默认不会在后台持续运行服务。如果希望在关闭终端后保持服务(如 web 服务器)运行,可以使用 nohup 或结合任务计划程序。

5. 注意事项

  • WSL 2 的文件性能在访问 Windows 文件系统中的大量小文件时(如通过 /mnt/c 进行 npm install)会比原生 Linux 慢。建议将项目文件放在 Linux 自己的 ext4 文件系统中(即 /home/用户名/ 下),以获取最佳 I/O 性能。
  • WSL 2 的内存默认可以占用宿主机的 50%,如果有需要,可以在 Windows 用户目录下创建 .wslconfig 文件进行限制,例如:
  [wsl2]
  memory=4GB
  
  • 与完整的物理 Linux 相比,部分底层的系统工具(如 systemd 在某些旧版 WSL 中默认未启用)可能需要额外配置。不过最新版 WSL 已经支持 systemd,只需在 /etc/wsl.conf 中添加 [boot] systemd=true 即可开启。

WSL 2 是目前 Windows 用户学习和使用 Linux 最丝滑的途径,它将“开发环境一致性”与“桌面系统兼容性”完美融合,让 Linux 技能学习、服务端开发、脚本测试等工作变得前所未有的便捷。