作者 | 梁桂钊

来源 | 服务端思维(gh_c3775931ac9d)

头图 | CSDN下载自视觉中国

今天,我跟大家分享一个好玩的东西:WSL 2(Windows Subsystem for Linux 2)。WSL 2 很有意思,它是基于Hyper-V 功能的子集提供了“真正的 Linux 内核”。怎么理解这句话呢?大家设想,我们平时的研发办公环境需要Windows,而开发环境需要 Linux 系统,我们会怎么做?

  • 方案一:安装主机双系统,实现物理隔离。

  • 方案二:安装虚拟机,例如使用 VMware 来实现完整的使用体验。

  • 方案三:使用 Docker 容器。

其中,方案一成本最高,需要两台以上的物理机,而方案二资源消耗大、运行效率低,而方案三“容器化”方案是我们目前较多采用的方案。而最新的 Windows 版本(对于x64系统:版本1903或更高版本,以及内部版本18362或更高版本)通过 WSL2 技术支持在原生的系统上使用到 Linux 内核,实现 Linux 子系统化。

WSL 2 使用之旅

现在,让我们来一探究竟吧。要更新到WSL 2,我们必须正在运行 Windows 10。这里,官方对于 Windows 10 版本是由要求的。

  • 对于 x64 系统:版本 1903 或更高版本,以及内部版本 18362 或更高版本。

  • 对于 ARM64 系统:2004 或更高版本,内部版本19041或更高。

  • 低于18362 的内部版本不支持 WSL2。使用 Windows Update Assistant 来更新 Windows 版本。

我们可以通过选择Windows徽标键+ R键入winver,然后选择确定。

下图,就是我的电脑的版本号了。如果你运行的是 Windows 10 版本1903 或 1909,请从 Windows 菜单中打开“设置”,导航至“更新和安全”,然后选择“检查更新”。

紧接着,我们需要确保开启 适用于 Linux 的 Windows 子系统 和 虚拟机平台 配置项。

这里,我们也可以以管理员身份打开 PowerShell 用命令方式安装。

首先启用 虚拟机平台 功能。

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

然后重启下,启用 适用于 Linux 的 Windows 子系统 功能。

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

然后呢,我们还需要下载最新 Linux 内核更新程序包。下载地址:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi

安装完成后,将 WSL 2 设置为默认版本。

wsl --set-default-version 2
最后,我们安装自己需要的 Linux 发行版。

我比较熟悉使用 CentOS,而应用商店中的 CentOS 是收费版本,而 github 上面有 CentOS 官方开源的安装包,我们这里使用 github 上的安装包进行安装。地址:https://github.com/CentOS/sig-cloud-instance-images/

安装完毕后,进入命令行,可以查看版本清单。

wsl -list -verbose

通过输入 wsl 命令都可以进入CentOS7系统。

至此,我们可以在原生的 Windows 10 玩转 Linux 系统了。

Docker Desktop WSL 2

现在,我来说一个更好玩的特性。因为,WSL 2 引入了重大的体系结构更改,它是由 Microsoft 构建的完整 Linux 内核,允许 Linux 容器在没有仿真的情况下本机运行。因此,通过在 WSL 2 上运行的 Docker Desktop,用户可以利用 Linux 工作区。此外,WSL 2 改进了文件系统共享,启动时间,并允许 Docker Desktop 用户访问一些很酷的新功能。Docker Desktop 使用 WSL 2 中的动态内存分配功能极大地减少了资源消耗。这意味着,Docker Desktop仅使用所需数量的所需 CPU 和内存资源,同时使 CPU 和内存密集型任务(如构建容器)运行得更快。此外,使用WSL 2,冷启动后启动 Docker 守护程序所需的时间明显更快。与之前版本的 Docker Desktop 几乎需要一分钟相比,启动 Docker 守护程序所需的时间不到 10 秒。

在安装 Docker Desktop WSL 2 之前,必须完成以下步骤:

  • 下载 Docker Desktop Stable 2.3.0.2 或更高版本。

  • 安装 Windows 10 版本 1903 或更高版本。

  • 在 Windows 上启用 WSL 2 功能。

参考文献

1、Windows Subsystem for Linux Installation Guide for Windows 10

2、Docker Desktop WSL 2 backend

推 荐

CSDN公众号全新搜索技能上线啦!

只要在公众号后台回复消息

就能自动回复想搜索的内容啦!

简直是程序员必备的搜索神器!

猜猜回复“Mysql安装”会出现什么

