下面是一个可直接复制使用的 WSL(Windows Subsystem for Linux)完整手册 Markdown 版本,包含:安装、发行版管理、运行、导入导出,以及部署第一个 Linux “服务器” + 与 Windows 宿主机通信实战。
WSL 使用与部署完整手册(Windows + Linux)
1. WSL 简介
WSL(Windows Subsystem for Linux)是 Windows 提供的 Linux 子系统,可以在 Windows 上直接运行 Linux 环境,无需虚拟机。
- WSL 1:轻量、兼容性一般
- WSL 2:基于轻量虚拟机(推荐),支持完整 Linux 内核、Docker
2. 安装与初始化
2.1 安装 WSL(推荐方式)
wsl --install
默认会安装:
- WSL 2
- Ubuntu 发行版
- 必要虚拟化组件
2.2 安装指定发行版
wsl --install -d Ubuntu-22.04
2.3 查看可用发行版
wsl --list --online
# 或
wsl -l -o
2.4 设置 WSL 2 为默认版本
wsl --set-default-version 2
2.5 将已安装发行版升级为 WSL 2
wsl --set-version Ubuntu 2
3. 发行版管理
3.1 查看已安装发行版
wsl --list --verbose
# 或
wsl -l -v
示例输出:
NAME STATE VERSION
Ubuntu Running 2
Debian Stopped 2
3.2 设置默认发行版
wsl --set-default Ubuntu
# 或
wsl -s Ubuntu
3.3 终止发行版
wsl --terminate Ubuntu
# 或
wsl -t Ubuntu
3.4 卸载发行版
wsl --unregister Ubuntu
⚠️ 会删除整个 Linux 系统(不可恢复)
3.5 关闭所有 WSL
wsl --shutdown
4. 运行与交互
4.1 启动默认 Linux
wsl
或进入用户目录:
wsl ~
4.2 启动指定发行版
wsl -d Ubuntu
4.3 Windows 执行 Linux 命令
wsl ls -la
wsl uname -a
4.4 Linux 访问 Windows 文件
WSL 内路径:
/mnt/c/Users/你的用户名/
示例:
cd /mnt/c/Users/Administrator/Desktop
5. 导入导出(备份与迁移)
5.1 导出发行版
wsl --export Ubuntu ubuntu_backup.tar
5.2 导入发行版
wsl --import Ubuntu2 D:\wsl\ubuntu2 ubuntu_backup.tar
参数说明:
- Ubuntu2:新发行版名称
- D:\wsl\ubuntu2:安装路径
- tar:备份文件
6. 部署第一个 Linux “服务器”(WSL 实战)
这里以 Ubuntu + Nginx + SSH + 简单 Web 服务为例。
6.1 更新系统
sudo apt update && sudo apt upgrade -y
6.2 安装常用工具
sudo apt install -y curl wget vim net-tools unzip
6.3 安装 Nginx(Web 服务器)
sudo apt install -y nginx
启动:
sudo service nginx start
访问:
http://localhost
6.4 安装 OpenSSH(可远程连接)
sudo apt install -y openssh-server
启动 SSH:
sudo service ssh start
查看状态:
service ssh status
6.5 获取 WSL IP
ip addr
或:
hostname -I
7. WSL 与 Windows 宿主机通信(重点)
7.1 Windows 访问 WSL 服务
WSL2 默认会映射:
localhost
例如:
| 服务 | WSL端口 | Windows访问 |
|---|---|---|
| Nginx | 80 | http://localhost |
| Spring Boot | 8080 | http://localhost:8080 |
7.2 WSL 访问 Windows
Windows 主机在 WSL 中默认网关:
cat /etc/resolv.conf
示例:
nameserver 172.xx.xx.xx
测试 Windows:
ping 172.xx.xx.xx
7.3 WSL 访问 Windows 本地服务
例如 Windows 运行 MySQL / Redis:
mysql -h 172.xx.xx.xx -u root -p
7.4 Windows 防火墙端口开放(关键)
如果 Windows 服务 WSL 访问失败:
netsh advfirewall firewall add rule name="WSL Access" dir=in action=allow protocol=TCP localport=你的端口
7.5 WSL 作为“局域网服务器”访问(高级)
获取 WSL IP:
hostname -I
Windows → WSL:
http://WSL_IP:PORT
⚠️ WSL2 IP 会变动,不适合生产长期固定使用。
8. WSL 常见服务部署示例
8.1 部署 Spring Boot
java -jar app.jar
Windows访问:
http://localhost:8080
8.2 部署 Node.js
npm install
npm run dev
8.3 部署 MySQL(测试用)
sudo apt install mysql-server
9. 性能与优化建议
9.1 限制 WSL 内存(推荐)
Windows 用户目录创建:
C:\Users\xxx\.wslconfig
内容:
[wsl2]
memory=4GB
processors=2
swap=2GB
应用:
wsl --shutdown
9.2 开启 systemd(新版本支持)
编辑:
sudo nano /etc/wsl.conf
写入:
[boot]
systemd=true
然后:
wsl --shutdown
10. 常见问题
10.1 WSL 启动慢
wsl --shutdown
10.2 无法联网
检查:
cat /etc/resolv.conf
10.3 端口无法访问
检查:
- Windows 防火墙
- WSL 服务是否绑定 0.0.0.0
10.4 重置 WSL
wsl --unregister Ubuntu
11. 总结
WSL 可以作为:
- 开发环境(Java / Node / Python)
- 本地 Linux 服务器
- Docker 环境(WSL2 + Docker Desktop)
- 学习 Linux / 运维环境