WSL--无需安装虚拟机和docker可以直接在Windows操作系统上使用Linux操作系统

安装WSL命令

  1. 管理员打开PowerShell或Windows命令提示符,输入wsl --install,然后回车
    在这里插入图片描述
    注意:此命令将启用运行 WSL 和安装 Linux 的 Ubuntu 发行版所需的功能。
    注意:默认安装最新的Ubuntu发行版。
    注意:默认安装路径是C:\Users\<username>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu_79rhkp1fndgsc路径下

  2. 根据提示输入用户名和密码
    在这里插入图片描述

  3. 使用lsb_release -a查看当前安装Linux版本
    在这里插入图片描述

  4. 在power shell下输入wsl --list --onlinewsl --list -o查看可用 Linux 发行版的列表
    在这里插入图片描述

  5. 安装其他Linux发行版wsl --install -d <Distribution Name>
    在这里插入图片描述

  6. 查看WLS版本wsl -l -v
    在这里插入图片描述

  7. 使用exit退出Linux系统,可以在Windows开始菜单中重新进入,也可以在Windows终端中进入
    在这里插入图片描述

  8. 卸载Linux发行版wsl --unregister <DistributionName>
    在这里插入图片描述

将安装的Linux发行版导出到非系统盘

  1. wsl -l --all -v查看已安装的Linux发行版
    在这里插入图片描述

  2. wsl --export Ubuntu-22.04 D:\SoftWare\Os\wsl-ubuntu22.04.tar导出发行版
    在这里插入图片描述

  3. wsl --unregister Ubuntu-22.04注销已安装的发行版
    在这里插入图片描述

  4. wsl --import Ubuntu-22.04 D:\SoftWare\Os\wsl-ubuntu22.04 D:\SoftWare\Os\wsl-ubuntu22.04.tar导入发行版
    在这里插入图片描述

  5. wsl -d Ubuntu-22.04启动发行版
    在这里插入图片描述

注意:同样可以将docker中的镜像导出tar,然后使用此方式导入。

补充命令

  • wsl -d <Distribution Name>启动发行版
  • wsl --shutdown立即终止所有正在运行的分发版和 WSL 2 轻量级实用程序虚拟机
  • wsl --terminate <Distribution Name>要终止指定的分配或阻止其运行
  • wsl --list --verbose列出已经安装的Linux发行版本
  • wsl --set-default <Distribution Name>设置默认Linux发行版
  • wsl --update更新WSL
  • wsl --set-default-version <Version>设置默认WSL版本
  • wsl --mount <DiskPath>挂载磁盘
  • wsl --unmount <DiskPath>卸载磁盘

参考

https://learn.microsoft.com/en-us/windows/wsl/install
https://learn.microsoft.com/en-us/windows/wsl/use-custom-distro
https://learn.microsoft.com/zh-cn/windows/wsl/wsl-config

FAQs

  1. WSL安装Linux子系统时显示如下warning信息
  • 问题:
    在这里插入图片描述

  • 解决方法:
    C:\Users\<username>目录下新建.wslconfig然后将如下内容复制进来并保存

    [experimental]
    autoMemoryReclaim=gradual  # 选择 gradual、dropcache 或 disabled
    networkingMode=mirrored      # 设置为 mirrored 或 isolated
    dnsTunneling=true            # 选择 true 或 false
    firewall=true                # 选择 true 或 false
    autoProxy=true               # 选择 true 或 false
    sparseVhd=true               # 选择 true 或 false
    
  • wsl --shutdown重启WSL

  • 参数说明

    autoMemoryReclaim:控制 WSL 2 的内存回收策略:
    gradual:渐进式内存回收。WSL 会在需要时自动回收内存,但不会立即释放所有未使用内存。
    dropcache:立即释放所有未使用内存。这可能会导致性能下降,但可以确保释放所有可用的内存。 disabled:禁用自动内存回收。这可能会导致内存泄漏,但可以提供最佳性能。
    
    networkingMode:设置 WSL 2 的网络模式:
    mirrored:使用与 Windows 相同的网络设置。
    isolated:为 WSL 分配独立的网络连接。
    
    dnsTunneling:控制 DNS 请求的处理方式:
    true:将所有 DNS 请求路由到 Windows DNS 解析器。
    false:允许 WSL 使用自己的 DNS 解析器。
    
    firewall:是否启用 Windows Defender 防火墙对 WSL 流量的筛选:
    true:启用 Windows Defender 防火墙。
    false:禁用 Windows Defender 防火墙。
    
    autoProxy:是否自动使用 Windows 代理设置:
    true:自动检测和使用 Windows 代理设置。
    false:不使用 Windows 代理设置。
    
    sparseVhd:是否使用稀疏虚拟硬盘 (VHD),节省磁盘空间但可能影响性能:
    true:使用稀疏虚拟硬盘 (VHD)。这可以节省磁盘空间,但可能会导致性能下降。
    false:使用固定大小的 VHD。这可以提供最佳性能,但需要更多磁盘空间。
    
  1. vmmemWSL占用内存过高
    解决方法:
    .wslconfig配置文件中添加

    [wsl2]
    guiApplications=false
    memory=4GB
    processors=4
    

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

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

