【Ubuntu】使用WSL安装Ubuntu

WSL

适用于 Linux 的 Windows 子系统 (WSL) 是 Windows 的一项功能,可用于在 Windows 计算机上运行 Linux 环境,而无需单独的虚拟机或双引导。 WSL 旨在为希望同时使用 Windows 和 Linux 的开发人员提供无缝高效的体验。
安装 Linux 发行版时,WSL 2 是默认发行版类型。 WSL 2 使用虚拟化技术在轻量级实用工具虚拟机 (VM) 中运行 Linux 内核。 Linux 发行版作为独立的容器在 WSL 2 托管 VM 内运行。 通过 WSL 2 运行的 Linux 发行版将共享同一网络命名空间、设备树(而非 /dev/pts)、CPU/内核/内存/交换空间、/init 二进制文件,但有自己的 PID 命名空间、装载命名空间、用户命名空间、Cgroup 命名空间和 init 进程。

安装

必须运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11 才能使用以下命令。

  1. 安装WSL

现在,可以使用单个命令安装运行 WSL 所需的一切内容。 在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择“以管理员身份运行”,输入wsl --install命令,然后重启计算机。
image.png
image.png

使用默认的命令安装WSL时,会按默认的发行版本进行安装。
如果需要安装其他版本的Linux系统,可执行wsl --install -d <DistroName>DistroName为发行版本的名称。

如果需要查看所有支持的发行版本,可以执行wsl --list --online
image.png
若需要安装其他的版本,也可执行wsl --install -d <DistroName>进行安装。
当安装了多个版本的Linux后,可通过wsl -l -v命令来查看当前已有的Linux系统,
image.png
启动时,可通过执行wsl -d <DistroName>命令或开始菜单中对应的图标直接启动。

若执行wsl则会启动默认的版本。
通过图标启动的版本会随着对话框的关闭而自动停止,所以若想虚拟机一直运行,可以通过命令行启动

需要停止虚拟机时,可以使用wsl --shutdown停止所有正在运行的服务,或使用wsl --terminate <DistroName>结束特定的版本。
需要删除虚拟机时,可以使用wsl --unregister <Distro>删除指定的服务

更新和升级

建议使用发行版的首选包管理器定期更新和升级包。 对于 Ubuntu 或 Debian,请使用以下命令:

sudo apt update 
sudo apt upgrade

Windows 不会自动更新或升级 Linux 分发版。 大多数 Linux 用户往往倾向于自行控制此任务。

磁盘挂载

标识磁盘

执行以下命令

GET-CimInstance -query "SELECT * from Win32_DiskDrive"

image.png
可获得磁盘路径DeviceID
执行以下命令挂载磁盘,

wsl --mount <DiskPath> --bare

--bare:将磁盘附加到WSL2,但不装载它。

DiskPath为第一步查询到的DeviceID

附加后,可以通过在 WSL 2 中运行以下命令来列出分区:

lsblk

标识文件系统类型

如果不知道磁盘或分区的文件系统类型,可以使用以下命令:

blkid <BlockDevice>

挂载分区

执行以下命令,挂载分区

wsl --mount <DiskPath> --partition <PartitionNumber> --type <Filesystem>

如果希望将整个磁盘装载为单个卷(即如果磁盘未分区),则可以省略 --partition。
如果省略,则默认文件系统类型为“ext4”。

访问磁盘内容

装载后,可以通过配置值指向路径的磁盘,automount.root,默认值为/mnt/wsl

卸载磁盘

执行以下命令卸载磁盘,

wsl --unmount <DiskPath>

系统的创建会自动将所有磁盘进行挂载,并存放在/mnt文件夹下。

导入、导出版本

导入

通过使用 tar 文件导入任何 Linux 发行版,可在适用于 Linux 的 Windows 子系统 (WSL) 中使用该发行版(即使它不在 Microsoft Store 中提供)。
首先需要一个tar格式的镜像文件,官方提供了两种方式获取:

  1. 下载提供的 tar 文件。 可在 Alpine Linux 下载站点的“微型根文件系统”部分找到 Alpine 的示例。
  2. 查找 Linux 发行版容器,将实例导出为 tar 文件。 以下示例将使用 CentOS 容器演示此过程。

获取Centos的tar文件

首先需要具备两个条件:

  1. 必须在安装了运行 WSL 2 的 Linux 发行版的情况下启用 WSL。
  2. 必须安装了适用于 Windows 的 Docker Desktop,启用了 WSL 2 引擎并选中了集成,请参阅 Docker Desktop 许可协议,了解使用条款的更新。

打开发行版的命令行,按以下步骤操作:

  1. 在Docker中运行Centos容器
docker run -t centos bash ls /
  1. 使用 grep 和 awk 获取 CentOS 容器 ID:
