WSL2 window上高效运行Linux

1 WSL及优势

1.1 WSL简介

WSL(Windows Subsystem for Linux)是Windows操作系统中的一个功能,它允许用户在Windows环境下运行Linux应用程序。WSL提供了一个与Linux内核兼容的系统调用转发层,使得Linux二进制文件可以在Windows上直接运行,而不需要使用传统的虚拟机或容器的方式。

WSL有两个主要的版本:WSL1和WSL2。

  • WSL1:WSL1是最早引入的版本,它通过将Linux系统调用转换为Windows系统调用来实现与Linux应用程序的兼容。WSL1提供了与Windows子系统的紧密集成,但在性能方面相对较低。WSL2:WSL2是WSL的下一代版本,它采用了虚拟化技术,并在Windows内核之上运行完整的Linux内核。这使得WSL2在性能方面比WSL1有了显著的提升,并提供了更好的兼容性和功能支持。

WSL的一些关键特点和优势包括:

  • 原生兼容性: WSL允许在Windows上运行原生的Linux二进制文件,无需修改或重新编译。这使得开发者可以在Windows环境中轻松地访问和运行各种Linux工具、脚本和应用程序。
  • 集成体验: WSL与Windows紧密集成,可以通过Windows Terminal或其他终端应用程序访问Linux环境。用户可以在同一窗口中同时运行Windows和Linux应用程序,无需切换操作系统或启动虚拟机。
  • 轻量级虚拟化: WSL2利用了轻量级虚拟化技术,在Windows内核之上运行完整的Linux内核。这使得WSL2在性能方面表现更优,同时减少了资源占用和启动时间。
  • 访问Windows文件系统: WSL可以直接访问Windows文件系统,使得在Linux环境中处理和操作Windows文件变得更加便捷。同时,WSL也支持与Windows应用程序之间的文件共享和互操作。
  • 多个Linux发行版支持: WSL允许用户安装和运行多个不同的Linux发行版,如Ubuntu、Debian、SUSE等。这使得用户可以选择自己喜欢的Linux环境,并根据需要进行切换和管理。

WSL为开发者和用户提供了在Windows操作系统下同时享受Windows和Linux优势的灵活性和便利性。它成为了一个强大的开发工具,使得在Windows平台上进行跨平台开发和运行Linux应用程序变得更加容易。

1.2 WSL2的优势

与虚拟机相比,优势主要有:

WSL2(Windows Subsystem for Linux 2)与传统的虚拟机相比,具有以下一些优势:

  • 性能更高:WSL2采用了虚拟化技术,但与传统虚拟机相比,它使用了轻量级的虚拟化解决方案,因此在性能方面表现更优。WSL2直接在Windows内核之上运行Linux内核,减少了性能损失,使得Linux应用程序在Windows下运行更加快速和高效。
  • 无需独立启动虚拟机: WSL2不需要像传统虚拟机一样独立启动一个完整的虚拟机实例。它通过在Windows主机上执行一个轻量级的虚拟机代理来提供Linux环境。这意味着你可以快速启动、停止和切换不同的Linux发行版,而无需等待虚拟机的启动和关闭过程。
  • 无需分配额外资源: 传统虚拟机需要为每个虚拟机分配独立的资源,包括内存、处理器和硬盘空间。而WSL2与Windows共享主机的资源,无需额外的资源分配,因此可以更高效地利用计算机的性能和资源。
  • 无需虚拟机管理: WSL2与Windows集成紧密,通过Windows Terminal或其他支持的终端应用程序即可访问Linux环境,无需单独管理虚拟机。这简化了环境的设置和维护,并提供了更好的集成体验。
  • 更好的文件系统性能: WSL2使用了特殊的文件系统桥接技术,使得在Windows文件系统和Linux文件系统之间的文件操作更加高效。这意味着在WSL2中访问和操作文件的速度更快,并且不会受到传统虚拟机中文件共享的性能限制。

注意:虚拟机仍然在某些特定情况下具有优势,例如需要完全隔离的环境、对硬件资源有特殊要求的场景等。但对于大多数开发者和普通用户来说,WSL2提供了更好的性能和更好的集成体验,使得在Windows上运行Linux应用程序更加便捷和高效。

2 WSL2 系统设置与安装

2.1 WSL2 设置(针对win11方案)

通过快捷键 ctrl+shift+esc 来查看CPU性能,图形下方有“虚拟化”的字样,看虚拟化是否生效?
控制面板->程序->启用或关闭 windows 功能 ->开启 Windows 虚拟化、 Linux 子系统(WSL2)、Hyper-V(中文有可能是虚拟化之类的字样)。参考下图,如下所示:

启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化。打开Power Shell,以管理员权限输入命令:

$bcdedit /set hypervisorlaunchtype auto

下载路径为:windows wsi WSL2内核,之后在Power Shell中打开,执行:

$wsl --update