相关文章

【学习心得】算力云平台上的大模型部署并实现远程调用

以AutoDL算力云平台为例&#xff0c;部署国产开源ChatGLM3b模型。 一、准备工作 &#xff08;1&#xff09;准备一台算力服务器 首先&#xff0c;进入AutoDL官网的算力时长选择算力服务器资源。 创建好后会自动跳转控制台的“容器实例”界面&#xff0c;稍等片刻后选择“快捷…

Vue 中的透传,插槽,依赖注入

1. 透传attributes 在组件上使用透传attribute&#xff1a; 当你在父组件中使用子组件时&#xff0c;你可以添加一些attribute到子组件上&#xff0c;即使这些attribute没有在子组件的props中声明。 父组件&#xff1a; <!-- 父组件&#xff0c;例如 ParentComponent.vue…

97.【C语言】数据结构之栈

目录 栈 1.基本概念 2.提炼要点 3.概念选择题 4.栈的实现 栈初始化函数 入栈函数 出栈函数和栈顶函数 栈顶函数 栈销毁函数 栈 基本概念参见王爽老师的《汇编语言 第四版》第56和57页 节选一部分 1.基本概念 注意:这里提到的数据结构中的栈有别于操作系统的栈,后者是…

Spring-boot 后端java配置接口返回jsp页面

Spring-boot 后端java配置接口返回jsp页面 spring boot 基于spring MVC的基础上进行了改进&#xff0c; 将Controller 与ResponseBody 进行了合并成一个新的注解 RestController。 当用户请求时&#xff0c;需要有视图渲染的&#xff0c;与请求数据的请求分别使用 1.在appli…

【操作系统实验课】Makefile与编译

1. 创建项目结构 my_project 使用mkdir命令在根目录下创建项目my_project sudo mkdir /my_project 进入my_project目录 cd my_project src 在my_project目录下创建src子目录 sudo mkdir src 进入src目录 cd src root(根用户) 切换用户身份为root(根用户) root用户…

冠层四流近似模型的发展历史