dockerContainerID=$(docker container ls -a | grep -i centos | awk '{print $1}')
  1. 将容器 ID 导出到装载的 C 盘上的 tar 文件:
docker export $dockerContainerID > /mnt/c/temp/centos.tar

image.png
这样我们就得到了一个Centos.tar的镜像文件。

导出的目录要提前创建好,否则会找不到路径。

  1. 创建一个目录用于存放导入的系统资源,
cd C:\temp
mkdir E:\wslDistroStorage\CentOS
  1. 通过--import命令,导入镜像文件
wsl --import CentOS E:\wslDistroStorage\CentOS .\centos.tar

Distribution Name:发行版名称
InstallLocation:安装位置
FileName:镜像文件名称
该命令还有两个可选项
--version:指定用于新分发的版本
--vhd:指定所提供的文件为.vhdx文件,而不是.tar文件

  1. 执行wsl -l -v查看可用的版本

image.png

从Github上获得

除了通过以上方式获得tar格式的镜像包,还可以直接从Github上获得已做好的包

  • https://github.com/wsldl-pg/CentWSL/releases

下载完成对应版本后,解压,执行centos.exe文件即可导入该版本。

导出

执行以下命令导出版本为tar镜像

wsl --export <Distribution Name> <FileName>

使用开源 WSL 示例生成适用于 Microsoft Store 的 WSL 发行版包和/或创建用于旁加载的自定义 Linux 发行版包。 可在 GitHub 上查找发行版启动器存储库。

此项目可实现以下目的:

  • 使 Linux 发行版维护人员能够打包并提交一个在 WSL 上运行的作为 appx 的 Linux 发行版
  • 使开发人员能够创建可在其开发计算机上旁加载的自定义 Linux 发行版

参考:https://learn.microsoft.com/zh-cn/windows/wsl/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

K8s安全一

Kubernetes是一个开源的&#xff0c;用于编排云平台中多个主机上的容器化的应用&#xff0c;目标是让部署容器化的应用能简单并且高效的使用, 提供了应用部署&#xff0c;规划&#xff0c;更新&#xff0c;维护的一种机制。其核心的特点就是能够自主的管理容器来保证云平台中的…

医院信息系统(HIS):一文扫盲,算是所有信息系统里面复杂的

大家好&#xff0c;我是贝格前端工场&#xff0c;本期继续分享常见的B端管理系统&#xff0c;欢迎大家关注&#xff0c;如有B端写系统界面的设计和前端需求&#xff0c;可以联络我们。 一、什么是HIS系统 HIS系统&#xff08;Hospital Information System&#xff09;是医院信…

K线实战分析系列之三:吞没形态

K线实战分析系列之三&#xff1a;吞没形态 一、吞没形态二、看涨吞没形态三、看跌吞没形态四、吞没形态判别标准 一、吞没形态 两根或两根以上的K线形成的组合形态&#xff0c;吞没形态就是一种主要的反转形态。 这个形态由两根K线组成&#xff0c;前短后长&#xff0c;一阴一…

第三百六十五回

文章目录 1. 概念介绍2. 方法与信息2.1 获取方法2.2 详细信息 3. 示例代码4. 内容总结 我们在上一章回中介绍了"如何获取设备信息"相关的内容&#xff0c;本章回中将介绍如何获取App自身的信息.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 概念介绍 我们在本…

LeetCode LCR 085.括号生成

正整数 n 代表生成括号的对数&#xff0c;请设计一个函数&#xff0c;用于能够生成所有可能的并且 有效的 括号组合。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[“((()))”,“(()())”,“(())()”,“()(())”,“()()()”] 示例 2&#xff1a; 输入&#x…

备战蓝桥杯—— 双指针技巧巧答链表1

对于单链表相关的问题&#xff0c;双指针技巧是一种非常广泛且有效的解决方法。以下是一些常见问题以及使用双指针技巧解决&#xff1a; 合并两个有序链表&#xff1a; 使用两个指针分别指向两个链表的头部&#xff0c;逐一比较节点的值&#xff0c;将较小的节点链接到结果链表…

leetcode单调栈

739. 每日温度 请根据每日 气温 列表&#xff0c;重新生成一个列表。对应位置的输出为&#xff1a;要想观测到更高的气温&#xff0c;至少需要等待的天数。如果气温在这之后都不会升高&#xff0c;请在该位置用 0 来代替。 例如&#xff0c;给定一个列表 temperatures [73, …

【Linux】 logout命令使用

logout命令 Linux logout命令用于前登录的用户退出系统。 它会终止当前用户的会话并返回到登录界面或者重新登录。当使用logout命令时&#xff0c;系统会关闭所有与当前用户相关的进程和程序&#xff0c;并释放占用的资源。 使用logout命令可以方便地切换用户或者注销当前用…

vue教程

