当前位置: 首页 > news >正文

在WSL2中安装多个Ubuntu实例

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

本文主要内容

    • 第一步:在 WSL2 中安装最新的 Ubuntu
    • 第二步:下载适用于 WSL2 的 Ubuntu 压缩包
    • 第三步:在 WSL2 中安装第二个 Ubuntu 实例
    • 第四步:登录到第二个Ubuntu实例
    • 第五步:设置用户账户
    • 第六步:设定默认用户
    • 第七步:使用新账户登录

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

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

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 别名:

Remove-Item alias:curl

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

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 实例

以下命令即可实现:

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实例)运行起来:

wsl -d <Distribution Name>

这里的 <Distribution Name> 很明显就是第三步中指定的名字。
在这里插入图片描述

第五步:设置用户账户

注意,上一步最后是使用的 root 用户登录进 Linux 的,接下来一起设置一个普通用户。
在使用 root 用户登录进 WSL2 的第二个 Ubuntu 实例后,先运行以下命令:

NEW_USER=<USERNAME>

其中将 <USERNAME> 换成你喜欢的用户名。
接着运行以下命令创建新用户账户并设置密码:

useradd -m -G sudo -s /bin/bash "$NEW_USER"
passwd "$NEW_USER"

在这里插入图片描述

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

第六步:设定默认用户

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

tee /etc/wsl.conf <<_EOF
[user]
default=${NEW_USER}
_EOF

在这里插入图片描述

第七步:使用新账户登录

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

wsl --terminate <Distribution Name>

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

wsl -d <Distribution Name>

在这里插入图片描述

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

相关文章:

在WSL2中安装多个Ubuntu实例

参考&#xff1a;How to install multiple instances of Ubuntu in WSL2 本文主要内容 第一步&#xff1a;在 WSL2 中安装最新的 Ubuntu第二步&#xff1a;下载适用于 WSL2 的 Ubuntu 压缩包第三步&#xff1a;在 WSL2 中安装第二个 Ubuntu 实例第四步&#xff1a;登录到第二个…...

java--实体javaBean

1.什么是实体类 1.就是一种特殊形式的类 2.这个类中的成员变量都要私有&#xff0c;并且要对外提供相应的getXXX&#xff0c;setXXX方法 3.类中必须要有一个公共的无参的构造器 2.实体类有啥应用场景 实体类只负责数据存取&#xff0c;而对数据的处理交给其他类来完成&…...

重温设计模式之什么是设计模式?

设计面向对象软件比较困难&#xff0c;而设计可复用的面向对象软件就更加困难。你必须找到相关的对象&#xff0c;以适当的粒度将它们归类&#xff0c;再定义类的接口和继承层次&#xff0c;建立对象之间的基本关系。你的设计应该对手头的问题有针对性&#xff0c;同时对将来的…...

CSS关于默认宽度

所谓的默认宽度&#xff0c;就是不设置width属性时&#xff0c;元素所呈现出来的宽度 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title></title><style>* {margin: 0;padding: 0;}.box {/…...

JDBC(二)

第4章 操作BLOB类型字段 4.1 MySQL BLOB类型 MySQL中&#xff0c;BLOB是一个二进制大型对象&#xff0c;是一个可以存储大量数据的容器&#xff0c;它能容纳不同大小的数据。 插入BLOB类型的数据必须使用PreparedStatement&#xff0c;因为BLOB类型的数据无法使用字符串拼接写…...

LeetCode----149. 直线上最多的点数

 题目 给你一个数组 points &#xff0c;其中 points[i] [ x i x_i xi​, y i y_i yi​] 表示 X-Y 平面上的一个点。求最多有多少个点在同一条直线上。 示例 1&#xff1a; 输入&#xff1a;points [[1,1],[2,2],[3,3]] 输出&#xff1a;3 示例 2&#xff1a; 输入…...

19、Flink 的Table API 和 SQL 中的自定义函数及示例(3)

Flink 系列文章 1、Flink 部署、概念介绍、source、transformation、sink使用示例、四大基石介绍和示例等系列综合文章链接 13、Flink 的table api与sql的基本概念、通用api介绍及入门示例 14、Flink 的table api与sql之数据类型: 内置数据类型以及它们的属性 15、Flink 的ta…...

Flutter IOS 前后台切换主题自动变化的问题

BUG 触发条件 设备 IOS 15 模拟器GetX 实现换肤GetMaterialApp 里面配置好 theme和darkTheme使用GetView和GetController进行开发 此时如果把App前后台切换&#xff0c;使用Obx包括起来的内容会跟谁异常主题变换&#xff0c;未使用Obx的颜色不会变化。 解决路径 首先在获取 …...

rabbitmq入门学习

