在WSL2中安装多个Ubuntu实例

参考:How to install multiple instances of Ubuntu in WSL2

本文主要内容

第一步:在 WSL2 中安装最新的 Ubuntu

如果你的系统是 windows 10 2004或更高版本(Build 19041或以上),可以使用以下命令直接在 WSL 中安装最新版本的 Ubuntu 实例:

shell 复制代码
wsl --install

这将实现所有必需的步骤,比如:

  1. 在 Windows 上启用所需的可选组件(Windows Virtualisation Platform 等)
  2. 启用 Windows Subsystem for Linux 2(WSL2)
  3. 将 Linux 内核更新到最新版本
  4. 安装默认的 Linux 发行版,比如最新版的 Ubuntu

安装完成,只需要运行 wsl 命令即可打开 WSL2 shell,第一次运行时需要设置用户名和密码。

第二步:下载适用于 WSL2 的 Ubuntu 压缩包

可以从 Ubuntu WSL镜像 中下载适用于 WSL2 的 Ubuntu 镜像压缩包保存到本地。

使用 Windows Terminal 或者 Powershell 来下载,在下载之前先运行以下命令移除 curl 别名:

shell 复制代码
Remove-Item alias:curl

接着运行以下命令下载Ubuntu镜像,一定要将整个命令复制到 Windows Terminal 或者 Powershell 中并运行:

bash 复制代码
curl (("https://cloud-images.ubuntu.com",
"releases/hirsute/release",
"ubuntu-21.04-server-cloudimg-amd64-wsl.rootfs.tar.gz") -join "/") `
--output ubuntu-21.04-wsl-rootfs-tar.gz

如果有警告,直接点击"Paste Anyway"按钮然后敲 Enter 键执行即可,会将 Ubuntu WSL 镜像下载到当前目录。

第三步:在 WSL2 中安装第二个 Ubuntu 实例

以下命令即可实现:

bash 复制代码
wsl --import <Distribution Name> <Installation Folder> <Ubuntu WSL2 Image Tarball path>
  1. <Distribution Name> 改成自己想要的名字,比如ubuntu-2,以后启停会用到
  2. 使用 Ubuntu 实例目标安装路径(文件夹)替换掉 <Installation Folder>
  3. 最后用上一步下载的 Ubuntu 镜像存储位置替换掉 <Ubuntu WSL2 Image Tarball path>

    以上命令运行成功后可以使用 wsl -l -v 查看已安装的发行版。

第四步:登录到第二个Ubuntu实例

首先将发行版实例(第二个Ubuntu实例)运行起来:

bash 复制代码
wsl -d <Distribution Name>

这里的 <Distribution Name> 很明显就是第三步中指定的名字。

第五步:设置用户账户

注意,上一步最后是使用的 root 用户登录进 Linux 的,接下来一起设置一个普通用户。

在使用 root 用户登录进 WSL2 的第二个 Ubuntu 实例后,先运行以下命令:

bash 复制代码
NEW_USER=<USERNAME>

其中将 <USERNAME> 换成你喜欢的用户名。

接着运行以下命令创建新用户账户并设置密码:

bash 复制代码
useradd -m -G sudo -s /bin/bash "$NEW_USER"
passwd "$NEW_USER"

其实上面的 NEW_USER=<USERNAME> 仅仅是定义了一个变量供后面的 useraddpasswd 两条命令使用而已(当然还有下一步的命令用到),完全可以直接将 <USERNAME> 直接放进这两条命令执行。

第六步:设定默认用户

接着,需要将 Ubuntu 实例默认登录用户从 root 用户替换为新创建的用户。为了实现这一点,运行以下命令(复制整个代码块到 Windows Terminal 或 PowerShell 然后敲 Enter):

bash 复制代码
tee /etc/wsl.conf <<_EOF
[user]
default=${NEW_USER}
_EOF

第七步:使用新账户登录

首先运行 logout 命令退出 WSL,接着通过以下命令关闭正在运行的第二个 Ubuntu 实例:

bash 复制代码
wsl --terminate <Distribution Name>

最后,再次启动第二个 Ubuntu 实例并登录:

bash 复制代码
wsl -d <Distribution Name>

注:以上所有的 <Distribute Name> 都是第二步安装实例时指定的,在本文中用的是 ubuntu-2

相关推荐
Edward1111111117 小时前
4月28日防火墙问题
linux·运维·服务器
拾贰_C17 小时前
【Agent | openai | Streaming | 】流式输出Streaming
ubuntu·面试·prompt
子琦啊18 小时前
【算法复习】字符串 | 两个底层直觉,吃透高频题
linux·运维·算法
AOwhisky19 小时前
Kubernetes 学习笔记:集群管理、命名空间与 Pod 基础
linux·运维·笔记·学习·云原生·kubernetes
小龙在慢慢变强..20 小时前
目录结构(FHS 标准)
linux·运维·服务器
2035去旅行20 小时前
嵌入式开发,如何选择C标准库
linux·arm开发
刘延林.20 小时前
win11系统下通过 WSL2 安装Ubuntu 24.04 使用RTX 5080 GPU
linux·运维·ubuntu
CodeOfCC21 小时前
Linux 嵌入式arm64安装openclaw
linux·运维·服务器
宵时待雨1 天前
linux笔记归纳3:linux开发工具
linux·运维·笔记
magrich1 天前
安装NoMachine并解决无外接显示器桌面黑屏
linux·运维·服务器