本文介绍如何在 Windows 10 LTSC 精简系统上安装 WSL
问题的背景
Windows 10 LTSC 精简系统去除了 微软 Store、Edge 浏览器等用处不大且消耗资源的产品,备受老爷机欢迎。但是 WSL一般通过 Store 安装,如何在 Windows 10 LTSC 版上顺利安装 WSL 变成了问题。
安装 WSL
从控制面板 - 程序 - 程序和功能 - 启用和关闭 Windows 功能,即可安装基本的 WSL,
升级 WSL
默认的 WSL 版本是 1,而 WSL2 的性能有较大的提升。我们一般应当从 1 升级到 2 版本。
按照一般的 WSL 文档提示,升级 WSL 的命令为:
$ wsl --update
这个 Update 动作由 Store 完成,但是由于 Windows 10 LTSC 中去除了 Store,会使上述命令运行时卡在 0% 位置。
我们应该再加一个 web-download
参数,改从 Github 上下载。即使用如下的命令:
$ wsl --update --web-download
下载完成的效果如下图:
查看 WSL 版本
升级后可以查看 WSL 的版本,确认使用的是 WSL 2:
$ wsl --version
安装 Linux 的发行版本
直接用 wsl --install
可能会遇到如下的错误提示:
无法从“https://raw.githubusercontent.com/microsoft/WSL/master/distributions/DistributionInfo.json”中提取列表分发。无法解析服务器的名称或地址
这是因为域名无法正常解析产生的报错信息。其实,即使获取到了域名的解析,由于没有 Microsoft Store 的原因,也可能会安装失败。最方便的办法是使用离线的 Appx 格式安装。
离线安装 Linux 发行版本
从 微软官方的文档 中找到离线发行版本的下载链接。
其中不带版本号的 Ubuntu 是某个较新的稳定版本,目前是 22.04 版。
然而,22.04 版的离线安装包有 1G 之多,相比之下,18.04 仅有 200M. 对于喜欢安装 LTSC 的朋友们,如果不是特别需要 22.04 中的某些功能的话,选择哪个版本就一清二楚了。
部分下载地址如下:
当下载好 Appx 文件后,就可以在 Powershell 中执行以下命令安装 WSL 发行版本:
Add-AppxPackage \path\to\app_name.appx
上面 \path\to\app_name.appx
是你存放 Appx 文件的路径。
安装好后,可以使用 wsl -l
命令检查是否成功安装。
用下面的命令可以设置你的 Ubuntu-18.04 的默认版本为 2 :
wsl --set-version Ubuntu-18.04 2
迁移 WSL
WSL 的虚拟文件系统在实体机上以 VHD 文件形式存在,扩展名为 *.vhdx
。这个文件默认保存在 C 盘某个位置,而 LTSC 精简系统注定会追求 C 盘空间最小化。所以我们需要把 WSL 的VHD 文件迁移到其他驱动器中。
如果你只有 C 盘一个分区,那么可以忽略本节。
导出 WSL 发行版本
首先需要将安装好的发行版本导出为 *.tar
格式。首先查看当前安装的发行版本名称,例如:
PS C:\> wsl -l
适用于 Linux 的 Windows 子系统分发:
Ubuntu-18.04 (默认)
看出来当前只有一个名为 Ubuntu-18.04 的发行版本。
首先关机:
PS C:\> wsl --shutdown
使用 --export
子命令将该版本导出到你想要的路径,这里以 D:\WSL
为例:
PS C:\> wsl --export Ubuntu-18.04 D:\WSL\Ubuntu.tar
当看到导出成功的提示后,在wsl管理中注销 Ubuntu-18.04 发行版本,以避免接下来导入时冲突:
PS C:\> wsl --unregister Ubuntu-18.04
重新导入 *.tar
格式的 WSL 系统到指定位置,这里以D:\WSL
为例:
PS C:\> wsl --import Ubuntu-18.04 D:\WSL D:\WSL\Ubuntu.tar
这时运行 wsl -l
命令可以查看是否成功导入 Ubuntu-18.04 发行版本。
执行 wsl
会看到以 root 身份登录。要修改默认登录的用户名,需要根据具体的使用场景选择不同的方法:
设置默认用户
在不同的场景下,设置默认用户有不同的方法。请根据自己的情况对号入座:
场景1
安装好 WSL,并且首次运行 WSL 时,会提示创建默认用户名称,这时你可以输入你中意的名字。这个名字将自动成为以后进入 WSL 的默认用户名。
场景2
安装好 WSL 后(这时系统中 有 可执行的发行版本的 Launcher,例如 Ubuntu-18.04.exe ),然后迁移 WSL 到其他盘中(迁移的过程见下文),这时默认用户为root。可以使用如下命令重新设置默认用户。
Ubuntu-18.04 config --default-user <Username>
例如:
场景3
未安装 WSL (这时系统中 无 可执行的发行版本的 Launcher,例如 Ubuntu-18.04.exe ),直接导入 WSL ,这时默认用户为root。
由于没有可执行的Launcher, 所以不能用场景2中的命令方法修改默认用户:
可以使用如下方法重新设置默认用户:
编辑 /etc/wsl.conf
文件,然后编辑内容:
[user]
default = 你的用户名
总结
到这里基本上 WSL 会进入比较好用的状态。在这之后的设置,就是Vim 的设置(可以参考 这篇文章) 和 VScode 的设置(可以参考 这篇文章)
如果您对本文有疑问或者寻求合作,欢迎 联系邮箱 。邮箱已到剪贴板
精彩评论
本站 是个人网站,采用 署名协议 CC-BY-NC 授权。
欢迎转载,请保留原文链接 https://www.lfhacks.com/tech/installing-wsl-on-win-10-ltsc/ ,且不得用于商业用途。