WSL2:我在原生的Win10玩转Linux系统

2020 年 11 月 19 日 CSDN

作者 | 梁桂钊
来源 | 服务端思维(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安装”会出现什么


登录查看更多
0

相关内容

Microsoft Windows(视窗操作系统)是微软公司推出的一系列操作系统。它问世于1985年,当时是DOS之下的操作环境,而后其后续版本作逐渐发展成为个人电脑和服务器用户设计的操作系统。
【干货书】Linux命令行与shell脚本编程大全,第3版818页pdf
专知会员服务
61+阅读 · 2020年12月30日
【2020新书】使用Kubernetes开发高级平台,519页pdf
专知会员服务
66+阅读 · 2020年9月19日
【2020新书】C++20快速语法参考,第4版,209页pdf
专知会员服务
71+阅读 · 2020年8月5日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
78+阅读 · 2020年7月26日
【2020新书】使用高级C# 提升你的编程技能,412页pdf
专知会员服务
57+阅读 · 2020年6月26日
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
【开源 】.NET Core MVC快速开发系统
DotNet
4+阅读 · 2019年6月29日
Windows开源无人机仿真工具:AirSim1.0 入门
无人机
26+阅读 · 2019年6月8日
PHP使用Redis实现订阅发布与批量发送短信
安全优佳
7+阅读 · 2019年5月5日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
蜜罐正式开源-简单易用-支持16种协议
黑白之道
6+阅读 · 2019年1月18日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Neo4j 和图数据库起步
Linux中国
8+阅读 · 2017年12月20日
VIP会员
相关VIP内容
相关资讯
msf实现linux shell反弹
黑白之道
49+阅读 · 2019年8月16日
通过Docker安装谷歌足球游戏环境
CreateAMind
11+阅读 · 2019年7月7日
【开源 】.NET Core MVC快速开发系统
DotNet
4+阅读 · 2019年6月29日
Windows开源无人机仿真工具:AirSim1.0 入门
无人机
26+阅读 · 2019年6月8日
PHP使用Redis实现订阅发布与批量发送短信
安全优佳
7+阅读 · 2019年5月5日
支持多标签页的Windows终端:Fluent 终端
Python程序员
7+阅读 · 2019年4月15日
去哪儿网开源DNS管理系统OpenDnsdb
运维帮
21+阅读 · 2019年1月22日
蜜罐正式开源-简单易用-支持16种协议
黑白之道
6+阅读 · 2019年1月18日
如何用GitLab本地私有化部署代码库?
Python程序员
9+阅读 · 2018年12月29日
Neo4j 和图数据库起步
Linux中国
8+阅读 · 2017年12月20日
Top
微信扫码咨询专知VIP会员