WSL自定义安装多个相同版本的Ubuntu子系统
目录
1 安装WSL命令
2 手动下载WSL子系统(Ubuntu)
3 安装WSL子系统(Ubuntu)
3.1 通过exe文件安装
3.2 通过WSL --import导入命令方式安装
3.2.1 运行WSL --import全新安装新系统
3.2.2 为新系统添加新的自定义管理员账户
4 注销子系统
5 导出子系统
6 导入子系统
1 安装WSL命令
https://learn.microsoft.com/zh-cn/windows/wsl/install
如果安装WSL命令时较慢,则可以使用手动方式安装WSL命令
https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
或者手动下载WSL 2 Linux完整内核包,选择最新版本下载:
https://github.com/microsoft/WSL/
点击下载的wsl2.6.10.x64.msi程序安装WSL程序完整内核包。 安装完成后,使用wsl --version命令查看。
C:\Users\ZHOU>wsl --version
WSL 版本: 2.6.1.0
内核版本: 6.6.87.2-1
WSLg 版本: 1.0.66
MSRDC 版本: 1.2.6353
Direct3D 版本: 1.611.1-81528511
DXCore 版本: 10.0.26100.1-240331-1435.ge-release
Windows: 10.0.26100.4946
2 手动下载WSL子系统(Ubuntu)
wsl命令直接安装子系统时往往下载较慢,可以通过手动的方式下载相应的子系统。
https://learn.microsoft.com/zh-cn/windows/wsl/install-manual
找到下载发行版页面,点击相应的子系统下载
Ubuntu24.04 的下载地址:https://wslstorestorage.blob.core.windows.net/wslblob/Ubuntu2404-240425.AppxBundle
下载完成后得到zip文件,选择其中的相应系统版本解压
将得到的Ubuntu2404.0.5.0_x64.appx再次用解压缩软件进行解压
3 安装WSL子系统(Ubuntu)
WSL子系统默认会安装到%LOCALAPPDATA%\Packages文件夹下,以CanonicalGroupLimited开头的文件夹对应不同的WSL发行版。通过上面步骤解压之后进行相应的操作可以对WSL子系统进行自定义操作,比如安装到自定义位置等。
3.1 通过exe文件安装
输入用户名和密码之后完成WSL子系统安装
上述安装方法会在安装程序所在的文件下生成一个ext4.vhdx虚拟硬盘文件
生成的WSL子系统默认名为Ubuntu-24.04,无法更改。
3.2 通过WSL --import导入命令方式安装
此方法只需要使用解压缩文件中的install.tar.gz文件。
3.2.1 运行WSL --import全新安装新系统
wsl --import UbuntuServer E:\VM\UbuntuServer E:\VM\Ubuntu\install.tar.gz
UbuntuServer为安装后的子系统名称
E:\VM\UbuntuServer为子系统安装位置,可以自定义
E:\VM\install.tar.gz为子系统安装文件,可以是WSL官网下载的镜像文件,也可以是从Docker镜像站下载的镜像文件等
C:\Users\ZHOU>wsl -l -vNAME STATE VERSION
* Ubuntu-24.04 Running 2UbuntuServer Stopped 2
通过上述方法就可以通过自定义安装位置、自定义系统名称的方式安装全新的WSL子系统。
3.2.2 为新系统添加新的自定义管理员账户
通过上述wsl --import导入方式安装的子系统只有root管理员超级用户,可以通过以下命令添加自定义管理员用户。
(1)登录子系统
wsl -d UbuntuServer
可以看到是以root用户登录的子系统
(2)添加自定义普通用户并提升至sudo组成为管理员用户
创建的用户名只能以小写字母开头,逐条输入如下命令
NEW_USER=zhou
useradd -m -G sudo -s /bin/bash "$NEW_USER"
passwd "$NEW_USER"
(3)将默认登录账户从root用户更改为新建管理员用户
紧接第二步不要退出子系统,输入以下命令
echo -e "[user]\ndefault=$NEW_USER" > /etc/wsl.conf
(4)退出并关闭子系统
首先输入exit命令退出子系统
然后通过wsl --terminal 命令终止子系统运行,
wsl --terminate UbuntuServer
最后使用wsl-d命令重启并进入子系统
wsl -d UbuntuServer
子系统自动登录账户已经更改为新建的管理员用户。
4 注销子系统
wsl --unregister <Distribution Name>
wsl --unregister UbuntuServer
5 导出子系统
wsl --export <Distribution Name> <FileName>
wsl --export UbuntuServer 'E:\VM\UbuntuServer.tar'
6 导入子系统
wsl --import <Distribution Name> <Installation Folder> <Ubuntu WSL2 Image Tarball path>
wsl --import UbuntuServer E:\VM\UbuntuServer E:\VM\Ubuntu\install.tar.gz