【Linux基础】WSL安装Ubuntu

说明

本文使用的Windows环境是Windows 11 专业版。

WSL现在有二代WSL2,后续都通过WSL2来安装Linux,使用的是Ubuntu发行版,版本是20.04。

安装过程使用了PowerShell,且是管理员权限打开的。

参考适用于 Linux 的 Windows 子系统文档 | Microsoft Learn。

安装Linux系统

  1. 开启服务:

在这里插入图片描述

或者在PowerShell下执行如下命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

前面两个这边都执行了。之后可能需要一次系统的重启。

  1. 在Windows Store中下载Ubuntu20.04和Windows Subsystem for Linux:

在这里插入图片描述

Windows Subsystem for Linux可以直接安装,但是Ubuntu不建议直接安装,因为这样会将Ubuntu安装在C盘,如果空间不够,可能导致其它的问题。

  1. 将下载到的Ubuntu放到指定的位置,确保空间足够。通常Ubuntu会在C:\Program Files\WindowsApps目录下,但是无法直接打开,这时还是需要使用PowerShell进入到该目录下,并找到对应的Ubuntu目录:

在这里插入图片描述

注意这里会有多个目录,但是我们只需要找到有Ubunut安装文件的目录,并将该目录里面的内容拷贝出来:

PS C:\Program Files\WindowsApps> ls .\CanonicalGroupLimited.Ubuntu20.04LTS_2004.6.16.0_x64__79rhkp1fndgsc\


    目录: C:\Program Files\WindowsApps\CanonicalGroupLimited.Ubuntu20.04LTS_2004.6.16.0_x64__79rhkp1fndgsc


Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
d-----         2023/7/29      0:19                AppxMetadata
d-----         2023/7/29      0:19                Assets
d-----         2023/7/29      0:19                Terminal
-a----         2023/7/29      0:19         523852 AppxBlockMap.xml
-a----         2023/7/29      0:19           3677 AppxManifest.xml
-a----         2023/7/29      0:19          12035 AppxSignature.p7x
-a----         2023/7/29      0:28      567587703 install.tar.gz
-a----         2023/7/29      0:28           3648 resources.pri
-a----         2023/7/29      0:28         598016 ubuntu2004.exe

这里将上述内容拷贝到指定的目录:

在这里插入图片描述

  1. 将WSL设置成WSL2:
PS C:\Windows\system32> wsl --set-default-version 2
有关与 WSL 2 关键区别的信息,请访问 https://aka.ms/wsl2

操作成功完成。
PS C:\Windows\system32> wsl --version
WSL 版本: 1.2.5.0
内核版本: 5.15.90.1
WSLg 版本: 1.0.51
MSRDC 版本: 1.2.3770
Direct3D 版本: 1.608.2-61064218
DXCore 版本: 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
Windows 版本: 10.0.22621.2070

得到的结果如上所示。

  1. 点击exe文件即可开始安装,这样会在当前目录生成一个新的文件:

在这里插入图片描述

里面就包含了安装的Linux系统。

安装的时候需要等待一段时间,如果有报错,建议根据错误码在网上进一步查询。过程中还需要设置账号密码。安装完成之后可以查看安装的Linux系统:

PS C:\Windows\system32> wsl --list
适用于 Linux 的 Windows 子系统分发:
Ubuntu-20.04 (默认)

使用Linux系统

直接打开PowerShell输入wsl即可开启Linux系统:

PS C:\Windows\system32> wsl
jw@HOME:/mnt/c/Windows/system32$ uname -a
Linux HOME 5.15.90.1-microsoft-standard-WSL2 #1 SMP Fri Jan 27 02:56:13 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

VS Code与WSL联合开发

Windows下安装VS Code(注意不是在WSL下的Ubuntu中安装)。然后为VS Code安装WSL插件:

在这里插入图片描述

之后通过快捷键(Ctrl+Alt+o)选择连接到WSL:

在这里插入图片描述

下面是连接过程:

在这里插入图片描述

之后就可以打开Ubuntu上的文件:

在这里插入图片描述

并进行编辑和编译了:

在这里插入图片描述

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

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

相关文章

DFS()

目录 DFS之连通性模型 迷宫 红与黑 DFS之搜索顺序 马走日 单词接龙 分成互质组 DFS之剪枝与优化 小猫爬山 数独 位运算 167. 木棒 生日蛋糕 迭代加深 加成序列 双向DFS 送礼物 IDA* 排书 回转游戏 DFS之连通性模型 dfs 与 bfs都能判断连通性 而且bfs可以…

#typescript 使用file-saver模块#

场景:前端使用file-saver模块做导出文档的时候,出现两个错误 1:npm run build 提示找不到模块,如图 解决方法: 先卸载,不管是否安装都先要卸载 ,然后安装: npm uninstall file-saver npm…

电子词典

项目要求: 1.登录注册功能,不能重复登录,重复注册。用户信息也存储在数据库中。 2.单词查询功能 3.历史记录功能,存储单词,意思,以及查询时间,存储在数据库 4.基于TCP,支持多客户…

【iOS】KVOKVC原理

1 KVO 键值监听 1.1 KVO简介 KVO的全称是Key-Value Observing,俗称"键值监听",可以用于监听摸个对象属性值得改变。 KVO一般通过以下三个步骤使用: // 1. 添加监听 [self.student1 addObserver:self forKeyPath:"age"…

