win10 WSL2 使用Ubuntu配置与安装教程

news/2024/11/16 22:28:17/
  • Win10 22H2
  • ubuntu 22.04
  • ROS2

文章目录

    • 一、什么是WSL2
    • 二、Win10 系统配置
      • 2.1 更新Windows版本
      • 2.2 Win10系统启用两个功能
      • 2.3 Win10开启BIOS/CPU开启虚拟化(VT)(很关键)
      • 2.4 下载并安装wsl_update_x64.msi
      • 2.5 PowerShell安装组件
    • 三、PowerShell安装Ubuntu
      • 3.1 PowerShell运行`wsl --set-default-version 2`,设置默认安装WSL2版本
      • 3.2 PowerShell运行`wsl --list --online`查看可用的Linux系统版本
      • 3.3 PowerShell运行`wsl --install -d <distro name>`安装指定版本的Linux系统
      • 3.4 PowerShell运行`wsl -l -v`查看安装的Linux版本与WSL版本
      • 3.5 PowerShell运行`wsl --version`查看安装的WSL是否为最新版本
    • 四、安装Ubuntu 图形界面(可选项)
    • 五、在Ubuntu中配置systemd
    • 六、参考[win10安装wsl2并安装docker](https://blog.csdn.net/sun1613/article/details/124782691)第四节使用VS code在Win10中远程连接Ubuntu-22.04
    • 七、配置python+juypter notebook实现win10远程访问
    • 八、[安装ROS2](http://docs.ros.org/en/rolling/Installation/Ubuntu-Install-Debians.html#)

一、什么是WSL2

win10 + Linux 双系统”与“win10安装Linux虚拟机”一度是使一台电脑具备win10与ubuntu两套系统的经典方法。但是,“win10 + Linux 双系统”需要在两种系统间进行切换,不能同时在一台电脑上使用两套系统。“win10安装Linux虚拟机”虽可以避免切换的麻烦,但是性能低、启动慢、管理不便、和宿主机Win10系统互操作不方便,让双系统重度用户情愿选择也并不完美的“win10 + Linux 双系统”。

Win10 中的WSL (Windows Subsystem for Linux)的目的就是让双系统用户既不需要在系统间切换,又能做到流畅使用双系统。 本章的主角WSL2是第二代WSL,具有新的架构,使用了真正的Linux内核,几乎具有Linux的所有完整功能。WLS2可以直接原生运行Docker、VS Code、Remote-WSL等。WSL2架构图如下所示:
在这里插入图片描述
我们发现,Windows逐步向虚拟平台靠拢,Windows NT内核和Linux内核作为平级一起运行在虚拟平台之上。

二、Win10 系统配置

2.1 更新Windows版本

微软官方WSL2安装说明给出WSL的先决条件为:Windows 10版本为2004或更高版本(Windows 11也可以用WSL)。查看Win10版本步骤如下:

设置->更新和安全->操作系统内部版本信息

具体查看Win10版本步骤见Win10查看版本号的多种方法。

在这里插入图片描述
我Win10系统的版本号为22H2,如果你的版本不是,最好更新到这个最新的版本【设置->更新和安全->检查更新】。

2.2 Win10系统启用两个功能

打开 【控制面板->程序->程序和功能->启用或关闭Windows功能】,出现如下界面,启用“适用于Linux的Windows子系统”与“虚拟机平台”两个功能。注意,千万不要漏掉“虚拟机平台”。

在这里插入图片描述

2.3 Win10开启BIOS/CPU开启虚拟化(VT)(很关键)

启用步骤见Win10在BIOS中如何启用虚拟化(VT)

2.4 下载并安装wsl_update_x64.msi

将地址“https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi”复制到浏览器,下载并安装wsl_update_x64.msi

2.5 PowerShell安装组件

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

在这里插入图片描述

三、PowerShell安装Ubuntu

3.1 PowerShell运行wsl --set-default-version 2,设置默认安装WSL2版本

在这里插入图片描述

3.2 PowerShell运行wsl --list --online查看可用的Linux系统版本

在这里插入图片描述

3.3 PowerShell运行wsl --install -d <distro name>安装指定版本的Linux系统

此处以安装Ubuntu-22.04为例:

在这里插入图片描述
A
安装完会弹出一个框,设置好用户名密码,一个专属于你的Linux系统就成了。
在这里插入图片描述
在这里插入图片描述

3.4 PowerShell运行wsl -l -v查看安装的Linux版本与WSL版本

如下图所示,我们安装的是Ubuntu-22.04版本的Linux系统,Version为2表示WSL2,若为1则为WSL。
在这里插入图片描述
至此,我们成功在Win10中安装了WSL2版本的Ubuntu 22.04系统。

3.5 PowerShell运行wsl --version查看安装的WSL是否为最新版本

若输出的信息类似下面这种,说明安装的WSL2为最新的版本。版本的不同决定了后面systemd配置是否能成功。
在这里插入图片描述
若输出为一大堆其它的信息,则需要想办法将wsl版本升级到最新。可以尝试wsl --update --web-downloadwsl --update,甚至是卸载WSL重装。无论用什么方法一定要看到上面的图片。我自己也是各种尝试了,最终也不确定一定能成功升级的方法,反正最终升级成功了。

四、安装Ubuntu 图形界面(可选项)

我开始一直执着于gnome桌面,不过最后都尝试失败了。

博客Windows10访问Ubuntu子系统(WSL)的桌面环境中给出xubuntu(是xfce4的一个扩展
)的安装方法,步骤验证过是可行的。

在这里插入图片描述

注意:win10中利用WSL来使用Ubuntu,并不一定需要安装图形界面。不安图形界面一点也不影响正常使用。可以利用Win10中安装VS code,以及Ubuntu中安装Juypyter notebook的方使,在Win10界面中进行开发。

五、在Ubuntu中配置systemd

WSL 不支持 systemd ,但是很多应用又是基于 systemd,所以要解决这个问题。

在3.5小节顺利的前提下,在Ubuntu-22.04下,新建wsl.conf,并输入如图所示的内容,保存退出。

sudo vim /etc/wsl.conf

在这里插入图片描述

然后,在win10的powershell下执行wsl --shutdown关闭Ubuntu-22.04,然后重启。在Ubuntu-22.04中输入systemctl,若打印一大堆LOG,说明配置成功。

在这里插入图片描述

六、参考win10安装wsl2并安装docker第四节使用VS code在Win10中远程连接Ubuntu-22.04

在这里插入图片描述
也可参考win10安装wsl2并安装docker第三节安装docker。这个docker安装方法真的很方便。

七、配置python+juypter notebook实现win10远程访问

  • 在Ubuntu-22.04中安装Anaconda(具体可参考Ubuntu安装Anaconda步骤及常用命令):
cd ~/Downloads
wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh
bash Anaconda3-2021.11-Linux-x86_64.sh
  • 参考ubuntu安装jupyter 并设置远程访问 或Ubuntu下开启jupyter远程开启juyter远程访问。记住设置的密码与端口号。在Win10的浏览器内输入localhost:端口号回车,看到有提示输入密码的框输入设置的密码就能在Win10下开发基于python的Linux项目了。

八、安装ROS2


http://www.ppmy.cn/news/29573.html

相关文章

数据结构——基本概念

数据数据&#xff1a;是描述客观事物的符号&#xff0c;是计算机中可以操作的对象&#xff0c;是能被计算机识别&#xff0c;并输入给计算机处理的符号的集合。数据元素&#xff1a;是组成数据的&#xff0c;有一定意义的基本单位&#xff0c;在计算机中通常作为整体处理&#…

【力扣】stack容器的探索之有效的括号

作者&#xff1a;狮子也疯狂 专栏&#xff1a;《算法详解》 愿你生如夏花之绚烂&#xff0c;幸运永远与你相伴&#xff0c;疯狂常在。 目录一. &#x1f981; Stack容器的来历1.1 操作栈的方法二. &#x1f981; Stack的使用2.1 题目2.2 分析2.3 详细算法实现2.4 力扣AC截图三…

html常用标签2和语法练习

目录 1.表单标签 form标签 input标签 选择框 复选框:checkbox 按钮框:button 文件选择框 多行编辑框:textarea 2.html语法练习 展示简历信息 填写简历信息 ​编辑 3.HTML特殊字符 1.表单标签 表单是让用户输入信息的重要途径 表单域:包含表单元素的区域,重点是form…

APICloud 弹动与滚轴冲突的解决模拟

当打开页面的bounces开关来实现下拉刷新和上翻加载是&#xff0c;如果页面中有scroll-view&#xff0c;那么手指上下滑动时弹动会触发&#xff0c;而滚轴无法正常实现&#xff0c;只有按住不动再拖动滚轴才会触发。开始想通过获取手指点击屏幕的坐标点设置触发条件来解决两者的…

mybatisplus复习(黑马)

学习目标能够基于MyBatisPlus完成标准Dao开发能够掌握MyBatisPlus的条件查询能够掌握MyBatisPlus的字段映射与表名映射能够掌握id生成策略控制能够理解代码生成器的相关配置一、MyBatisPlus简介MyBatisPlus&#xff08;简称MP&#xff09;是基于MyBatis框架基础上开发的增强型工…

Spring的核心基础——IOC与DI

文章目录一、Spring简介1 Spring介绍1.1 为什么要学1.2 学什么2 初识Spring2.1 Spring家族2.2 Spring发展史3 Spring体系结构3.1 Spring Framework系统架构图4 Spring核心概念问题导入4.1 核心概念二、IOC和DI入门1 IOC入门问题导入1.1 门案例思路分析1.2 实现步骤1.3 实现代码…

第三章 opengl之纹理

OpenGL纹理纹理环绕方式纹理过滤多级渐远纹理加载和创建纹理stb_image.h生成纹理纹理的应用纹理单元纹理 用stb_image.h库&#xff0c;原先用SOIL库也可以实现。 可以为每个顶点添加颜色来增加图形的细节。但是想得到一个真实的图形&#xff0c;需要足够多的顶点&#xff0c;…

软件测试-接口测试-代码实现接口测试

文章目录 1.request1.1 request介绍1.2 发送get请求1.3 发送set请求1.4 其他请求方式1.5 传递url参数1.6 响应内容解析1.7 cookie1.8 设置session2.集成UnitTest2.1 接口测试框架开发2.2 案例:使用TPShop项目完成对登录功能的接口测试1.request 1.1 request介绍 概念 基于py…