写在前面 本文看下rabbit mq的基础概念以及使用。 1&#xff1a;简单介绍 为了不同进程间通信的解耦&#xff0c;出现了消息队列&#xff0c;为了规范消息队列的具体实现&#xff0c;Java制定了jms规范&#xff0c;这是一套基于接口的规范&#xff0c;因此是绑定语言的&…...

说说对Fiber架构的理解?解决了什么问题?

一、问题 JavaScript引擎和页面渲染引擎两个线程是互斥的&#xff0c;当其中一个线程执行时&#xff0c;另一个线程只能挂起等待 如果 JavaScript 线程长时间地占用了主线程&#xff0c;那么渲染层面的更新就不得不长时间地等待&#xff0c;界面长时间不更新&#xff0c;会导…...

Spring Security笔记

Spring Security 是 Spring家族中的一个安全管理框架。 一般来说中大型的项目都是使用 SpringSecurity 来做安全框架&#xff0c;小项目用相对简单的Shiro。认证、授权是 SpringSecurity 作为安全框架的核心功能。 认证&#xff1a;通过用户名密码验证当前访问系统的是不是本…...

快速教程|如何在 AWS EC2上使用 Walrus 部署 GitLab

Walrus 是一款基于平台工程理念的开源应用管理平台&#xff0c;致力于解决应用交付领域的深切痛点。借助 Walrus 将云原生的能力和最佳实践扩展到非容器化环境&#xff0c;并支持任意应用形态统一编排部署&#xff0c;降低使用基础设施的复杂度&#xff0c;为研发和运维团队提供…...

[vmware]vmware虚拟机压缩空间清理空间

vmware中的ubuntu使用如果拷贝文件进去在删除&#xff0c;vmare镜像文件并不会减少日积月累会不断是的真实物理磁盘空间大幅度减少&#xff0c;比如我以前windows操作系统本来只有30GB最后居然占道硬盘200GB&#xff0c;清理方法有2种。 第一种&#xff1a;vmware界面操作 第二…...

一篇文章带你使用(MMKV--基于 mmap 的高性能通用 key-value 组件)

一、MMKV是什么&#xff1f; MMKV 是基于 mmap 内存映射的 key-value 组件&#xff0c;底层序列化/反序列化使用 protobuf 实现&#xff0c;性能高&#xff0c;稳定性强。也是腾讯微信团队使用的技术。 支持的数据类型 支持以下 Java 语言基础类型&#xff1a; boolean、int…...

Pytorch 里面torch.no_grad 和model.eval(), model.train() 的作用

torch.no_grad: 影响模型的自微分器&#xff0c;使得其停止工作&#xff1b;这样的话&#xff0c;数据计算的数据就会变快&#xff0c;内存占用也会变小&#xff0c;因为没有了反向梯度计算&#xff0c;当然&#xff0c;我哦们也无法做反向传播。 model.eval() 和model.train()…...

Ozon产品内容评级功能上线,妙手ERP实力助力Ozon卖家全方位打造爆款产品!

产品内容评级&#xff0c;可以直接反映产品质量的高低&#xff0c;也是影响产品排名的关键。具有较高内容评级的产品&#xff0c;将有更大机会显示在搜索结果和类目的前几页中&#xff0c;从而引起买家的关注&#xff0c;促进销售。 为帮助卖家打造高质量产品&#xff0c;妙手…...

Linux 下最主流的文件系统格式——ext

硬盘分成相同大小的单元&#xff0c;我们称为块&#xff08;Block&#xff09;。一块的大小是扇区大小的整数倍&#xff0c;默认是 4K。在格式化的时候&#xff0c;这个值是可以设定的。 一大块硬盘被分成了一个个小的块&#xff0c;用来存放文件的数据部分。这样一来&#xf…...

变量环境、变量提升和暂时性死区

JavaScript中的提升 在JavaScript中&#xff0c;“Hoisting”&#xff08;提升&#xff09;是一种特性&#xff0c;它将变量和函数的声明移动到作用域的顶部。这意味着可以在声明之前使用这些变量和函数&#xff0c;而不会报错。 当JavaScript代码执行时&#xff0c;会经过两个…...

yolov8+多算法多目标追踪+实例分割+目标检测+姿态估计(代码+教程)

多目标追踪实例分割目标检测 YOLO (You Only Look Once) 是一个流行的目标检测算法&#xff0c;它能够在图像中准确地定位和识别多个物体。 本项目是基于 YOLO 算法的目标跟踪系统&#xff0c;它将 YOLO 的目标检测功能与目标跟踪技术相结合&#xff0c;实现了实时的多目标跟…...

【神经网络】【GoogleNet】

