WSL 使用与部署完整手册(Windows + Linux)

下面是一个可直接复制使用的 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 / 运维环境

上一篇