2.2 镜像导入

2.2.1 官方镜像导入

对于wsl,可以直接进入到微软商店,下载ubuntu对应的版本,在界面上点击直接安装即可。如下所示:

2.2.2 自定义镜像包导入

很多时候我们构建了一套环境,较为复杂,安装的软件较多,那么更适合自己打包并导出一套镜像,以后在其他电脑上导入后就可以直接使用了。对于自定义镜像,直接引入自定义的镜像包。打开Power Shell并输入命令:

$mkdir install
$wsl --import Ubuntu-20.04 [Ubuntu自定义镜像包安装路径] [自定义镜像安装包 下载路径 比如D:\ubuntu_2004.tar] --version 2
$wsl --import Ubuntu-20.04 .\install\ ubuntu_2004.tar

2.3 镜像导出

一般导出操作为:

$wsl --export <发行版> <文件名>
$wsl --export Ubuntu-20.04 ubuntu_wsl2.tar

2.4 镜像启动

接下来加载镜像并启动,则执行命令:

$wsl -d Ubuntu-20.04

当然,如果只有一个镜像则可以直接执行wsl,会直接进入到镜像中。默认是root用户名,进入后 切换用户,执行:

$su <用户名>
$su ags

注意:此时安装路径需全英文且不能有空格,否则会启动失败。

2.5 卸载系统

如果要卸载系统并删除,则执行:

$wsl --unregister Ubuntu-20.04

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于风险的漏洞管理

基于风险的漏洞管理涉及对即将被利用的漏洞的分类响应&#xff0c;如果被利用&#xff0c;可能会导致严重后果。本文详细介绍了确定漏洞优先级时要考虑的关键风险因素&#xff0c;以及确保基于风险的漏洞管理成功的其他注意事项。 什么是基于风险的漏洞管理对基于风险的漏洞管…

vue中html引入使用<%= BASE_URL %>变量

首先使用src相对路径引入 注意&#xff1a; js 文件放在public文件下 不要放在assets静态资源文件下 否则 可能会报错 GET http://192.168.0.113:8080/src/assets/js/websockets.js net::ERR_ABORTED 500 (Internal Server Error) 正确使用如下&#xff1a;eg // html中引…

(线特征)opencv+opencv contribute 配置

写一篇博客&#xff0c;记录开始线特征slam的历程。 在配置环境的时候&#xff0c;可以发现大多数都是用到了opencv3.4.16和其contribute版本&#xff0c;这里进行一个相关操作的教学。配置环境是在Ubuntu下面进行的&#xff0c;建议使用Ubuntu18来进行线特征的配置以及代码的…

国产AI芯片突破,芯片或成白菜价,恐惧的美芯阻止台积电为它代工

日前消息指台积电大幅减少一家中国AI芯片企业的产能&#xff0c;原因在于国产AI芯片的性能已接近美芯&#xff0c;美国芯片企业NVIDIA与相关的资本机构贝莱德联手施压台积电所致&#xff0c;凸显出美国芯片忧虑中国AI芯片的竞争力。 这家国产AI芯片企业为壁仞科技&#xff0c;据…

【精算研究01/10】 计量经济学的性质和范围

一、说明 计量经济学是使用统计方法来发展理论或测试经济学或金融学中的现有假设。计量经济学依赖于回归模型和零假设检验等技术。计量经济学也可以用来预测未来的经济或金融趋势。 图片来源&#xff1a;https://marketbusinessnews.com 二、 计量经济之简介 计量经济学是对经济…

Spring MVC 学习总结

学习目标 了解 Spring MVC 是什么&#xff0c;为什么要使用它或者说它能解决什么问题&#xff0c;其与 Spring 是什么关系。理解为什么配置 Spring MVC 的前端控制器的映射路径为 “/” 会导致静态资源访问不了&#xff0c;掌握怎么处理这个问题。掌握基于注解方式使用 Spring…

有哪些前端调试和测试工具? - 易智编译EaseEditing

前端开发调试和测试工具帮助开发人员在开发过程中发现和修复问题&#xff0c;确保网站或应用的稳定性和性能。以下是一些常用的前端调试和测试工具&#xff1a; 调试工具&#xff1a; 浏览器开发者工具&#xff1a; 现代浏览器&#xff08;如Chrome、Firefox、Safari等&#…

深度学习2.神经网络、机器学习、人工智能

目录 深度学习、神经网络、机器学习、人工智能的关系 大白话解释深度学习 传统机器学习 VS 深度学习 深度学习的优缺点 4种典型的深度学习算法 卷积神经网络 – CNN 循环神经网络 – RNN 生成对抗网络 – GANs 深度强化学习 – RL 总结 深度学习 深度学习、神经网络…

Hbase-技术文档-java.net.UnknownHostException: 不知道这样的主机。 (e64682f1b276)

