在vw中运行linux,Windows系统直接运行Linux,竟是如此简单

2023-11-06

要想在Windows10以前的系统上,运行Linux程序是比较复杂的,需要使用cygwin之类的工具,不仅下载慢,而且功能有限,后来出现了诸如VirtualBox,VMWare Workstation和Microsoft Hyper-V之类的虚拟化软件,可以在windows上安装模拟一个完整的Linux系统,这样就可以直接在虚拟机中运行Linux程序。

微软从1703版本后,推出了WSL。也即将在2004版本中,推出基于Hyper-V技术的WSL2。

什么是WSL?

WSL(Windows Subsystem for Linux),它是Windows的Linux内核兼容性层。为了与即将正式上线的WSL2做区分,现在也称WSL为WSL1。

通过允许用户访问Linux bash命令行应用程序,使得许多Linux程序可以直接在Windows内运行。WSL 1允许Windows用户安装完整的Linux发行版,例如Ubuntu,openSUSE,Kali或Debian,不过值得注意的是,由于没有GPU支持,因此它无法直接执行GUI(例如Gnome,KDE等)。WSL1实际上也没有Linux内核,因此无法测试驱动程序或Linux内核扩展...也无法运行32位Linux应用程序.。

而WSL 2 是全新结构的WSL新版本,它支持 Linux 在 Windows 上运行 ELF64 Linux 二进制文件。这种新的体系结构改变了 Linux 二进制文件与 Windows 和计算机硬件的交互方式,但仍提供与 WSL 1相同的用户体验。单个 Linux 发行版可以作为 WSL 1 发行版运行,也可以作为 WSL 2 发行版运行,可以随时升级或降级,并且可以并行运行 WSL 1 和 WSL 2 发行版。WSL 2 使用的是真实 Linux 内核的全新体系结构。

08abd1b89f0851e890b4437ba92f51e9.png

安装WSL1

1. 右键开始按钮,以管理员身份打开 PowerShell:

f250405eb7f7c6c3bcc0a4971d816073.png

2. 输入下面的命令,并按下回车键:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

ef5b7e9c801e795c414e21961752f57e.png

安装过程会提示是否重启计算机以完成操作,敲回车重启。

3. 重新启动后,您可以通过控制面板> 打开或关闭 Windows 功能来检查该功能是否安装成功。当然,也可直接在这里面开启Windows子系统,不需要命令开启。

54d3aeae3dbc01b09c6b8c9d2e2550b0.png

4. 接下来,您需要通过"开始"菜单转到 Windows 应用商店,并选择 Linux 发行版。我们将使用 Ubuntu,单击 Ubuntu 18.04 LTS 然后"安装"。

1b14ccd6e00fe5123ec165d5db427f05.png

44758828b71ce184f7731ba5df7afb79.png

5. 安装后,"安装"按钮将更改为"启动",单击"启动"按钮。等待进一步安装后,窗口会提示输入 UNIX 用户名和密码,按照屏幕上的提示操作。

22aaabc223d6af5e0649634640bf46a7.png

6. WSL1 + Ubuntu环境就安装好了,并且将显示 bash 提示,您可以通过在开始菜单中打开"Ubuntu"来打开此提示。

安装WLS2

由于WLS2 与WLS相比,除了拥有“真正”的Linux内核外,文件系统速度更快外,还有一个重大改变就是基于Hyper-v技术,也就是说,运行WLS2的话,就需要开启Hyper-V,这样也就导致了其他第三方虚拟机像是VWWare就没办法运行了(VirtualBox 6.0+可以实现与Hyper-V共存),这也算是一个小小的遗憾。

1. 以管理员身份打开CMD或者Powershell,然后输入下方命令后,选择Y重启电脑

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

没有安装wsl 1的话,还需要:

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

949317847e94c1612ad053e4331e8ea8.png

2.重启电脑后,以管理员权限运行cmd,然后输入

wsl -l -v

可以看到在Version下面显示是1, 这个就说明目前我们的WSL2还并未开启。

c32aa40f4c91333de64165681c4f3aa4.png

3. 要升级到 wsl 2,在CMD中输入下方命令:

wsl --set-version Ubuntu-18.04 2

