Windows Server 2019 / 2022 开启 WSL 子系统完整指南
适用场景:需要在 Windows Server 环境跑 Linux 命令行工具、Docker CLI、脚本测试,又不想单独开一台虚拟机。
一、前置条件检查
在动手之前,先确认两件事:
-
系统版本:Windows Server 2019(1809+)或 Windows Server 2022
-
管理员权限:全程需要用 Administrator 打开 PowerShell
配图建议①:一张 PowerShell 图标右键「以管理员身份运行」的截图示意图。

二、一键开启 WSL 功能(核心步骤)
打开管理员 PowerShell,依次执行以下命令:
# 1. 启用 WSL 可选功能(适用于 WSL 1,Server 默认先走这个)
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
# 2. 启用虚拟机平台(WSL 2 必须,2022 强烈建议开)
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
⚠️ 注意:命令执行完后 先别重启,我们一次性把内核补丁也准备好。
配图建议②:PowerShell 回显
The operation completed successfully 的终端局部截图。三、升级 WSL 2 内核(Server 必做)
Windows Server 不像 Win10/11 会自动推送内核更新,需要手动装:
# 下载 WSL 2 Linux 内核更新包(微软官方直链)
Invoke-WebRequest -Uri https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi -OutFile $env:TEMP\wsl_update_x64.msi
# 静默安装
Start-Process msiexec.exe -Wait -ArgumentList "/I $env:TEMP\wsl_update_x64.msi /quiet"
装完后设置 WSL 2 为默认版本:
wsl --set-default-version 2
配图建议③:一张信息图——「WSL 1 vs WSL 2 区别对比表」(性能/文件系统/Docker 支持打钩)。
四、安装 Linux 发行版(以 Ubuntu 为例)
Server 没有 Microsoft Store,我们用 Appx 离线包 方式装:
# 下载 Ubuntu 20.04 / 22.04(二选一,推荐 22.04 LTS)
Invoke-WebRequest -Uri https://aka.ms/wslubuntu2204 -OutFile C:\Distros\Ubuntu.appx -UseBasicParsing
# 改后缀解压
Rename-Item C:\Distros\Ubuntu.appx C:\Distros\Ubuntu.zip
Expand-Archive C:\Distros\Ubuntu.zip C:\Distros\Ubuntu\
# 注册并启动(首次会让你设用户名和密码)
C:\Distros\Ubuntu\ubuntu2204.exe
安装完成后,回到 PowerShell 验证:
wsl -l -v
正常会显示:
NAME STATE VERSION
* Ubuntu Running 2
配图建议④:
wsl -l -v 命令输出结果的干净排版截图。五、常用运维命令(收藏级)
# 进默认子系统
wsl
# 进指定发行版
wsl -d Ubuntu
# 关机(释放内存/VSocket)
wsl --shutdown
# 导出子系统备份(做灾备)
wsl --export Ubuntu D:\Backup\Ubuntu_202607.tar
# 导入恢复
wsl --import UbuntuNew D:\WSL\UbuntuNew D:\Backup\Ubuntu_202607.tar --version 2
# 卸载发行版
wsl --unregister Ubuntu
六、Server 下容易踩的坑
| 问题 | 原因 | 解法 |
|---|---|---|
wsl: 无法解析服务器的名称 |
DNS 未继承 | 在 WSL 里手动改 /etc/resolv.conf |
| Docker Desktop 起不来 | Server 不支持 DD GUI | 直接用 docker CLI + WSL2 后端即可 |
| 防火墙阻断 apt | 域网络策略 | 临时关 Defender 域墙测一下,或放行 80/443 |
七、验证是否真的跑起来了
在 WSL 里敲:
uname -r
lsb_release -a
能看到 Ubuntu 版本号 +
5.xx-microsoft-standard 内核,说明子系统已经稳稳跑在 WSL 2 上了。

💬 评论列表 (0)
暂无评论,快来抢沙发吧!
发表评论