1. Kunbelka-Munk theory This is the earlist model using a two-stream approximation d I d z − ( k s ) I s J d J d z ( k s ) J − s I \begin{aligned} &\frac{dI}{dz} -(ks)IsJ\\ &\frac{dJ}{dz} (ks)J - sI \end{aligned} ​dzdI​−(ks)IsJdzdJ​(…

Linux从0——1之shell编程4

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团队无关&a…

2024.5 AAAiGLaM:通过邻域分区和生成子图编码对领域知识图谱对齐的大型语言模型进行微调

GLaM: Fine-Tuning Large Language Models for Domain Knowledge Graph Alignment via Neighborhood Partitioning and Generative Subgraph Encoding 问题 如何将特定领域知识图谱直接整合进大语言模型&#xff08;LLM&#xff09;的表示中&#xff0c;以提高其在图数据上自…

【大语言模型】ACL2024论文-15 大型语言模型中的最佳解释推断

【大语言模型】ACL2024论文-15 大型语言模型中的最佳解释推断 目录 文章目录 【大语言模型】ACL2024论文-15 大型语言模型中的最佳解释推断目录摘要研究背景问题与挑战如何解决创新点算法模型实验效果推荐阅读指数&#xff1a;★★★★☆后记 大型语言模型中的最佳解释推断 摘…

【最新鸿蒙开发之性能优化——动态加载和延迟加载】

大家好&#xff0c;我是学徒小z&#xff0c;在经历了一段时间项目开发中&#xff0c;我也渐渐意识到了性能的重要性&#xff0c;今天就分享一篇优化应用运行性能的文章&#xff0c;话不多说&#xff0c;开干&#xff01; 引言 延时触发操作与延迟加载的简介 动态加载&#x…

云计算研究实训室建设方案

一、引言 随着云计算技术的迅速发展和广泛应用&#xff0c;职业院校面临着培养云计算领域专业人才的迫切需求。本方案旨在构建一个先进的云计算研究实训室&#xff0c;为学生提供一个集理论学习、实践操作、技术研发与创新于一体的综合性学习平台&#xff0c;以促进云计算技术…

信号保存和信号处理

目录 信号保存中重要的概念 内核中信号的保存 对sigset_t操作的函数 对block&#xff0c;pendding&#xff0c;handler三张表的操作 sigpromask ​编辑 sigpending 是否有sighandler函数呢&#xff1f; 案例 信号处理 操作系统是如何运行的&#xff1f; 硬件中断 …

用vscode编写verilog时,如何有信号定义提示、信号定义跳转(go to definition)、模块跳转(跨文件跳转)这些功能

&#xff08;一&#xff09;方法一&#xff1a;安装插件SystemVerilog - Language Support 安装一个vscode插件即可&#xff0c;插件叫SystemVerilog - Language Support。虽然说另一个插件“Verilog-HDL/SystemVerilog/Bluespec SystemVerilog”也有信号提示及定义跳转功能&am…

初识算法 · 模拟(1)

目录 前言&#xff1a; 替换所有的问号 题目解析 算法原理 算法编写 提莫攻击 题目解析 算法原理 算法编写 外观数列 题目解析 算法原理 算法编写 前言&#xff1a; ​本文的主题是模拟&#xff0c;通过三道题目讲解&#xff0c;一道是提莫攻击&#xff0c;一道是…

〔 MySQL 〕数据类型

目录 1.数据类型分类 2 数值类型 2.1 tinyint类型 2.2 bit类型 2.3 小数类型 2.3.1 float 2.3.2 decimal 3 字符串类型 3.1 char 3.2 varchar 3.3 char和varchar比较 4 日期和时间类型 5 enum和set mysql表中建立属性列&#xff1a; 列名称&#xff0c;类型在后 n…

数据结构王道P234第二题

#include<iostream> using namespace std; int visit[MAxsize]; int color[MaxSize];//1表示红&#xff0c;2表示白&#xff1b; bool dfs(Graph G, int i){visit[i]1;ArcNode *p;bool flag1;for(pG.vertices[i].firsrarc; p ; pp->next){int jp->adjvex;if(!visi…

算法——两两交换链表中的节点(leetcode24)

这是一道对于链表节点进行操作的题目非常考验对于链表操作的基本功&#xff1b; 解法: 本题的解法结合下图来进一步解释 创建一个虚拟节点指向头结点以便使代码逻辑看起来更为简便且操作节点容易,定义cur是为了方便找到cur之后的两个节点进行交换操作定义pre和aft是为了保存执…

【AI图像生成网站Golang】项目架构

AI图像生成网站 目录 一、项目介绍 二、雪花算法 三、JWT认证与令牌桶算法 四、项目架构 五、图床上传与图像生成API搭建 六、项目测试与调试(等待更新) 四、项目架构 本项目的后端基于Golang和Gin框架开发&#xff0c;主要包括的模块有&#xff1a; backend/ ├── …

翼鸥教育:从OceanBase V3.1.4 到 V4.2.1,8套核心集群升级实践

引言&#xff1a;自2021年起&#xff0c;翼鸥教育便开始应用OceanBase社区版&#xff0c;两年间&#xff0c;先后部署了总计12套生产集群&#xff0c;其中核心集群占比超过四分之三&#xff0c;所承载的数据量已突破30TB。自2022年10月&#xff0c;OceanBase 社区发布了4.2.x 版…

ESP32-S3模组上跑通esp32-camera(19)

接前一篇文章&#xff1a;ESP32-S3模组上跑通esp32-camera&#xff08;18&#xff09; 本文内容参考&#xff1a; esp32-camera入门&#xff08;基于ESP-IDF&#xff09;_esp32 camera-CSDN博客 OV5640手册解读-CSDN博客 ESP32_CAM CameraWebServer例程源码解析笔记&#xf…