注意Ubuntu-18.04 是上一步中Name中显示的名称,如果你安装的不是Ubuntu 18.04,那么就需要填入对应的版本。

5e6933c7124f797d6040d739d60cec44.png

如何访问Windows文件夹?

在WSL中,访问实际硬盘中的数据是非常方便的,默认情况下WSL已经挂载了Windows分区。

Windows磁盘的挂载点都已经自动的挂载。

在WSL中,输入cd /mnt/ 即可进入相应的分区。

比如访问磁盘C,就可以输入

cd /mnt/c/

即可进入C盘。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在vw中运行linux,Windows系统直接运行Linux,竟是如此简单 的相关文章

  • 单例模式的4种写法

    单例模式是开发过程中常用的模式之一 首先了解下单例模式的四大原则 构造方法私有 以静态方法或枚举返回实例 确保实例只有一个 尤其是多线程环境 确保反射或反序列化时不会重新构建对象 饿汉模式 饿汉模式在类被初始化时就创建对象 以空间换时间 故
  • Redis的多路复用机制

    Redis是单线程还是多线程 通常我们所说的Redis 是单线程 主要是指 Redis 的网络 IO 和键值对读写是由一个线程来完成的 这也是 Redis 对外提供键值存储服务的主要流程 但 Redis 的其他功能 比如持久化 异步删除 集
  • [RoarCTF 2019]Easy Calc

    进入题目是一个计算器的功能界面 查看源代码 可以发现是有WAF的 且存在一个calc php文件 这里接收一个num参数 可以看到这里创建了一个黑名单列表 然后用正则是去匹配 进行非法参数的过滤 那这题就是要绕过这个过滤和过一个WAF了 先
  • Pycharm使用---Black代码格式化工具

    前言 一个代码规范 可读性强是我们在写代码或者看代码时最期望的 也便于我们理解代码的功能和思路 而对于格式不是很规范的代码 要去修改其格式 如果单纯靠人工更正格式 对于简短的代码 难度不是很高 但是遇到一个较长 功能复杂的代码或者项目 人工
  • vue3.3 v-model 双向绑定

    配置代码还是有必要贴出的 老截图也不好 plugins vue script defineModel true propsDestructure true vueJsx
  • mongoDB数据库net stop mongoDB 发生系统错误 5。 拒绝访问。

    在使用mongoDB的时候命令行输入 net stop start mongDB停止 启动数据数据库时 终端报错如下 报错原因 权限不够 启动MongoDB服务需要以管理员的身份启动CMD 解决方案 CMD命令提示符地址 c盘 gt win
  • jmeter—建立测试计划

    一个测试计划描述了一系列 Jmeter 运行时要执行的步骤 一个 完整的测试计划包含 一个或者多个线程组 逻 辑控制 取样发生控制 监听器 定时器 断言和配置元件 一 建立测试计划 在这一部分 你将学到如何创建一个基础的测试计划来测试网站
  • 谈谈测试种类有哪些?

    此块引用怎么也删不掉了 那就留着吧 本来想在前面写点感想 害 也许是我不会用 灰度测试 A B测试 BVT测试 UAT测试 埋点测试 接口测试 缓存测试 灰度测试 灰度测试 就是在某项产品或应用正式发布前 选择特定人群试用 逐步扩大其试用者
  • @RequestBody不生效,获取不到数据

    RequestBody不生效 获取不到数据 网上找了很多 试过了不生效 最后检查引用包的时候 看到引用到了swagger的 RequestBody去了 大无语事件 不看还不知道swagger也有一个 RequestBody 改为引用spri
  • 【廖雪峰python进阶笔记】函数式编程

    1 高阶函数 高阶函数就是可以把函数作为参数的函数 下面我们看一个简单的高阶函数 def add x y f return f x f y 如果传入abs作为参数f的值 add 5 9 abs 根据函数的定义 函数执行的代码实际上是 abs
  • 常用的COMSOL操作符和数学函数

    算符 d f x f对x方向的微分 1 使用d算符来计算一个变量对另一个变量的导数 如 d T x 指变量T对x求导 而d u 2 u 2 u等 2 如果模型中含有任何独立变量 建模中使用d算符会使模型变为非线性 3 在解的后处理上使用d算
  • moviepy音视频剪辑:使用fl_time进行诸如快播、慢播、倒序播放等时间特效处理的原理、代码实现以及需要注意的坑

    专栏 Python基础教程目录 专栏 使用PyQt开发图形界面Python应用 专栏 PyQt moviepy音视频剪辑实战 专栏 PyQt入门学习 老猿Python博文目录 老猿学5G博文目录 一 引言 在 moviepy音视频剪辑 mo
  • Eclipse中创建Web项目(2023年)

    在创建Web项目前要先配置好JDK环境以及Tomcat环境 配置教程已经发过了 接下来我们开始创建第一个Web项目 目录 一 创建web项目 二 整合Tomcat服务器 三 项目部署到Tomcat中 一 创建web项目 1 打开Eclips
  • Android集合和数据的相互转换

    1 集合转换成数组 如有需要可以把String换成其他类 List
  • 知识图谱从哪里来:实体关系抽取的现状与未来

    点击上方 Datawhale 选择 星标 公众号 第一时间获取价值内容 最近几年深度学习引发的人工智能浪潮席卷全球 在互联网普及带来的海量数据资源和摩尔定律支配下飞速提升的算力资源双重加持下 深度学习深入影响了自然语言处理的各个方向 极大推
  • iOS Provisioning Profile(Certificate)与Code Signing详解

    引言 关于开发证书配置 Certificates Identifiers Provisioning Profiles 相信做 iOS 开发的同学没少被折腾 对于一个 iOS 开发小白 半吊子 比如像我自己 抑或老兵 或多或少会有或曾有过以下
  • js中数组常用几种方法

    Array 前端js数组常用方法 1 for Each 此方法是将数组中的每个元素执行传进提供的函数 没有返回值 var arr 1 2 3 4 5 function m1 a console log a 2 arr forEach m1
  • jQuery XSS漏洞原因查找及解决方案

    测试网站是否存在此XSS跨站漏洞 以google浏览器为例 打开要测试的网站 在Console窗口输入 element attribute img src 123123 回车之后会出现弹窗 说明存在XSS跨站漏洞 解决方案 升级jquery
  • 专访虎牙直播毛茂德

    引言 作为一位经历了互联网 移动互联网阶段的老兵 毛茂德老师一路走来 始终保持自己的技术初心 不断探索未知领域的宽度 进入虎牙直播后 他积极推动虎牙拥抱云原生 进行业务创新 同时他也发挥技术优势 通过高效运维为企业实现了降本增效 专注于技术

