晨枫u盘pe制作工具,让装系统变得更简单!

晨枫u盘pe系统

Windows子系统WSL安装与使用完全指南:在Windows上运行Linux的实用教程(2026版)

更新时间:2026-07-06 来源:晨枫U盘 阅读:1000次

一、WSL简介与版本对比

WSL(Windows Subsystem for Linux)是微软开发的兼容层,允许在Windows上原生运行Linux二进制文件。目前有两个主要版本:WSL 1和WSL 2。

1.1 WSL 1 vs WSL 2 对比

特性 WSL 1 WSL 2
架构 翻译层 轻量级虚拟机
Linux内核 兼容层模拟 完整Linux内核
文件系统性能 Windows文件快 Linux文件快
网络性能 较好 需端口转发
系统调用兼容性 部分支持 完全支持
启动速度 即时 约1-2秒
资源占用 较低 稍高
Docker支持 有限 完整支持

1.2 系统要求

WSL 1:

  • Windows 10 版本1607及以上(64位)
  • 或Windows 11

WSL 2:

  • Windows 10 版本1903及以上(64位),推荐2004+
  • 或Windows 11
  • 需要启用虚拟机平台功能
  • 建议4GB以上内存

1.3 适用场景

  • 开发环境:在Windows上使用Linux开发工具链
  • Web开发:运行Node.js、Python、Ruby等
  • 运维学习:学习Linux命令和Shell脚本
  • Docker容器:在Windows上运行Docker
  • 跨平台测试:测试Linux下的程序兼容性

二、WSL安装与配置

2.1 一键安装WSL(Windows 10 2004+ / Windows 11)

最简单的方式是使用wsl命令一键安装:

# 以管理员身份运行PowerShell
wsl --install

这条命令会自动完成:

  • 启用WSL功能
  • 启用虚拟机平台
  • 下载并安装Linux内核
  • 安装默认的Ubuntu发行版
  • 设置WSL 2为默认版本

安装完成后重启电脑即可使用。

2.2 手动安装WSL 2

如果需要更精细的控制:

步骤1:启用WSL功能

# 以管理员身份运行
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

步骤2:启用虚拟机平台

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

步骤3:重启电脑

步骤4:下载并安装Linux内核更新包

从微软官网下载最新的WSL 2 Linux内核更新包并安装。

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

wsl --set-default-version 2

步骤6:安装Linux发行版

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

# 安装指定发行版
wsl --install -d Ubuntu-24.04

2.3 安装多个Linux发行版

# 查看已安装的发行版
wsl --list --verbose

# 安装多个发行版
wsl --install -d Ubuntu-24.04
wsl --install -d Debian
wsl --install -d openSUSE-Tumbleweed

# 设置默认发行版
wsl --set-default Ubuntu-24.04

# 启动指定发行版
wsl -d Debian

三、WSL基础使用

3.1 首次启动与用户配置

首次启动Linux发行版时,需要设置用户名和密码:

# 首次启动会自动提示
Enter new UNIX username: yourname
New password: ********
Retype new password: ********

3.2 常用命令

# 更新软件包
sudo apt update && sudo apt upgrade -y

# 安装常用工具
sudo apt install -y git curl wget vim htop build-essential

# 查看WSL版本
wsl --version

# 查看运行状态
wsl --status

3.3 文件互访

从Windows访问Linux文件:

# 在文件资源管理器地址栏输入
\\wsl$\Ubuntu-24.04\home\yourname\

从Linux访问Windows文件:

# Windows C盘挂载在/mnt/c
cd /mnt/c/Users/YourName/Documents

# 列出Windows文件
ls -la /mnt/c/

3.4 在Windows终端中使用WSL

Windows Terminal完美支持WSL:

  1. 安装Windows Terminal(从Microsoft Store)
  2. 打开Terminal,点击下拉箭头
  3. 选择已安装的Linux发行版
  4. 可同时打开多个标签页,混合使用PowerShell和Linux

四、WSL开发环境搭建

4.1 Web开发环境

# 安装Node.js(使用nvm管理版本)
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
source ~/.bashrc
nvm install --lts
nvm use --lts

# 安装Python开发环境
sudo apt install -y python3-pip python3-venv
python3 -m venv myproject-env
source myproject-env/bin/activate

# 安装Ruby(使用rbenv)
git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
rbenv install 3.3.0
rbenv global 3.3.0

4.2 Docker集成

WSL 2是Windows上运行Docker的最佳方式:

  1. 安装Docker Desktop for Windows
  2. 在设置中启用"Use the WSL 2 based engine"
  3. 在"Resources → WSL Integration"中选择要集成的发行版
  4. 在WSL中即可使用docker命令
# 验证Docker安装
docker --version
docker run hello-world

4.3 VS Code集成

VS Code对WSL有原生支持:

  1. 安装VS Code和"WSL"扩展
  2. 在WSL终端中打开项目:
cd ~/myproject
code .
  1. VS Code会在Windows上运行,但编辑器后端在WSL中
  2. 享受Windows的GUI和Linux的开发环境

五、WSL高级配置

5.1 资源限制配置

创建或编辑 %UserProfile%\.wslconfig 文件:

[wsl2]
memory=4GB           # 限制WSL最大内存
processors=2         # 限制CPU核心数
swap=2GB             # 交换空间大小
localhostForwarding=true  # localhost端口转发

[experimental]
autoMemoryReclaim=gradual  # 自动回收内存(Win11)

修改后需要重启WSL:

wsl --shutdown

5.2 网络配置

查看WSL IP地址:

ip addr show eth0

端口转发(从Windows访问WSL服务):

# PowerShell中设置端口转发
netsh interface portproxy add v4tov4 listenport=8080 listenaddress=0.0.0.0 connectport=80 connectaddress=$(wsl hostname -I)

# 查看端口转发规则
netsh interface portproxy show all

# 删除规则
netsh interface portproxy delete v4tov4 listenport=8080

5.3 图形界面支持(WSLg)

Windows 11和Windows 10 21H2+支持WSLg,可以直接运行Linux图形应用:

# 安装图形应用
sudo apt install -y gedit nautilus firefox

# 直接运行
gedit &
firefox &

WSLg使用Wayland+RDP方案,无需额外配置X Server。

5.4 自动启动配置

创建启动脚本 ~/.wsl_startup.sh

#!/bin/bash
# 启动SSH服务
sudo service ssh start

# 启动其他服务
# sudo service docker start

~/.bashrc 中添加:

# 自动启动服务(仅在交互式shell中)
if [[ "$SHLVL" -eq 1 ]] && ! pgrep -x sshd > /dev/null; then
    ~/.wsl_startup.sh &
fi

六、WSL常见故障排查

6.1 WSL无法启动

错误信息: "WSL 2 installation is incomplete"

解决方法:

# 更新WSL
wsl --update

# 如果仍然失败,手动下载内核更新包
# 从 https://aka.ms/wsl2kernel 下载并安装

6.2 网络不通

症状: WSL内无法访问互联网

排查步骤:

# 在PowerShell中重置网络
wsl --shutdown
netsh winsock reset
netsh int ip reset all
netsh winhttp reset proxy
ipconfig /flushdns

# 重启电脑

6.3 磁盘空间不足

WSL虚拟磁盘会自动增长但不会自动缩小:

# 查看虚拟磁盘大小
# 默认位置:C:\Users\YourName\AppData\Local\Packages\CanonicalGroupLimited...\LocalState\ext4.vhdx

# 压缩虚拟磁盘
wsl --shutdown
diskpart
# 在diskpart中
select vdisk file="C:\path\to\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit

6.4 文件性能问题

问题: 跨文件系统访问慢

解决方案:

  • 将项目文件放在Linux文件系统中(~/projects/)而非Windows文件系统(/mnt/c/
  • 使用WSL 2的9P协议优化:在 .wslconfig 中添加:
[wsl2]
networkingMode=mirrored

6.5 PE环境下的WSL修复

当WSL完全无法使用时,可以在PE环境中进行修复:

  1. 使用晨枫U盘启动盘进入PE系统
  2. 备份WSL数据:
# 复制虚拟磁盘文件
xcopy "C:\Users\YourName\AppData\Local\Packages\CanonicalGroupLimited*\LocalState\ext4.vhdx" "D:\WSL-Backup\" /E /H
  1. 重置WSL:
# 在PE中无法直接运行wsl命令,但可以删除配置
# 重启到Windows后执行
wsl --unregister Ubuntu-24.04
wsl --install -d Ubuntu-24.04

七、WSL最佳实践

7.1 开发工作流建议

  • 将代码存储在Linux文件系统中以获得最佳性能
  • 使用VS Code Remote - WSL扩展进行开发
  • 利用Windows Terminal管理多个终端会话
  • 使用Git for Windows或Linux版Git(推荐后者)

7.2 备份策略

# 导出WSL发行版
wsl --export Ubuntu-24.04 D:\backup\ubuntu-backup.tar

# 导入WSL发行版
wsl --import Ubuntu-Custom D:\WSL\Ubuntu-Custom D:\backup\ubuntu-backup.tar

7.3 性能优化

  • 关闭不需要的WSL发行版以释放资源
  • 合理配置 .wslconfig 中的内存限制
  • 使用Windows 11的自动内存回收功能
  • 避免在 /mnt/c/ 下进行大量文件操作

八、总结

WSL为Windows用户提供了一个无缝的Linux开发环境,让你无需离开Windows即可享受Linux的强大功能。通过合理配置和使用,WSL可以大幅提升开发效率,特别是在Web开发、容器化部署和运维自动化等场景下。当遇到问题时,按照本文的排查步骤逐步诊断,大部分问题都能得到解决。如果需要更深度的系统维护,晨枫PE工具箱可以作为可靠的后备方案。