Windows Server 2019 / 2022 开启 WSL 子系统完整指南

📅 2026-07-27 👍 0点赞 💬 0 条评论

适用场景:需要在 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)

暂无评论,快来抢沙发吧!

发表评论

× 大图