在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官方镜像(可手动下载,不使用以下命令):https://cloud-images.ubuntu.com/releases

可以从 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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/121126.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

基于STC12C5A60S2系列1T 8051单片机SPI通信应用

基于STC12C5A60S2系列1T 8051单片机SPI通信应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式及配置STC12C5A60S2系列1T 8051单片机I/O口各种不同工作模式介绍STC12C5A60S2系列1T 8051单片机SPI通信介绍STC12C5A60S2系列1T 8051单片…

APISpace IP归属地查询接口案例代码

1.IP归属地查询API 1.1 API接口简介 IP归属地查询API&#xff1a;根据IP地址查询归属地信息&#xff0c;包含国家、省、市、区县和运营商等信息。APISpace 提供了IPv4 和 IPv6 的IP归属地查询接口&#xff0c;并且包含了各种归属地精度查询的接口。 1.2 IPv4 IPv4归属地查询…

星乐园项目┃助学无止境·探访暖人心

2023年7月10日至10月31日&#xff0c;广州市从化区齐家社会工作服务中心的“星乐园-乡村儿童公益辅导服务项目”社工带领高校志愿老师、社区志愿者在从化区城郊街新开村、太平镇西湖村分阶段、分批次对两个助学点的学困儿童家庭开展了入户探访活动。旨在通过走访了解他们的生活…

HTTP-HTTPS区别详解

一、HTTP协议 1. GET和POST的请求的区别 Post 和 Get 是 HTTP 请求的两种方法&#xff0c;其区别如下&#xff1a; 应用场景&#xff1a; GET 请求是一个幂等的请求&#xff0c;一般 Get 请求用于对服务器资源不会产生影响的场景&#xff0c;比如说请求一个网页的资源。而 Po…

Java算法(四):index方法的实现 查找一个元素是否存在数组中,并且返回相应的结果(考虑重复的情况)

Java算法&#xff1a;&#xff08;四&#xff09; 文章目录 Java算法&#xff1a;&#xff08;四&#xff09;一、查找元素在数组中的索引二、考虑数组中有多个重复的情况 一、查找元素在数组中的索引 需求&#xff1a; 设计一个方法&#xff0c;查找元素在数组中的索引位置 …

pytest中的pytest.ini

[pytest] filterwarnings ignore::DeprecationWarning addopts -v -s markers uat:1 smok:2 log_cli1 xfail_strict True filterwarnings ignore::DeprecationWarning 这个的功能就是 test_login.py::Test_login::test_login_correct_password PASSEDwarnings summary …

Android Studio新建项目下载依赖慢,只需一个操作解决

新建的安卓工程&#xff0c;下载依赖贼慢怎么办&#xff1f;水一篇吧。 首先新建工程&#xff0c;建好以后项目就自动开始下载了&#xff0c;底部开始出现进度条&#xff0c;但是进度条一直不怎么动&#xff0c;网速也就十几k&#xff0c;要是等他下载得下一天。 直入主题&…

基于SSM框架的共享单车管理系统小程序系统的设计和实现

基于SSM框架的共享单车管理系统小程序系统的设计和实现 源码传送入口前言主要技术系统设计功能截图Lun文目录订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码传送入口 前言 随着科学技术的飞速发展&#xff0c;各行各业都在努力与现代先进技术接轨&#xff0c;…

react之Component存在的2个问题

问题 只要执行setState()&#xff0c;即使不改变状态数据&#xff0c;组件也会重新render()只当前组件重新render()&#xff0c;就会自动重新render子组件 原因 Component中的shouldComponentUpdate()总是返回true 思路 只有当组件的state或props数据发生改变时才重新rend…

适合汽车应用的MAX49017ATA/VY、MAX40025AAWT、MAX40025CAWT、MAX40026ATA/VY(线性)微功耗比较器

一、MAX49017ATA/VY 内置基准电压源的1.7V、双通道微功耗比较器 MAX49017是一款节省空间的双通道比较器&#xff0c;内置基准电压源&#xff0c;提供推挽输出。该器件通过了AEC-Q100认证&#xff0c;非常适合汽车应用&#xff0c;例如汽车电池监控系统、信息娱乐系统音响主机和…

