WSL2 系列(一) 初识WSL2

微软前CEO鲍尔默曾说,Linux就是一个癌症,当时微软不待见Linux可能不仅仅是商业考虑,也是真心看不上“乌合之众”搞的这套操作系统。现在呢,互联网上的服务器大部分是Linux,越来越多的企业服务器选择了linux,就连微软也开始拥抱Linux了,推出了windows的Linux子系统,简称WSL。

Linux各发行版越做越强大,界面也越来越漂亮,但在桌面操作系统领域,如果选一个作为主操作系统的话,大部分人不会选择Linux,基本还是MacOS和Windows二选一。学习、开发、测试中的用到的Linux系统和服务器,很多人通过VMWare、virtualBox或Hyper-v来搭建虚拟机环境,这些管理工具创建的虚拟机其实还是比较笨重的,多台虚拟机环境的搭建也是比较麻烦的。我们可以使用微软的WSL来搭建各种Linux环境,WSL非常轻量,搭建一台linux虚拟机只需几秒。

目前的WSL版本是WSL2,她和WSL1很不同,WSL1提供了Linux和Windows的转换层,而WSL2直接使用虚拟化技术,性能也更高,本篇及之后的WSL文章都以WSL2做实例。

WSL2对windows的版本是有要求的,最低是windows10 2004 (Version 2004 OS Build 19041.264)上才可能运行,可以运行winver命令调出查看版本。WSL2只要Windows10家庭版就可使用,无需专业版或企业版。

图片

添加WSL2功能:

查找windows features,打开”启用或关闭Windows功能”面板,选中“适用于Linux的Windows子系统”和“虚拟机平台”两个功能,无需添加hyper-v(实际上家庭版无此功能),点确定,系统开始安装,安装完成后,再重启系统。

图片
图片

更新WSL2内核

访问 https://aka.ms/wsl2kernel,下载WSL2最新Linux内核并安装。

图片

安装ubuntu系统

查找“Microsoft store”,打开应用商店查找“ubuntu”,本次选择安装ubuntu20.04。安装后启动。

图片

提示新建用户,新建kelemi,Ubuntu环境就搭好了。

图片

下次要使用该系统,只需在Windows搜索框搜索ubuntu,或直接在菜单栏找到Ubuntu就可以了。

WSL版本切换测试

打开powers hell,输入命令 wsl -l -v

可以看到运行的linux系统以及wsl的版本为2

我们可以尝试将WSL切换版本测试

wsl –set-version Ubuntu-20.04 1

wsl –set-version Ubuntu-20.04 2

Ubuntu-20.04是上一步wsl -l -v查到的linux系统,1表示为wsl1,2表示为wsl2,

图片

我们也可以改变WSL的默认版本。

wsl –set-default-version 1

上面命令将改变wsl的默认版本为1。当然,我们将保持默认版本为2。

图片

安装第二个Ubuntu

再从应用商店下载一个ubuntu 18.04。完成后如图。

uname -a

lsb_release -a 查看

图片

这样我们的机器里有windows10(宿主),ubuntu18.04,以及ubuntu20.04同时在运行。即使关掉两个ubuntu的shell,她们还在运行。

可以在powershell输入wsl -l -v查看。

图片

如里wsl不加参数直接运行,就直接进入了ubuntu20.04

图片

查看帮助及建议

在PowerShell中输入wsl –help查看帮助,可以看到关闭命令为

wsl –shutdown

这样将关闭两个ubuntu,可以用wsl -l -v验证。

一般建议,用了wsl 不要再用 vmware或virtualBox,可能会比较慢,存在虚拟化嵌套问题。

WSL非常轻量,适合快速编译、部署、学习,而且她跟windows是紧密结合的。

比如在linux下某目录下运行

code .

将打开windows的vscode并开启编辑,系统提示安装WSL插件

然后就可以在windows下用vscode编辑、编译linux下的代码,相当于远程开发。

在ubuntu中可以用df -h查看,发现windows系统也也是挂载的,比如C盘就是/mnt/c,这样就很方便地从Linux管理Windows系统的文件了。

图片

下一篇预告

本篇初步介绍了WSL2的安装使用,下一篇将介绍 如何在WSL中使用Docker。

发表评论

您的邮箱地址不会被公开。 必填项已用 * 标注