在 win10 2021 LTSC 上安装配置 wsl2 和 ubuntu 的过程:
参考官方文档:https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
(最后一步安装ubuntu发行版时,请自己解压, 然后拷贝到其他目录 再运行 ubuntu.exe, 否则默认放到了c盘 )
- win10系统启用wsl2:
wsl --install ----no-distribution (安装wsl2, 会自动打开系统feature: wsl子系统,虚拟机平台. 除非运行失败,一般不再需要去控制面板--启用windows特性 )
- 设置wsl默认版本为 wsl2:
wsl --set-default-version 2
- 升级wsl2 内核版本:
wsl --version (查看当前wsl版本, 内核版本, WSLg版本, Direct3D版本, windows版本等)
wsl --update --web-download (从 Internet 而不是 Microsoft Store 下载更新。)
wsl --update --web-download --pre-release (wsl linux 内核使用pre而不是stable版. 内核发布地址: https://github.com/microsoft/WSL)
wsl --update --web-download --pre-release -n (安装后不要启动分发)
注意: 如果遇网络问题,可直接上从上述 github 页面下载 wsl2内核安装包(Microsoft.WSL_1.3.15.0_x64_ARM64.msixbundle解压后有.msix文件),
之后双击.msix文件安装即可。安装后新版wsl2才有wsl --version 命令。
- 下载安装 ubuntu 发行版:
wsl --list --online (显示可以安装的可用发行版列表。)
wsl --install Ubuntu-22.04 --no-launch (下载并安装Ubuntu-22.04, 安装后不要启动分发。)
✳ 下载很慢, 不建议从store或者命令行下载. 以下为自己下载,自己安装的步骤:
(1) 手动下载 Ubuntu及其他发行版的安装包:
阅读官方文档: 旧版 WSL 的手动安装步骤-----步骤六-----下载发行版: 各种发行版的下载链接!!
【Ubuntu】: https://aka.ms/wslubuntu
【Ubuntu-22.04 LTS】: https://aka.ms/wslubuntu2204 (包含amd64和arm64)
【Ubuntu-20.04 AMD64】:https://aka.ms/wslubuntu2004 (只有amd64)
当前下载的 【Ubuntu】与【Ubuntu-22.04 LTS】相同:
下载文件名: Ubuntu2204-221101.AppxBundle
下载文件大小:1.04G
(2)解压下载的文件, 其中有两个最大的文件都是500M以上, Ubuntu_2204.1.7.0_x64.appx 和 Ubuntu_2204.1.7.0_ARM64.appx
显然, 这两个文件分别为 AMD64 和 ARM64 两种架构, 我们只需要第一个 *_x64.appx 这个文件。
解压Ubuntu_2204.1.7.0_x64.appx 到文件夹 Ubuntu_2204.1.7.0_x64, 并移动到合适的位置。
(3)安装ubuntu
解压的文件夹中, 有 ubuntu.exe 文件。 双击ubuntu.exe 运行它!
当前文件夹中的ubuntu分发, 会注册到系统中, 并提示输入username和 password,
之后完成安装, 在当前文件夹中会生成一个虚拟磁盘文件:ext4.vhdx(大小1.04G,会动态增长)
至此ubuntu安装完成,而且是安装在任何磁盘都可以。
-
配置ubuntu发行版:
wsl --shutdown (虚拟机关机, 立即终止所有正在运行的分发和 WSL 2虚拟机)
wsl --list --all -v (查看所有虚拟机,以及它们的运行状态) -
启用 systemd (默认使用init.d, 后来官方才支持systemd, 改为systemd与其他ubuntu发行版一致)
(1)安装: 进入ubuntu bash后, 通过以下命令来配置wsl启用 systemd (就是要新建 /etc/wsl.conf文件):
# echo -e "[boot]\nsystemd=true" | sudo tee -a /etc/wsl.conf 配置后需要通过wsl --shutdown命令关闭wsl,来进行wsl的完整重启。 还可以在 /etc/wsl.conf 中添加如下内容, 使windows的path内容不导入到linux的 path变量, 因为win的path有空格可能会出错:
(2)验证是否systemd启动成功:
判断wsl是否已启用systemd,可通过以下命令查看:
# ps --no-headers -o comm 1
如果命令返回的是init说明systemd未启用,如果是systemd那么你的systemd已启用成功了
(3)默认是安装了 WSLg的, 运行 glxgears 可以出现齿轮窗口!我的版本信息:
-
其他好用的 wsl 发行版管理工具:
WSLMan (比较好用。dotnet开发,很小: https://github.com/jet2jet/WSLMan)
wsl2-distro-manager-v1.8.7 (一般般, 不太推荐)
wsl-manager (瘦身和移动发行版的位置,python开发,未使用过: https://github.com/LorhanSohaky/wsl-manager) -
在ubuntu中可以安装 neofetch 工具, 显示ubuntu的信息:
apt install neofetch