随机推荐

  • OSS 如何获取阿里云的bucket和endpoint

    如何获取阿里云oss所需的bucket和endpoint 关于阿里云oss的使用 本篇文章主要讲述如何获取我们需要获取的参数是 bucket和endpoint 这2个参数比较好获得 实际上 和这2个参数决定了 您上传文件的最终访问地址 这个
  • 关联对象源码分析

    什么是关联对象 一个对象可以关联多个对象 可以扩展原有对象的能力 关联是拥有的关系 Case1 Category可以使用 property添加一个属性吗 interface NSString MyNSString property nona
  • Pandas模块:Python科学计算神器之一

    欢迎来到我的博客 作者 秋无之地 简介 CSDN爬虫 后端 大数据领域创作者 目前从事python爬虫 后端和大数据等相关工作 主要擅长领域有 爬虫 后端 大数据开发 数据分析等 欢迎小伙伴们点赞 收藏 留言 关注 关注必回关 上一篇文章已
  • JSON和String的相互转换

    1 java转JSON JSON toJSONString 将java对象 java集合 Json对象转为jsonString JSON toJSON 将java对象 java集合转为json对象 3 JSON转Java JSON pars
  • java中如何创建一个多线程类呢?

    转自 java中如何创建一个多线程类呢 下文笔者讲述创建多线程类的方法分享 如下所示 实现思路 方式1 继承Thread类 重新Run方法 方式2 继承Runnable接口 重写Run方法 方式3 使用拉姆达表达式 例 package co
  • 陷波滤波器(Notch Filter)和峰值滤波器(Peak Filter)

    陷波滤波器 Notch Filter 陷波滤波器是带阻滤波器的一种 其阻带很窄 因此也称点阻滤波器 常常用于去除固定频率分量或阻带很窄的地方 如用于去除直流分量 去除某些特定频率分量 峰值滤波器与陷波滤波器恰好相反 峰值滤波器是带通滤波器的
  • Sublime Text 3高亮主题配置

    之前由于sublime的默认主题 灰白 比较难看 所以用得少 最近找到了一个比较漂亮的主题 再次因为sublime的轻便再次高频使用 先上图 以下是python代码的显示情况 这里使用的是theme freesia主题1 该主题下还有很多配
  • 构建模型三要素与权重初始化

    学习过程中的好文 谨防失效 转载自博客园 结合此篇看 1 模型三要素 三要素其实很简单 必须要继承nn Module这个类 要让PyTorch知道这个类是一个Module 在 init self 中设置好需要的组件 比如conv pooli
  • 操作数及寻址方式

    操作数是什么 操作数是指 指令执行的操作所需要数据的来源 操作数是汇编语言指令的一个字段 例如 Mov AX 5678H操作数 AX 5678H 在操作数这个字段中可以放操作数本身 也可以放操作地址 还可以放操作地址的计算方法 通常一条指令
  • 数据结构之链表及LinkedList源码分析

    链表 1 概念 链表 Linked list 是一种物理存储单元上非连续 非顺序的存储结构 数据元素的逻辑顺序是通过链表中的指针链接次序实现的 链表由一系列结点 链表中每一 个元素称为结点 组成 结点可以在运行时动态生成 每个结点包括两个部
  • 设置Qt窗体透明度

    第一步给窗体设置属性 setWindowFlags Qt FramelessWindowHint setAttribute Qt WA TranslucentBackground 第二部重写paintevent 方法 void Loadin
  • GPG 错误由于没有公钥,无法验证下列签名

    问题描述 输入apt get update 时 提示 没有数字签名 无法安全地用该源进行更新 所以默认禁用该源 主要原因是由于apt get update没有公钥 无法验证下列签名 错误 1 http mirrors aliyun com
  • Vuex状态管理详解

    Vuex详解 学习目录 vuex介绍 解释 Vuex是一个专门为Vue js应用程序开发的状态管理模式 它采用集中式存储管理应用的所有组件 并以相应的规则保证状态以一种可预测的方式发生变化 配套的公共数据管理工具 它可以把一些共享的数据放到
  • Styles and Themes

    http blog csdn net recordgrowth article details 52310974
  • 下载matlab内存不足怎么办,MATLAB 内存不足 "Out of memory" 解决办法

    如果你的系统是32位系统 进程最大支配2G空间 另外2G给系统进程了 在使用matlab 运行耗内存程序时候 会可能出现 out of memory 错误 这是因为matlab没有足够内存可以使用的缘故 解决的简单方法是加内存和升级为64位
  • Flash Linux to eMMC

    实验目的 从eMMC启动Linux系统 Step1 确定eMMC被挂在哪个设备 哪个设备含有boot0分区和boot1分区 就是eMMC 实验中是位于mmcblk1上 root am64xx evm ls l dev mmcblk brw
  • QT入门Input Widgets之QScrollBar

    目录 一 界面布局功能 1 界面位置介绍 2 控件界面基本属性 2 1 horizontalScrollBar界面属性 3 样式设置 此文为作者原创 创作不易 转载请标明出处 一 界面布局功能 1 界面位置介绍 QScrollBar主要分为
  • Python使用Matplotlib可视化多组并排的柱状图

    Python使用Matplotlib可视化多组并排的柱状图 Matplotlib是Python中最流行的数据可视化库之一 它可以创建各种类型的图表 包括线性图 散点图 饼图等等 在本文中 我们将重点介绍如何使用Matplotlib库创建多组
  • CyclicBarrier调试

    一CyclicBarrier 控制所有线程等待 知道达到某种条件 所有的线程才会继续走下去 是一个同步工具类 它允许一组线程互相等待 直到到达某个公共屏障点才停止等待 与CountDownLatch不同的是该barrier 屏障 在释放等待
  • 在vw中运行linux,Windows系统直接运行Linux,竟是如此简单

    要想在Windows10以前的系统上 运行Linux程序是比较复杂的 需要使用cygwin之类的工具 不仅下载慢 而且功能有限 后来出现了诸如VirtualBox VMWare Workstation和Microsoft Hyper V之类