作者:SkyXZ

CSDN:SkyXZ~-CSDN博客

博客园:SkyXZ - 博客园

由于Linux的系统的稳定以及在环境管理方面的优越性,同时Linux对于ROS系统的独占,很多时候我们都乐意在Linux系统下开发我们机器人的算法,但是由于Windows和Linux系统的存在内核方面的天壤之别,在我们手边没有Linux设备的时候我们很多时候只能使用虚拟机来代替,但是虚拟机的使用往往带来了一些性能上的问题,比如资源消耗较大、启动慢、操作不够流畅等。此外,虚拟机的配置和管理也相对复杂,尤其是对开发人员来说,虚拟机的管理和切换可能会影响开发效率。但是微软推出的WSL2(Windows Subsystem for Linux 2)提供了一个更加高效且原生的解决方案,WSL2允许你在Windows 10及更高版本的操作系统上原生运行Linux内核,极大地提高了性能和兼容性,同时可以直接在Windows环境中访问Linux工具和命令,完全摒弃了虚拟机的低效和麻烦,现在开始讲解我们该如何配置自己的WSL2。

首先我们需要确认自己的系统是否支持WSL2这项功能,我们需要使用win+R输入winver或者是在"设置—>系统—>系统信息—>Windows规格"中查看我们的系统版本号,只有运行 Windows 10 版本 2004 及更高版本(内部版本 19041 及更高版本)或 Windows 11才能使用WSL2

在确认无误系统支持WSL2后我们进入"控制面板—>程序—>启用或关闭Windows功能"中勾选打开如下三个功能,点击确认后系统会需要大家重启电脑来启用这些功能

PS:系统为家庭版的用户在Windows功能中没有"虚拟机平台"这一项,需要用管理员身份启动Windows PowerShell额外使用如下命令开启,接着在如下网站里下载Windows内核功能包安装插件并重启电脑即可

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

接着我们用打开CMD输入wsl -l,如果成功打印了信息即代表WSL启用成功,如果提示: wsl 不是内部或外部命令,说明你没有启用 Windows 的 Linux 子系统,请从头检查是否按照教程配置,启用成功后我们在CMD中输入以下命令来升级我们的WSL并设置WSL2:

wsl --update# 更新
wsl --set-default-version 2 #设置为WSL2

然后我们用Ubuntu22.04来演示如何安装自己需要的Linux的系统,其他的系统版本步骤类似,在WSL中安装Ubuntu和安装虚拟机其实是类似的,我们都需要一个系统镜像来进行安装,这个镜像目前只能从微软官方获取,如果你的电脑启用了代理,那么你可以直接在cmd中输入以下命令来获取可用版本的 Linux 发行版列表,并使用如下命令进行安装

wsl --list --online #列出所有可获取发行版
wsl --install -d <Distribution Name># 安装对应的发行版

但是如果你的电脑没有设置代理,使用上述命令大概会有如下报错,因此我建议大家可以直接从微软商店(Microsoft Store)来获取系统分发,在[开始菜单]中输入Microsoft Store后点击即可打开微软商店,在搜索框输入Ubuntu即可显示Linux系统分发,PS:如果你开着代理,大概率微软商店将无法正常加载内容

安装完成后我们打开cmd在上方的下拉箭头便会有对应的Ubuntu22.04选项,于是我们这时候可以点击这个选项便可以进入系统配置界面,或者是直接输入wsl接着便会提示你输入系统的用户名以及密码,这里要注意的是用户名最好是使用英文小写字母不然可能会有报错然后如果大家在"Installing,this may take a few minutes..."这个提示下等待时间过久,可以直接按ctrl+c强制退出然后进入账号创建步骤哦

然后如果正式进入了系统那么便代表系统配置成功啦!!!这个时候我们便可以在Win设置的应用管理中将我们之前下载的系统分发删除啦!

但是到目前为止我们的WSL系统还是安装在C盘,随着后续的开发我们的C盘便会有爆满的风险,于是我们便可以将安装的系统迁移至其他盘,大家按照以下步骤即可完成迁移:

#step 1
wsl -l --all -v #查看所有已安装的 Linux 发行版本
#step 2 导出wsl系统
wsl --export <Linux-name > <导出路径及名字>
wsl --export Ubuntu-22.04 d:\ubuntu22.04.tar #示例
#step 3 注销原系统
wsl --unregister <Linux-name>
wsl --unregister Ubuntu-22.04 #示例
#step 4 重新导入
wsl --import <子系统名称> <迁移到哪一个文件下> <要导入的包路径> --version 2
wsl --import Ubuntu-22.04 d:\wsl-ubuntu22.04 d:\ubuntu22.04.tar --version 2 #示例
#step 5 设置默认用户
<wsl-Linux_name> config --default-user <user>
ubuntu2204.exe config --default-user xq #示例
#step 6 删除导出包
del d:\ubuntu22.04.tar

最后我们搭配VScode即可实现Win上对Linux的优雅开发!

然后在WSL上访问Win上USB设备的方法请查看我的另一篇博客:老奶奶看了都会的WSL2连接USB设备教程_wsl2 usb-CSDN博客