【C++继承】

目录 一、继承的概念及定义1.1继承的概念1.2继承的定义1.2.1定义格式1.2.2继承方式与访问限定符的组合 二、基类和派生类对象赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员七、复杂的菱形继承及菱形虚拟继承八、虚拟继承的原理 一、继承…

【C++进阶之路】多态篇

文章目录 前言一、概念1.分类2.实现条件①重写虚函数1.1总结三重1.2 final与override ②父类的指针或者引用2.1普通调用VS多态调用 3.抽象类3.1. 纯虚函数3.2. 接口继承和实现继承 二、原理及使用1.虚函数表 —— 虚表2.默认成员函数2.1构造函数2.2析构函数 3. 多继承3.1普通的…

用Ubuntu交叉编译Linux内核源码并部署到树莓派4B上

参考文章 1. 配置交叉编译环境 之前在ubuntu上配置过了,直接跳过 2.获取Linux内核源码 Linux内核源码链接 到链接里面选择自己合适版本的内核源码下载下来,然后传到ubuntu中进行解压 3.Linux内核源码的配置 参考文章 厂家配linux内核源码&#xff…

深入理解Gradle构建系统的工作原理

🌷🍁 博主猫头虎 带您 Go to New World.✨🍁 🦄 博客首页——猫头虎的博客🎐 🐳《面试题大全专栏》 文章图文并茂🦕生动形象🦖简单易学!欢迎大家来踩踩~🌺 &a…

使用贝叶斯滤波器通过运动模型和嘈杂的墙壁传感器定位机器人研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

【C++】多态的实现及其底层原理

个人主页:🍝在肯德基吃麻辣烫 我的gitee:gitee仓库 分享一句喜欢的话:热烈的火焰,冰封在最沉默的火山深处。 文章目录 前言一、什么是多态?二、多态的构成条件2.1什么是虚函数?2.2虚函数的重写2…

ICASSP 2023 | Cough Detection Using Millimeter-Wave FMCW Radar

原文链接:https://mp.weixin.qq.com/s?__bizMzg4MjgxMjgyMg&mid2247486540&idx1&sn6ebd9f58e9f08a369904f9c48e12d136&chksmcf51beb5f82637a3c65cf6fa53e8aa136021e35f63a58fdd7154fc486a285ecde8b8521fa499#rd ICASSP 2023 | Cough Detection Usi…

Qt中postevent造成内存泄漏问题的通用解决方案

在Qt中由QCoreApplication统一管理Qt事件的收发和销毁,其中sendEvent为阻塞式发送,用于单线程的事件发送;postevent为非阻塞式发送,构造事件的线程和接受事件的线程可以为两个线程。 最近在做一个个人项目ShaderLab 需要绘制OpenGL实时渲染的图像,由于OpenGL渲染基本都放…

论文笔记——Influence Maximization in Undirected Networks

Influence Maximization in Undirected Networks ContributionMotivationPreliminariesNotations Main resultsReduction to Balanced Optimal InstancesProving Theorem 3.1 for Balanced Optimal Instances Contribution 好久没发paper笔记了,这篇比较偏理论&…

python+django+mysql项目实践一(环境准备)

python项目实践 环境说明: Pycharm 开发环境 Django 前端 MySQL 数据库 Navicat 数据库管理 创建Pycharm项目 安装Django 在pycharm文件—设置进行安装 新建Django项目 注意项目创建目录 项目默认目录文件说明: __init__.py asgi.py 【异步接受网络…

深度学习实践——模型推理优化练习

系列实验 深度学习实践——卷积神经网络实践:裂缝识别 深度学习实践——循环神经网络实践 深度学习实践——模型部署优化实践 深度学习实践——模型推理优化练习 深度学习实践——模型推理优化练习 模型推理优化练习架构设计练习知识蒸馏练习模型剪枝练习参数量化练…

如何高效实现文件传输:小文件采用零拷贝、大文件采用异步io+直接io

一般会如何实现文件传输? 服务器提供文件传输功能,需要将磁盘上的文件读取出来,通过网络协议发送到客户端。如果需要你自己编码实现这个文件传输功能,你会怎么实现呢? 通常,你会选择最直接的方法&#xf…

QT基于TCP协议实现数据传输以及波形绘制——安卓APP及Windows程序双版本

文章代码有非常非常之详细的解析!!!诸位可放心食用 这个玩意我做了两个,一个是安卓app,一个是Windows程序。代码并非全部都是由我从无到有实现,只是实现了我想要的功能。多亏了巨人的肩膀,开源…

小研究 - 一种复杂微服务系统异常行为分析与定位算法(一)

针对极端学生化偏差(Extreme Studentized &#…

Java中的生产者/消费者模型

一、什么是生产者/消费者模型 生产者-消费者模型(Producer-Consumer problem)是一个非常经典的多线程并发协作的模型。 比如某个模块负责生产数据,而另一个模块负责处理数据。产生数据的模块就形象地被称为生产者;而处理数据的模…

后端一次返回大量数据,前端做分页处理

问题描述&#xff1a;后端接口返回大量数据&#xff0c;没有做分页处理&#xff0c;不支持传参pageNum&#xff0c;pageSize 本文为转载文章&#xff0c;原文章&#xff1a;后端一次返回大量数据&#xff0c;前端做分页处理 1.template中 分页 <el-paginationsize-chang…