问题描述&#xff1a; 在使用spring-boot操作habse的时候&#xff0c;在对habse进行操作的时候出现这个问题。。 报错信息如下&#xff1a; 第一段报错&#xff1a; 第二段报错&#xff1a; java.net.UnknownHostException: e64682f1b276 问题定位解读&#xff1a; 错误 ja…

Android 13 - Media框架(7)- NuPlayer::Source

Source 在播放器中起着拉流&#xff08;Streaming&#xff09;和解复用&#xff08;demux&#xff09;的作用&#xff0c;Source 设计的好坏直接影响到播放器的基础功能&#xff0c;我们这一节将会了解 NuPlayer 中的通用 Source&#xff08;GenericSource&#xff09;关注本地…

Nginx配置文件详解

Nginx配置文件详解 1、Nginx配置文件1.1主配置文件详解1.2子配置文件 2、全局配置部分2.1修改启动的工作进程数&#xff08;worker process) 优化2.2cpu与worker process绑定2.3 PID 路径修改2.4 修改工作进程的优先级2.5调试工作进程打开的文件的个数2.6关闭master-worker工作…

postman接口自动化测试框架实战!

什么是自动化测试 把人对软件的测试行为转化为由机器执行测试行为的一种实践。 例如GUI自动化测试&#xff0c;模拟人去操作软件界面&#xff0c;把人从简单重复的劳动中解放出来。 本质是用代码去测试另一段代码&#xff0c;属于一种软件开发工作&#xff0c;已经开发完成的用…

《Kubernetes故障篇:Container runtime network not ready》

一、环境信息 操作系统K8S版本containerd版本Centos7.6v1.24.17v1.6.12 二、背景信息 1、通过以下命令检查网络插件的状态&#xff0c;发现网络插件coredns处于pending状态 2、通过以下命令检查kubelet服务状态&#xff0c;发现Container runtime network not ready等报错 三…

05.sqlite3学习——DML(数据管理:插入、更新、删除)

目录 DML&#xff08;数据管理&#xff1a;插入、更新、删除&#xff09; 插入 更新 删除整个表 语法 实例 DML&#xff08;数据管理&#xff1a;插入、更新、删除&#xff09; 数据操纵&#xff08;DML&#xff09;&#xff1a;用于增、删、改数据 作用&#xff1a;负…

wxpython:wx.html2 是好用的 WebView 组件

wxpython : wx.html2 是好用的 WebView 组件。 wx.html2 是wxPython扩展模块中封装得干净漂亮的模块之一&#xff0c;它被设计为允许为每个端口创建多个后端&#xff0c;尽管目前只有一个可用。它与wx.html.HtmlWindow 的不同之处在于&#xff0c;每个后端实际上都是一个完整的…

C++中<iostream> 的cin >> str 和<string>的getline(cin, str) 用来读取用户输入的两种不同方式的不同点

C中<iostream> 的cin >> str 和<string>的getline(cin, str) 用来读取用户输入的两种不同方式的不同点 &#xff1c;string&#xff1e;的getline()函数语法如下【https://cplusplus.com/reference/string/string/getline/】&#xff1a; istream& getl…

抖音seo短视频矩阵系统源码开发源代码分享--开源-可二开

适用于抖音短视频seo矩阵系统&#xff0c;抖音矩阵系统源码&#xff0c;短视频seo矩阵系统源码&#xff0c;短视频矩阵源码开发&#xff0c;支持二次开发&#xff0c;开源定制&#xff0c;招商加盟SaaS研发等。 功能开发设计 1. AI视频批量剪辑&#xff08;文字转语音&#x…

官方项目《内容示例》中Common UI部分笔记: 1.1 Activatable Widgets

本文主要面向UMG以及Common UI的初学者 文章目录 效果展示概要Activate和Deactivate可见性绑定UI动画设置Common Activatable Widget的默认焦点 效果展示 概要 这个例子非常简单&#xff0c;定义了13个Common Activatable Widget CommonUI_ActivatableWidgets相当于一个容器包…

LLM本地知识库问答系统(一):使用LangChain和LlamaIndex从零构建PDF聊天机器人指南

随着大型语言模型&#xff08;LLM&#xff09;&#xff08;如ChatGPT和GPT-4&#xff09;的兴起&#xff0c;现在比以往任何时候都更容易构建比普通熊更智能的智能聊天机器人&#xff0c;并且可以浏览堆积如山的文档&#xff0c;为您的输入提供准确的响应。 在本系列中&#xf…

《Linux从练气到飞升》No.18 进程终止

&#x1f57a;作者&#xff1a; 主页 我的专栏C语言从0到1探秘C数据结构从0到1探秘Linux菜鸟刷题集 &#x1f618;欢迎关注&#xff1a;&#x1f44d;点赞&#x1f64c;收藏✍️留言 &#x1f3c7;码字不易&#xff0c;你的&#x1f44d;点赞&#x1f64c;收藏❤️关注对我真的…