Docker - 概述

Docker概述 Docker概述Docker安装Docker命令 镜像命令容器命令操作命令 … Docker镜像容器数据卷DockerFileDocker网络管理IDEA整合DockerDocker ComposeDocker Swarm 简化版的K8s Docker为什么出现&#xff1f; 传统的项目部署&#xff0c;环境配置是十分麻烦&#xff0c;第…

【计算机网络笔记】网络层服务模型——虚电路网络

系列文章目录 什么是计算机网络&#xff1f; 什么是网络协议&#xff1f; 计算机网络的结构 数据交换之电路交换 数据交换之报文交换和分组交换 分组交换 vs 电路交换 计算机网络性能&#xff08;1&#xff09;——速率、带宽、延迟 计算机网络性能&#xff08;2&#xff09;…

frida hook(深入浅出)

Andrax搭建Android渗透测试环境 编译官方frida源码 APP基于Frida脱壳 Frida Hook的使用方法 Frida逆向分析APP实战 魔改frida到绕过检测的思路 配置fridaserver为后台进程 使用frida-net玩转frida-rpc 内置frida hook到Android系统 内置frida-inject工具到手机系统 三…

MySQL基础操作

注:mysql是大小写不敏感的. 1.数据库基础操作(展示) //1.展示当前数据库 show databases;//2.创建数据库 create database 数据库名;//3.使用数据库 use 数据库名;//4.删除数据库 drop database 数据库名;2.SQL中基本类型 2.1 数值类型(整数和浮点型) 注:decimal和numeric…

Spring笔记(三)(Spring整合web环境)

01、Spring整合web环境 1.1 Javaweb三大组件及环境特点 在Java语言范畴内&#xff0c;web层框架都是基于Javaweb基础组件完成的&#xff0c;所以有必要复习一下Javaweb组件的特点 组件作用特点Servlet服务端小程序&#xff0c;负责接收客户端请求并作出响应的单例对象&#…

详解FreeRTOS:系统时钟节拍(进阶篇—8)

在详解FreeRTOS:FreeRTOS时间片调度(进阶篇—7)中我们讲到了时钟节拍这个概念,本篇博文将详细讲解FreeRTOS系统时钟节拍相关知识。 不管是什么系统,运行都需要有个系统时钟节拍,xTickCount 就是FreeRTOS 的系统时钟节拍计数器。每个滴答定时器中断中 xTickCount 就会加一…

Go - 用户服务和Web服务

文章目录 go日志库之zap1. 安装和基本使用2. 写入日志文件 go的配置文件管理-viper1. 介绍2. yaml教程3. 安装4. 将配置文件映射成struct5. 使用 自定义验证器1. 手机号码正则表达式2. 自定义翻译的问题 JWT1. json web token是什么&#xff1f;2. 什么时候你应该用JSON Web To…

虚幻引擎:如何在工程里面添加插件

1.在自己的项目中安装插件 在content目录下创建一个Plugins的文件,将插件文件放进去即可 2.在软件上安装,这样所有创建的项目都会带有此插件 将插件放在自己软件的这个目录下就好了

mediapipe流水线分析 二

目标检测 Graph 一 流水线上游输入处理 1 TfLiteConverterCalculator 将输入的数据转换成tensorflow api 支持的Tensor TfLiteTensor 并初始化相关输入输出节点 &#xff0c;该类的业务主要通过 interpreter std::unique_ptrtflite::Interpreter interpreter_ nullptr; 实现…

【漏洞复现】Apache_Shiro_1.2.4_反序列化漏洞(CVE-2016-4437)

感谢互联网提供分享知识与智慧&#xff0c;在法治的社会里&#xff0c;请遵守有关法律法规 文章目录 1.1、漏洞描述1.2、漏洞等级1.3、影响版本1.4、漏洞复现1、基础环境2、漏洞分析3、漏洞验证 说明内容漏洞编号CVE-2016-4437漏洞名称Apache_Shiro_1.2.4_反序列化漏洞漏洞评级…