WSL2多开Ubuntu实例
最近在捣鼓软路由和OpenWrt,经常需要开一个Linux环境来交叉编译各种固件(有一说一,挺折腾人的 ::>_<:: 不过也挺锻炼人的)。虽然说可以创建个linux虚拟机或者docker容器来编译,但个人觉得这些方案太“重”了,正好巨硬整了个WSL2(Windows Subsystem for Linux)这么个好东西,那当然是要充分利用起来啦(。・∀・)ノ
然而目前的WSL并不支持为一个发行版(本文以Ubuntu为例)启动多个示例(也就是多开),所以目前我们只能手动配置。TAT
下载 Ubuntu WSL2 最新镜像
Ubuntu Server 22.04 LTS (Jammy Jellyfish) 最新版本(每日构建)可以在cloud-images.ubuntu.com下载。但考虑到国内网络环境,也可以通过清华大学开源软件镜像站(mirrors.tuna.tsinghua.edu.cn)(或者别的国内镜像站)下载。
参考下载命令:
1 | Invoke-WebRequest -Uri "https://mirrors.tuna.tsinghua.edu.cn/ubuntu-cloud-images/wsl/jammy/current/ubuntu-jammy-wsl-amd64-wsl.rootfs.tar.gz" -OutFile "ubuntu-jammy-wsl-amd64-wsl.rootfs.tar.gz" |
导入到WSL2中
导入命令如下所示
1 | wsl --import <DistroName> <InstallLocation> <InstallTarFile> |
其中[1]:
<DistroName>
:实例名称<InstallLocation>
:实例安装位置<InstallTarFile>
:安装文件位置
以下为命令示例:
1 | wsl --import Ubuntu-Example .\Ubuntu-Example\ .\ubuntu-jammy-wsl-amd64-wsl.rootfs.tar.gz |
修改实例名和安装位置就可以实现多开辣!
导入成功后可以通过以下命令进入创建好的Ubuntu实例:
1 | wsl -d <DistroName> |
配置普通用户账户
在容器中运行以下命令[2]:
1 | read -p "Please enter username: " NEW_USER |
然后退出WSL2容器(Ctrl+D),在PowerShell中运行以下命令:
1 | wsl --terminate <Distribution Name> |
现在便是以普通用户进行操作啦~