在Windows Server 2019 (1809)上启用WSL运行Ubuntu

一、背景

在Windows10上可以使用WSL和新的Terminal直接运行Linux,同时,还可以通过Windows Store在线商店安装需要的Linux发行版。但在Windows Server上,没有在线商店可用。因此,安装方法可以参考如下。

首先检查确认版本高于 Windows Server 2019 (version 1709) 版本。例如EC2上当前是1809版本。此外,系统版本低于1903是不支持WSL2的,只有WSL1可用。

二、安装和启动

用管理员权限打开Powershell,运行如下命令:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

这将启用WSL。需要重启生效。

从这个网页上下载WSL使用的Linux发行版的安装包:

https://docs.microsoft.com/en-us/windows/wsl/install-manual

下载可以用Windows GUI图形界面完成,也可以在Powershell下完成。

Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-2004 -OutFile Ubuntu.appx -UseBasicParsing

由此下载后即可获得Ubuntu.appx文件。将这个文件改命为zip文件,运行启用的安装文件。

Rename-Item .\Ubuntu.appx .\Ubuntu.zip
Expand-Archive .\Ubuntu.zip .\WSL

进入解压缩后的目录,运行其中的ubuntu2004.exe文件,即可完成安装。

安装完毕后,将启动文件加入系统PATH,请替换如下命令中的路径为上一步解压缩的路径执行如下命令:

$userenv = [System.Environment]::GetEnvironmentVariable("Path", "User")
[System.Environment]::SetEnvironmentVariable("PATH", $userenv + ";C:\Users\labuser\Downloads\WSL", "User")

添加到路径完毕后,可以在任意路径下执行 ubuntu2004 即可启动WSL。

至此安装完成。如果需要在VScode中的Terminal内使用WSL,可以在VScode中安装Remote – WSL插件,即可在Terminal窗口内调用WSL。如下截图。