告别虚拟机!WSL2安装配置教程!!!的更多相关文章

  1. centos7命令行和图形界面的相互切换(附centos7安装配置教程)

    一.最近安装了centos7,发现在命令行和图形界面的相互切换命令上,与centos以往版本有很大不同,先整理如下,加深记忆. 1,centos7默认安装后,跟其他版本一样,启动默认进入图形界面: 2 ...

  2. MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64、MySQL5.7)

    MySQL基础环境_安装配置教程(Windows7 64或Centos7.2 64.MySQL5.7) 安装包版本 1)     VMawre-workstation版本包 地址: https://m ...

  3. Windows基础环境_安装配置教程(Windows7 64、JDK1.8、Android SDK23.0、TortoiseSVN 1.9.5)

    Windows基础环境_安装配置教程(Windows7 64.JDK1.8.Android SDK23.0.TortoiseSVN 1.9.5) 安装包版本 1)     JDK版本包 地址: htt ...

  4. Linux基础环境_安装配置教程(CentOS7.2 64、JDK1.8、Tomcat8)

    Linux基础环境_安装配置教程 (CentOS7.2 64.JDK1.8.Tomcat8) 安装包版本 1)     VMawre-workstation版本包 地址: https://my.vmw ...

  5. QT开发环境安装配置教程

    QT开发环境安装配置教程 分类: QT2012-11-29 23:31 35366人阅读 评论(12) 收藏 举报 Linux版的直接在ubutnu软件中心输入QT,安装响应的Designer,Cre ...

  6. 2018超详细sublime text3+python3.x安装配置教程(附常用插件安装教程)

    导读 本文是关于2018年7月最新版sublime text3+pythin3.x下载及安装配置教程,sublime text3版本为3176,python版本为3.7,安装环境是基于windows1 ...

  7. Windows上PostgreSQL安装配置教程

    Windows上PostgreSQL安装配置教程 这篇文章主要为大家详细介绍了Windows上PostgreSQL安装配置教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下 PostgreSQL的 ...

  8. JDK下载安装配置教程(详细)

    JDK下载安装配置教程(详细) 版权声明:本文为原创文章,转载请附上原文出处链接和本声明.https://www.cnblogs.com/mxxbc/p/11844885.html 因为最近需要在Wi ...

  9. 【Jmeter】Jmeter安装配置教程

    jmeter安装配置教程 1.安装jdk,配置环境变量 进入官网,https://www.oracle.com/downloads/index.html#java,选择 Java (JDK) for ...

  10. 【转载】基于Linux命令行KVM虚拟机的安装配置与基本使用

    基于Linux命令行KVM虚拟机的安装配置与基本使用 https://alex0227.github.io/2018/06/06/%E5%9F%BA%E4%BA%8ELinux%E5%91%BD%E4 ...

随机推荐

  1. 利用 Screen 保持 VSCode 连接远程任务持续运行

    在 Linux 上使用 screen 是一种保持进程持续运行的便捷方式,即使用户断开 SSH 连接,进程也不会中断. 我在使用VSCode连接AutoDL时,不知道如何能够使进程保持运行,后查阅资料可 ...

  2. 学校官网应该使用哪种SSL证书?

    学校官网在选择SSL证书时,应考虑多个因素,包括网站的性质.安全要求.预算以及证书的管理便捷性等.以下是关于学校官网应使用哪种SSL证书的详细分析: 多域名和子域名需求: 如果学校官网有多个子域名或者 ...

  3. 3张大图剖析HttpClient和IHttpClientFactory在解决DNS解析问题上的殊途同归

    在开发者便利度角度,我们很轻松地使用HttpClient对象发出HTTP请求,只需要关注应用层协议的BaseAddr.Url.ReqHeader.timeout. 实际在HttpClient在源码级别 ...

  4. Vim基本使用指南

    一般模式:移动光标的方法 h或 向左方向键(←)光标向左移动一个字符 j或 向下方向键(↓)光标向下移动一个字符 k或 向上方向键(↑)光标向上移动一个字符 l或 向右方向键(→)光标向右移动一个字符 ...

  5. 话说ReferenceQueue

    也是几年前写的,在内部邮件列表里发过,在这里保存一下. 看到了这篇帖子: <WeakHashMap的神话>http://www.javaeye.com/topic/587995 因为Jav ...

  6. Impala源代码分析(2)-SQL解析与执行计划生成

    7 Replies Impala的SQL解析与执行计划生成部分是由impala-frontend(Java)实现的,监听端口是21000.用户通过Beeswax接口BeeswaxService.que ...

  7. 最全ECharts 实战大全(速记版+资源)

    hello,大家好,我是程序员海军,公众号已经快一年多没更新了,没更新的这段时间,我去哪了呢.这两年经历了很多事情,主要情感上占据大部分时间, 从失恋 - 谈对象 - 再失恋. 言归正传,近期我负责的 ...

  8. MySQL之数据排序

    在MySQL中,我们经常需要从数据库中检索数据,并根据特定的要求对数据进行排序.通常情况下,我们会根据数据中某一列的值进行排序,例如按照价格从低到高或从高到低对商品进行排序.但有时候,我们需要在数据中 ...

  9. golang之类型转换cast

    Go 语言作为强类型语言,在使用 Golang 开发项目时,经常会遇到类型转换的场景,整型之间可以直接转换,字节切片和字符串之间也可以直接转换. 但是,如果整型和字符串之间做类型转换,则需要使用 st ...

  10. 如何使用docsify搭建自己的github文档?

    安装前提 确认电脑已经安装好 node 和 npm 环境. 如果还没有装好,那需要执行下面的步骤: 1.进入官网:https://nodejs.org/zh-cn/ , 下载长期支持版. 2.安装就直 ...