作者: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. Windows安装Mysql后一段时间后Mysql服务无法启动的问题

    本人在windows重装电脑后遇到一个比较麻烦的问题一直没有解决,今日有幸看到某大佬的博客得以解决.真实万分感激,特来分享一下. 第一次安装Mysql8.0之后,此次安装是将整个mysql包进行安装, ...

  2. 用Java实现samza转换成flink

    将Apache Samza作业迁移到Apache Flink作业是一个复杂的任务,因为这两个流处理框架有不同的API和架构.然而,我们可以将Samza作业的核心逻辑迁移到Flink,并尽量保持功能一致 ...

  3. APISIX配置

    APISIX yum install -y apisix-2.12.1-0.el7.x86_64.rpm yum install -y cyrus-sasl-devel-2.1.26-23.el7.x ...

  4. 曾经做的一个JS小游戏——《Battle City》

    今天改网盘密码时,找到了个很久前的东西:JavaScript版的坦克大战.07年的夏天制作花了好多个夜晚制作,那段着迷JS游戏的疯狂时光.但因为后来众多浏览器的出现,导致了游戏兼容性大大的下降,最终放 ...

  5. java中并发包简要分析01

    参考<分布式java应用>一书,简单过一遍并发包(java.util.concurrent) ConcurrentHashMap ConcurrentHashMap是线程安全的HashMa ...

  6. Graylog之基本使用

    文档:https://docs.graylog.org/en/3.0/ Graylog Sidecar是一个轻量级配置管理系统,适用于不同的日志收集器,也称为后端.Graylog节点充当包含日志收集器 ...

  7. Javascript 常用封装(一)

    1.获取URL的query参数 作用:根据传入的属性名输出对应的值,没有则输出null 注意:url传参中包含中文时,默认的获取结果会乱码,需要进行解码 //解析query传参 url参数中含有中文时 ...

  8. C#中XML文件读取

    概述 首先程序访问且操作xml文件有两种模型:DOM(文档对象模型).流模型. DOM:允许编辑和更新文档,可随机访问文档中的数据,可使用XPath查询,但是必须要一次性将文档加载在内存中,对于大型的 ...

  9. Fiddler抓包数据乱码

    前情 最近在项目测试中,使用到Fiddler来抓包看接口请求相关的情况 坑 通过Fiddler抓包,在Fiddler中看到的数据都是正常的,但是保存到本地,发现数据是乱码 Why? 工具里的提示是这样 ...

  10. Pwn2own 2022 Tesla 利用链 (ConnMan 堆越界写 RCE)

    Pwn2own 2022 Tesla 利用链 (ConnMan 堆越界写 RCE) Opening the doors and windows 0-click RCE on the Tesla Mod ...