一、什么是 WSL?

WSL(Windows Subsystem for Linux) 是微软开发的兼容层,允许用户在 Windows 上原生运行 Linux 二进制文件,无需虚拟机或双系统。

WSL 版本对比

特性WSL 1WSL 2
架构转换层轻量级虚拟机
启动速度极快(秒级)
文件性能Windows 驱动器快Linux 驱动器快
完全系统调用兼容
推荐版本WSL 2(性能更优)

二、安装准备

系统要求

  • Windows 10 版本 2004 及以上(内部版本 19041+)
  • Windows 11(所有版本)
  • 启用虚拟化(BIOS/UEFI 中开启 VT-x/AMD-V)

检查 Windows 版本

  1. Win + R 输入 winver
  2. 确认版本号 ≥ 2004(内部版本 ≥ 19041)

三、完整安装步骤

步骤 1:启用 WSL 功能

# 以管理员身份打开 PowerShell
wsl --install

这个命令会:

  • 启用 WSL 功能
  • 启用虚拟机平台
  • 下载 Linux 内核更新包
  • 安装 Ubuntu 作为默认发行版

手动启用(如果自动安装失败)

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

重启计算机完成安装。

步骤 2:设置 WSL 2 为默认版本

wsl --set-default-version 2

步骤 3:安装 Ubuntu

# 查看可用发行版
wsl --list --online

# 安装 Ubuntu(默认最新 LTS 版本)
wsl --install -d Ubuntu

# 或安装指定版本
wsl --install -d Ubuntu-22.04