1、引言 卷积神经网络是当前最热门的技术&#xff0c;我想深入地学习这门技术&#xff0c;从他的发展历史开始&#xff0c;了解神经网络算法的兴衰起伏&#xff1b;同时了解他在发展过程中的**里程碑式算法**&#xff0c;能更好的把握神经网络发展的未来趋势&#xff0c;了解神…...

YOLO Face检测解决方案:从技术瓶颈到商业价值的高效转化

YOLO Face检测解决方案&#xff1a;从技术瓶颈到商业价值的高效转化 【免费下载链接】yolo-face YOLO Face &#x1f680; in PyTorch 项目地址: https://gitcode.com/gh_mirrors/yo/yolo-face 面对复杂场景下的人脸检测需求&#xff0c;技术决策者常常陷入两难&#xf…...

VAP动画播放器终极指南:如何实现跨平台高性能特效动画

VAP动画播放器终极指南&#xff1a;如何实现跨平台高性能特效动画 【免费下载链接】vap VAP是企鹅电竞开发&#xff0c;用于播放特效动画的实现方案。具有高压缩率、硬件解码等优点。同时支持 iOS,Android,Web 平台。 项目地址: https://gitcode.com/gh_mirrors/va/vap …...

C语言中常用的几个头文件及库函数

不完全统计&#xff0c;C语言标准库中的头文件有15个之多&#xff0c;所以我主要介绍常用的这四个头文件stdio.h,string.h,math.h,stdlib.h&#xff0c;以后用到其他的再做补充。下面上干货&#xff1a;1.<stdio.h>&#xff1a;定义了输入输出函数、类型以及宏&#xff0…...

保姆级教程:在PyCharm里用YOLOv8训练自己的杂草识别模型(附数据集标注工具对比)

从零搭建YOLOv8杂草检测系统&#xff1a;PyCharm环境配置与实战技巧 去年夏天&#xff0c;我在自家后院尝试用计算机视觉技术解决杂草疯长的问题时&#xff0c;发现市面上大多数教程要么过于理论化&#xff0c;要么假设读者已经具备完整的开发环境。本文将分享一套经过实战检验…...

别再扔烙铁头了!从氧化到锈蚀,一份针对不同‘伤势’的烙铁头修复实战手册

烙铁头修复全攻略&#xff1a;从氧化到锈蚀的精准‘诊疗’方案 烙铁头就像外科医生的手术刀&#xff0c;一旦钝化或生锈&#xff0c;焊接精度就会直线下降。我见过太多电子爱好者因为烙铁头氧化就直接更换新头&#xff0c;其实90%的‘报废’烙铁头都能通过系统修复重获新生。本…...

高级窗口管理完全指南:深度解析AltDrag实战配置

高级窗口管理完全指南&#xff1a;深度解析AltDrag实战配置 【免费下载链接】altdrag :file_folder: Easily drag windows when pressing the alt key. (Windows) 项目地址: https://gitcode.com/gh_mirrors/al/altdrag AltDrag是一款轻量级但功能强大的Windows窗口管理…...

Cesium风场可视化插件:三维地球上的动态气流探索

Cesium风场可视化插件&#xff1a;三维地球上的动态气流探索 【免费下载链接】cesium-wind wind layer of cesium 项目地址: https://gitcode.com/gh_mirrors/ce/cesium-wind 在气象数据分析和地理信息系统领域&#xff0c;将风场数据以直观、动态的方式呈现在三维地球模…...

m4s-converter:5秒完成B站缓存视频无损转换的终极解决方案

m4s-converter&#xff1a;5秒完成B站缓存视频无损转换的终极解决方案 【免费下载链接】m4s-converter 一个跨平台小工具&#xff0c;将bilibili缓存的m4s格式音视频文件合并成mp4 项目地址: https://gitcode.com/gh_mirrors/m4/m4s-converter 你是否曾经为B站视频突然下…...

破解工业数据孤岛:DB-GPT与OPC UA的智能融合方案

破解工业数据孤岛&#xff1a;DB-GPT与OPC UA的智能融合方案 【免费下载链接】DB-GPT open-source agentic AI data assistant for the next generation of AI Data products. 项目地址: https://gitcode.com/GitHub_Trending/db/DB-GPT 在工业4.0时代&#xff0c;数据…...

BGA封装高密度互连设计与HDI技术应用

1. 超大型BGA封装的设计挑战与解决思路1.1 BGA封装的技术演进与现状球栅阵列&#xff08;BGA&#xff09;封装技术自20世纪90年代问世以来&#xff0c;已成为高密度集成电路封装的主流选择。现代BGA封装呈现出两个显著的技术趋势&#xff1a;引脚数量持续增加&#xff08;目前高…...