v 创建一个vue实例插值表达式{{}}vue响应式特性vue指令v-if vs. v-show 指令v-else-if 指令v-on指令 注册监听内联语句methods中的函数名![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/8b9d81539ba74e6691b27694813e0f65.png)v-on 调用传参 v-bind 动态的设置html…

Machine Learning - 机器学习笔记

文章目录 1. 机器学习简介1.1 机器学习是什么&#xff1f; 2. 机器学习分类2.1 监督学习2.2 无监督学习 3. 初识机器学习3.1 线性回归模型3.2 代价函数3.2.1 代价函数公式3.2.2 理解代价函数 4. 了解梯度下降算法4.1 梯度下降4.2 梯度下降的实现4.3 理解梯度下降4.4 学习率4.5 …

MobaXterm连接VirtualBox虚拟机

目录 1.下载MobaXterm 2.获取连接配置 3.mobaXterm连接虚拟机 4.更好的方案 1.下载MobaXterm 据说MobaXtrem是远程终端的超级全能神器,官网下载地址&#xff1a;MobaXterm free Xserver and tabbed SSH client for Windows 选择适合你的版本&#xff1a;一个是Home Editi…

Matlab/simulink光伏发电的扰动观察法MPPT仿真(持续更新)

1.光伏发电的电导增量法MPPT仿真 2.光伏发电的恒定电压法MPPT仿真 3.光伏发电的扰动观察法MPPT仿真 4.光伏发电的占空比法MPPT仿真 5.基于神经网络的MPPT光伏发电仿真 6. 基于模糊控制的MPPT光伏发电仿真 7. 基于粒子群算法&#xff08;PSO&#xff09;的500w光伏系统MPPT控…

洛谷P8869 [传智杯 #5 初赛] A-莲子的软件工程学

#先看题目 题目背景 在宇宙射线的轰击下&#xff0c;莲子电脑里的一些她自己预定义的函数被损坏了。 对于一名理科生来说&#xff0c;各种软件在学习和研究中是非常重要的。为了尽快恢复她电脑上的软件的正常使用&#xff0c;她需要尽快地重新编写这么一些函数。 题目描述 …

【GPTs分享】每日GPTs分享之Canva

简介 Canva&#xff0c;旨在帮助用户通过Canva的用户友好设计平台释放用户的创造力。无论用户是想设计海报、社交媒体帖子还是商业名片&#xff0c;Canva都在这里协助用户将创意转化为现实。 主要功能 设计生成&#xff1a;根据用户的描述和创意需求&#xff0c;生成定制的设…

美团外卖流程解析:便捷、高效、安全的美食配送

美团外卖作为中国最大的外卖平台之一&#xff0c;提供了丰富多样的美食选择&#xff0c;并通过高效的配送服务将美食送到用户手中。本文将深入探讨美团外卖的流程&#xff0c;从下单到送达&#xff0c;揭秘背后的便捷、高效、安全的运营体系。 1. 下单与支付 美团外卖的下单过…

【安装记录】SourceInsight使用小tips

1、官网下载安装包&#xff0c;一路next(中间安装目录自己选择&#xff09; 2、免费的只有30天&#xff0c;因此选择破解&#xff0c;参考的下面教程&#xff1a; https://www.jb51.net/article/259589.htm 3、更改字体大小一致 笔者第一次使用SourceInsight&#xff0c;刚一…

论文精读--GPT1

把transformer的解码器拿出来&#xff0c;在没有标号的大量文本数据上训练一个语言模型&#xff0c;来获得预训练模型&#xff0c;然后到子任务上微调&#xff0c;得到每个任务所需的分类器 Abstract Natural language understanding comprises a wide range of diverse tasks…

Mac怎么运行赛博朋克2077,使用Game Porting Toolkit

Game Porting Toolkit通过转译的方式&#xff0c;将Direct3D指令翻译成Metal指令&#xff0c;让不少Windows游戏都能够在Apple Silicon Mac上成功运行。作为一款开发者工具&#xff0c;运行起来自然有不少的坑&#xff0c;本文手把手带你在M芯片Mac上运行赛博朋克2077。 CrossO…

猫头虎分享已解决Bug || TypeError: props is not a function (React)

博主猫头虎的技术世界 &#x1f31f; 欢迎来到猫头虎的博客 — 探索技术的无限可能&#xff01; 专栏链接&#xff1a; &#x1f517; 精选专栏&#xff1a; 《面试题大全》 — 面试准备的宝典&#xff01;《IDEA开发秘籍》 — 提升你的IDEA技能&#xff01;《100天精通鸿蒙》 …

【安装记录】解决ssh密码正确,却无法连接到虚拟机

可能是没有允许Root登录 解决办法&#xff1a;修改/etc/ssh/sshd_config文件&#xff0c;将 PermitRootLogin 项打开