步骤 4:首次启动配置

  1. 从开始菜单启动 "Ubuntu"
  2. 等待安装完成
  3. 创建 Linux 用户名和密码(无需与 Windows 账户相同
  4. 完成初始配置

四、基础配置与优化

1. 更新系统

# 更新包列表
sudo apt update

# 升级已安装的包
sudo apt upgrade -y

# 清理不需要的包
sudo apt autoremove -y

2. 安装常用工具

# 开发工具
sudo apt install -y build-essential git curl wget

# 网络工具
sudo apt install -y net-tools iputils-ping

# 编辑器
sudo apt install -y vim nano

# 压缩工具
sudo apt install -y zip unzip tar

# 系统监控
sudo apt install -y htop neofetch

3. 配置 Shell(推荐使用 zsh)

# 安装 zsh
sudo apt install -y zsh

# 安装 oh-my-zsh
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

# 设置 zsh 为默认 shell
chsh -s $(which zsh)

4. 文件系统互通

  • Windows 访问 Linux 文件\\wsl$\Ubuntu\
  • Linux 访问 Windows 文件/mnt/c/(C盘)、/mnt/d/(D盘)等

五、开发环境配置

1. Python 环境

# 安装 Python
sudo apt install -y python3 python3-pip python3-venv

# 创建虚拟环境
python3 -m venv ~/.venv/myproject
source ~/.venv/myproject/bin/activate

2. Node.js 环境

# 使用 nvm 安装 Node.js
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash

# 重启终端后
nvm install --lts
nvm use --lts

3. Docker 集成

# 安装 Docker(需要先安装 Docker Desktop for Windows)
# 然后在 WSL 中配置

4. 数据库

# 安装 MySQL
sudo apt install -y mysql-server

# 安装 PostgreSQL
sudo apt install -y postgresql postgresql-contrib

# 安装 Redis
sudo apt install -y redis-server

六、图形界面支持(GUI)

方法 1:WSLg(官方方案)

WSL 2 已内置 GUI 支持,无需额外配置:

# 安装图形应用示例
sudo apt install -y gedit gimp

# 直接运行即可显示窗口
gedit &

方法 2:配置 X Server

# 安装必要的包
sudo apt install -y x11-apps

# 设置显示变量(假设 Windows 端运行 X Server)
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0

七、实用技巧

1. 跨系统复制粘贴

# 安装剪贴板工具
sudo apt install -y xclip

# Windows -> WSL
# 在 Windows 中复制,在 WSL 中粘贴:Ctrl+Shift+V

# WSL -> Windows
# 在 WSL 中复制:cat file.txt | clip.exe

2. 配置 VS Code 集成

  1. 安装 VS Code
  2. 安装 "Remote - WSL" 扩展
  3. 在 WSL 终端输入:code .
  4. VS Code 将在 WSL 环境中打开

3. 端口转发

WSL 2 使用虚拟网络,需要手动转发端口:

# Windows PowerShell 中
netsh interface portproxy add v4tov4 listenport=3000 listenaddress=0.0.0.0 connectport=3000 connectaddress=$(wsl hostname -I)

4. 备份与恢复

# 导出 WSL 分发版
wsl --export Ubuntu ubuntu_backup.tar

# 导入 WSL 分发版
wsl --import Ubuntu_New C:\WSL\Ubuntu ubuntu_backup.tar

八、常用 WSL 命令

# 管理命令
wsl --list --verbose          # 查看已安装的发行版
wsl --shutdown               # 立即终止所有运行的分发版
wsl --terminate <发行版名>    # 终止指定发行版
wsl --set-version <发行版> 2 # 设置发行版版本

# 运行命令
wsl ls -la                   # 不进入 shell 直接运行命令
wsl -d Ubuntu -- <命令>      # 在指定发行版中运行命令

# 其他实用命令
wsl --update                 # 更新 WSL 内核
wsl --status                 # 查看 WSL 状态

九、故障排除

常见问题 1:WSL 启动失败

# 重置 WSL
wsl --unregister Ubuntu
wsl --install -d Ubuntu

常见问题 2:网络问题

# 在 WSL 中创建 resolv.conf 配置
sudo tee /etc/wsl.conf << EOF
[network]
generateResolvConf = false
EOF

sudo rm /etc/resolv.conf
sudo tee /etc/resolv.conf << EOF
nameserver 8.8.8.8
nameserver 8.8.4.4
EOF

常见问题 3:内存占用过高

C:\Users\<用户名>\.wslconfig 中添加:

[wsl2]
memory=4GB    # 限制最大内存
processors=4  # 限制 CPU 核心数
swap=2GB      # 设置交换空间

十、高级应用

1. 使用 systemd(WSL 2)

# 编辑 /etc/wsl.conf
sudo nano /etc/wsl.conf

# 添加以下内容
[boot]
systemd=true

2. 多发行版管理

# 安装多个 Linux 发行版
wsl --install -d Debian
wsl --install -d Kali-Linux

# 在不同发行版间切换
wsl -d Debian

3. 配置开发服务器

# 安装 nginx
sudo apt install -y nginx

# 配置服务自动启动
sudo systemctl enable nginx

十一、最佳实践建议

  1. 文件存储位置

    • Linux 相关文件放在 Linux 文件系统内(性能更好)
    • 共享文件放在 Windows 文件系统中
  2. 备份策略

    • 定期导出重要 WSL 分发版
    • 使用 Git 管理配置文件
  3. 性能优化

    • 将 WSL 2 虚拟硬盘放在 SSD 上
    • 适当调整内存限制
    • 避免在 /mnt/ 下进行大量文件操作
  4. 安全考虑

    • 定期更新系统和软件包
    • 使用强密码
    • 配置防火墙规则

总结

WSL 2 + Ubuntu 的组合为 Windows 用户提供了完整的 Linux 开发体验,无需离开熟悉的 Windows 环境。从基础安装到高级配置,本指南覆盖了大多数使用场景。

开始你的 WSL 之旅吧! 无论是开发、学习还是日常使用,这个强大的工具都将极大提升你的工作效率。

提示:WSL 仍在快速发展中,建议关注微软官方文档获取最新功能和更新。

标签: windows, Ubuntu, WSL, Linux

添加新评论