WSL 安装与配置指南:在 Windows 上运行 Linux 环境

WSL 简介

Windows Subsystem for Linux (WSL) 是微软提供的一项功能,允许用户在 Windows 系统中直接运行完整的 Linux 环境,无需传统虚拟机或双系统配置。

WSL 核心功能

  • 无缝集成:在 Windows 中运行 Linux 命令行工具、脚本和应用程序

  • 发行版支持:兼容 Ubuntu、Debian、Kali Linux 等主流发行版

  • 高性能:接近原生 Linux 的运行效率

  • 文件系统互通:通过 /mnt/c/ 等目录直接访问 Windows 文件

WSL 版本对比

特性 WSL 1 WSL 2
架构 系统调用翻译层 轻量级虚拟机运行完整 Linux 内核
性能 启动快,资源占用低 接近原生性能
兼容性 基础 Linux 功能 完整 Linux 内核支持
适用场景 简单命令行工具 Docker 等复杂应用
文件系统性能 Windows 文件访问较慢 优化的文件系统性能

WSL 适用人群

  • Windows 平台开发者(Web、Python、Node.js 等)

  • Linux 学习者和系统管理员

  • 需要同时使用 Windows 和 Linux 工具的用户

  • 希望避免虚拟机资源开销的技术人员

WSL 安装与配置

系统要求

  • Windows 10 版本 2004 及更高或 Windows 11

  • 64 位系统

  • 启用虚拟化功能(BIOS/UEFI 设置)

安装步骤

方法一:一键安装(推荐)

powershell 管理员模式

1
wsl --install

此命令会自动:

  1. 启用 WSL 功能

  2. 安装默认的 Ubuntu 发行版

  3. 设置 WSL 2 为默认版本

方法二:手动安装

  1. 启用 WSL 功能:

    1
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
  2. 启用虚拟机平台:

    1
    dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  3. 重启计算机

  4. 设置 WSL 2 为默认版本:

    1
    wsl --set-default-version 2

安装 Linux 发行版

  1. 查看可用发行版:

    1
    wsl --list --online
  2. 安装指定发行版(以 Ubuntu 22.04 为例):

    1
    wsl --install -d Ubuntu-22.04
  3. 首次启动时会提示创建用户账户和密码

WSL 高级管理

常用命令

命令 描述
wsl --list --verbose 查看已安装发行版及其状态
wsl --shutdown 立即终止所有 WSL 实例
wsl --terminate <发行版> 终止指定发行版
wsl --export <发行版> <文件> 导出发行版到 tar 文件
wsl --import <发行版> <路径> <文件> 从 tar 文件导入发行版

版本切换

  1. 查看当前版本:

    1
    wsl --list --verbose
  2. 切换版本:

    1
    wsl --set-version <发行版名称> 2
  3. 设置默认版本:

    1
    wsl --set-default-version 2

磁盘管理

WSL 2 使用虚拟硬盘(VHDX)存储数据,默认位置:

1
C:\Users\<用户名>\AppData\Local\Packages\<发行版包名>\LocalState\ext4.vhdx

优化建议

  1. 定期压缩虚拟磁盘:

    1
    2
    wsl --shutdown
    diskpart

    在 diskpart 中执行:

    1
    2
    3
    4
    5
    select vdisk file="C:\path\to\ext4.vhdx"
    attach vdisk readonly
    compact vdisk
    detach vdisk
    exit
  2. 移动 WSL 到其他驱动器:

1
2
3
4
wsl --shutdown
wsl --export <发行版> <备份文件.tar>
wsl --unregister <发行版>
wsl --import <发行版> <新路径> <备份文件.tar> --version 2

开发环境配置

与 Windows 的互操作性

  • 从 WSL 访问 Windows 文件:/mnt/c/(对应 C 盘)

  • 从 Windows 访问 WSL 文件:\\wsl$\<发行版名称>\

  • 在 WSL 中调用 Windows 程序:cmd.exe /C <命令>

网络配置

  • WSL 2 使用 NAT 网络,与主机不同 IP

  • 从 Windows 访问 WSL 服务:localhost(端口自动转发)

  • 从 WSL 访问 Windows 服务:host.docker.internal 或主机 IP

开发工具集成

VS Code 集成

  1. 安装 Remote - WSL 扩展

  2. 在 WSL 终端中运行:code .

  3. VS Code 会自动在 WSL 环境中运行

Docker 支持

  1. 安装 Docker Desktop for Windows

  2. 启用 WSL 2 后端

  3. 在设置中勾选要集成的 WSL 发行版

常见问题解决

性能问题

  • 文件系统慢:将项目文件放在 WSL 文件系统中(如 ~/project 而非 /mnt/c/...

  • 内存占用高:在 %USERPROFILE%\.wslconfig 中添加:

    1
    2
    3
    [wsl2]
    memory=4GB
    processors=2

启动问题

  • 错误 0x80370102:确保 BIOS 中启用了虚拟化(VT-x/AMD-V)

  • WSL 2 需要更新内核:下载并安装最新 WSL 2 内核更新包

与 VMware 冲突

当安装了 VMware 时:

  1. 不要同时运行 WSL 2 和 VMware

  2. 或者将 WSL 切换为版本 1:

    1
    wsl --set-version <发行版> 1

进阶使用

图形界面支持

  1. 安装 X 服务器(如 VcXsrv 或 Windows 自带的 WSLg)

  2. 在 WSL 中安装 GUI 应用:

1
sudo apt install gedit

运行 GUI 应用会自动转发到 Windows 显示

多发行版管理

  1. 设置默认发行版:

    wsl –set-default <发行版名称>

  2. 同时运行多个发行版:

1
wsl -d <发行版1> & wsl -d <发行版2>

6.3 备份与迁移

  1. 导出发行版:
1
wsl --export <发行版> <备份文件.tar>
  1. 导入为新发行版:
1
wsl --import <新名称> <安装路径> <备份文件.tar>

推荐配置

开发环境优化

  1. 安装常用工具:
1
2
sudo apt update && sudo apt upgrade -y
sudo apt install build-essential git curl wget zsh

2.配置 Oh My Zsh:

1
2
3
bash

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"、
  1. 设置 Windows Terminal 为默认终端

文件系统优化

在 /etc/wsl.conf 中添加:

1
2
[automount]
options = "metadata,umask=22,fmask=11"

结语

WSL 为 Windows 用户提供了强大的 Linux 兼容层,特别适合开发者构建跨平台工作流。随着 WSL 2 的成熟和 WSLg 的加入,其功能已从最初的命令行工具扩展到完整的 Linux 应用支持。掌握 WSL 的使用可以显著提升在 Windows 平台上的开发效率。