1. 用途
在 Windows 中原生运行 Linux 环境,支持命令交互、图形程序、Docker、CUDA 加速,实现 Windows 与 Linux 无缝协同。
2. 前置条件
- 开启 CPU 虚拟化(BIOS 开启 Intel VT-x / AMD-V)
- 启用 Windows 功能:
- 适用于 Linux 的 Windows 子系统
- 虚拟机平台
- 安装后重启电脑
3. 一键安装 WSL2
默认安装 Ubuntu,国内网络建议加 --web-download 提升稳定性
安装完成后设置 Linux 用户名与密码
4、发行版管理
查看可安装发行版
安装指定发行版
1
| wsl --install <DistroName>
|
查看已安装子系统
设置默认发行版
1
| wsl --set-default <DistroName>
|
卸载发行版
1
| wsl --unregister <DistroName>
|
5、备份与迁移
导出备份
1
| wsl --export <DistroName> 备份文件名.tar
|
导入到其他盘
1
| wsl --import <新名称> <存放路径> <备份文件.tar>
|
6、文件互访
- Windows 访问 Linux:文件资源管理器地址栏输入
\\wsl$ - Linux 访问 Windows:磁盘自动挂载到
/mnt/c、/mnt/d 等
Linux 中运行 Windows 程序
1
2
| notepad.exe 文件名
explorer.exe .
|
7、高级配置
启用 systemd(单发行版配置)
写入:
关闭 WSL 等待 8 秒后生效。
配置镜像网络(全局配置)
在 Windows 用户目录创建 .wslconfig:
1
2
| [wsl2]
networkingMode=mirror
|
关闭 WSL 等待 8 秒后生效
解决局域网访问问题(不打开会导致无法从局域网访问 WSL2 上部署的服务)
1
2
3
4
5
6
7
8
9
10
| # 开启所有wsl所有服务端口(方法一)
Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Allow
# 查看yper-V防火墙配置规则
Get-NetFirewallHyperVRule -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}'
# 重置所有wsl所有服务端口(也可恢复默认值None或NotConfigured)
Set-NetFirewallHyperVVMSetting -Name '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -DefaultInboundAction Block
# 仅开启指定端口(方法二)
## -Name:起服务名,-DisplayName:服务显示名
New-NetFirewallHyperVRule -Name "MyWebServer" -DisplayName "My Web Server" -Direction Inbound -VMCreatorId '{40E0AC32-46A5-438A-A0B2-2B479E8F2E90}' -Protocol TCP -LocalPorts 80
|