WSL2:我在原生的Win10玩转Linux系统相关推荐

  1. win10变Linux风,雨林风木为你win10系统安装运行linux系统的图文教程

    win10安装系统是最常见的电脑系统,可是有很多用户在操作过程中都有遇见对win10系统安装运行linux系统进行处理的问题.大多数客户在计算机技术方面还是新手,有关win10系统安装运行linux系 ...

  2. CrossOver Mac2022虚拟机如何安装win10系统和linux系统

    虚拟机怎么安装win10系统 虚拟机怎么安装linux系统? Win10系统自2015年正式发布至今已有6年的时间,经历过数次更新,同时在这期间,许多开发的应用都基于该系统,兼容性.稳定性都较好.Li ...

  3. 如何处理win10系统内置Linux系统闪退问题

    2019独角兽企业重金招聘Python工程师标准>>> 导读 win10系统的功能非常强大,能够很好地支持Linux系统.不过,最近一些朋友反馈自己在win10系统下使用内置Linu ...

  4. 玩转LInux系统02--虚拟机使用和常用操作

    玩转LInux02 一.linux发展史 1.简介 unix:是一款操作系统,收费的,有钱人用的东西 mnix:unix的简化版,也收费,还可以接受 林纳斯用自己压岁钱,买了mnix,自己写了一个li ...

  5. linux系统可以装win10吗,教大家1个能在win10安装运行Linux系统的方法

    在去年的Build 2017开发者大会上,微软宣布了一个令人振奋的消息,包括Ubuntu.SUSE Linux和Fedora在内的三款最受欢迎的Linux发行版本系统都将登陆Windows Store ...

  6. Win10内置Linux系统(Ubuntu)的开启及使用

    实验室的开发环境在Linux操作系统下,时不时就需要打开Linux环境去操作,而且需要本地编译或者远程SSH.这时候window和Linux切换很不方便.本科的做法就是window+虚拟机的Linux ...

  7. win10下深度linux系统怎么安装,u深度win10pe安装win10系统教程

    怎么快速使用u深度win10pe安装win10系统对于一些电脑小白来说非常困难,网络上很多操作教程对于具体要如何操作都概括不全.这里u深度小编带来了当下最新的win10pe安装win10系统操作步骤. ...

  8. 玩转Linux系统用户管理

    linux系统是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统. 用户的账号一方面可以帮助系统管理员对使用系统的用户进行 ...

  9. 使用win10 hyper-v安装linux系统

    1.控制面板---程序---启动或关闭windows功能---启动hyper-v管理器---重启 2.配置网络 因为公司内网通过ip验证,而通过桥接的方式,虚拟机就相当于物理机所在的网络中的一台真实主 ...

最新文章

  1. Shortest Distance from All Buildings
  2. LIGHTOJ 1005(组合数学)
  3. HDU - 3416 Marriage Match IV(最大流+最短路)
  4. 下一个排列Python解法
  5. Java中的回调机制,这篇给你整的明明白白的
  6. Map.Entry使用详解
  7. 多算法综合的文本挖掘系统
  8. Apple在线商店iphone5, ipad mini到货提醒 - 邮件
  9. Zendframework 模块加载事件触发顺序。
  10. 双方确认函_影片份额转让合同约定第一出品方出具确认函后合同生效,未出具而受让方支付投资款的,合同也生效...
  11. java 自定义表单 动态表单 表单设计器 工作流引擎 flowable 设计方案
  12. 反虚拟机、反沙箱技术整理汇总
  13. 走向.NET架构设计---第二章:设计 测试 代码
  14. 前端面试录音整理(私人版)
  15. 360云盘php,360云盘外链解析php源码
  16. H5扫描二维码获取内容
  17. YOUChain有链与朗新天霁共建区块链职信数字资产平台
  18. 一招技巧解决360搜索结果页展示网站LOGO
  19. Centos 7分辨率调整成适应虚拟机屏幕大小
  20. 无人驾驶车辆路径规划及轨迹跟踪控制学习笔记(2)

热门文章

  1. 数据结构——树状数组
  2. 《软件需求十步走》读书笔记02
  3. 【转】去除inline-block元素的间隙
  4. 【文件系统】NTFS、FAT32、exFAT
  5. 深入分析AsyncTask
  6. 输出最长上升子序列 模型(DP)
  7. 生成缩略图代码(转帖)
  8. CSS光标属性一览表
  9. [论文阅读] Maintaining Discrimination and Fairness in Class Incremental Learning
  10. [论文阅读] AMPNet: Average- and Max-Pool Networks for Salient Object Detection