0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Windows和Linux虚拟机的双系统结合工具WSL 2

如意 来源:读芯术 作者:读芯术 2020-07-07 10:47 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

很长一段时间以来,双系统是我唯一的解决方案。

我一直在用的是一台苹果笔记本,它几乎可以做任何事:开发、写提案、创作音乐等。但它也不是十全十美的,我很害怕供应商被锁定,也担心自己过于依赖苹果的奇思妙想,因此我也在寻求新的解决方案。

笔者着手搭建了一个机器学习工作站;出色的CPU、大量的RAM和性能极佳的GPU等等。除了要用Microsoft Office写提案,我选择用的操作系统几乎都是Ubuntu。

Office online还没有面市,而LibreOffice很糟糕。因此,我的解决方案是安装Ubuntu和Windows 10双系统。从苹果系统切换到Ubuntu非常自由,而且选择构建个人PC几乎没有界限。

在无数次系统切换之后,WSL出现了。笔者开始将工作流程的一部分移到Windows,但还是有很多功能缺失。然而,WSL 2似乎改变了游戏规则。本文将为你展示这些奇妙的改变。

什么是WSL 2

WSL 2是WSL中体系结构的新版本,它更改了 Linux 与 Windows 进行交互的方式。

该版本提高了文件系统性能,增加了完全的系统调用兼容性。当然,Linux 分发版可以作为 WSL 1或 WSL 2运行,你可以自行选择,并且可以随时在它们之间进行切换。

WSL 2 是对基础体系结构的一次重大改造,它使用虚拟化技术和 Linux 内核来实现其新功能。微软处理了琐碎的细节,这样你就可以专注于重要的事情了。

安装

微软承诺将在不久的将来会为WSL 2提供流畅的安装体验,并且能够通过Windows更新来更新Linux内核。但目前的安装过程有点复杂,但也不必太过忧虑。

示例中将在Windows 10上安装Ubuntu20.04,但其实对于微软商店中的任何分发版来说,安装过程都是一样的。首先,启用“适用于 Linux 的 Windows 子系统”可选功能。以管理员身份打开PowerShell并运行:

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

接下来,将系统更新到WSL 2,必须满足以下条件:Windows 10已更新到版本2004;在BIOS设置中启用Intel的“虚拟机平台”。然后,以管理员身份启动PowerShell并运行:

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

接着重新启动计算机,以完成 WSL安装并更新到 WSL 2。然后,在安装新发行版时,将WSL 2设置为默认版本。以管理员身份打开PowerShell 并运行以下命令,以将 WSL 2设置为默认版本:

wsl --set-default-version 2

运行该命令后可能会看到以下命令:

WSL 2 requires anupdate to its kernel component. For information please visithttps://aka.ms/wsl2kernel.

按照链接从该页安装,在计算机上安装一个Linux内核,供WSL 2使用。安装内核后,再次运行该命令,该命令成功完成。

Windows和Linux虚拟机的双系统结合工具WSL 2

最后,安装所选Linux分发版。打开微软商店,搜索Ubuntu 20.04LTS。安装完成后,在开始菜单上找到一个新的Ubuntu应用,启动并按照说明完成安装。

检查所选Linux分发版是否设置为WSL 2,请运行wsl --list –verbose。若所选Linux分发版受WSL 1支持,请运行wsl --set-version《distribution name》 《versionNumber》。

完成啦!这样就可以有一个完整的Ubuntu分发版在Windows 10中运行了。

开发人员工作站

Ubuntu已经准备好,现在你可以安装任何所需程序了。如果你是数据科学家,可以安装最新的Anaconda发行版;如果你是前端工程师,则可以安装angular和npm等。

有两个工具笔者想重点讲一下:Visual Studio Code和Docker + Kubernetes。

VisualStudio Code

Visual Studio Code是许多开发人员选择的集成开发环境(IDE),现在已启用WSL 2,VS Code的远程开发扩展包(Remote Development)绝对必不可少。

此插件支持WSL 2、容器映像甚至通过SSH的远程VM上的源代码进行远程开发。因此,现在可以在受WSL 2支持的Linux分发版中创建项目文件夹,并使用安装在Windows 10上的Visual Studio Code编辑器作为IDE。

它的功能包括:全语言支持IntelliSense,git集成, Visual Studio Code扩展,调试器和终端。

Docker +Kubernetes

Docker for Windows很出色,但它缺少一样笔者最想要的东西,因此每当需要为代码构建docker映像时,我就得在Windows和Ubuntu之间切换。但WSL 2完全支持docker,这甚至比纯粹的Linux体验更好。

若要启动,请点击Docker Desktop设置,勾选启用基于WSL 2的引擎复选框 Use the WSL 2 basedengine 。

Windows和Linux虚拟机的双系统结合工具WSL 2

此外,可以通过点击设置中的Kubernetes按钮,勾选Restart Kubernetes Cluster复选框,来运行本地Kubernetes集群。

Windows和Linux虚拟机的双系统结合工具WSL 2

现在,可以切换回WSL 2中的Ubuntu,运行docker version或kubectl version ,并确认这两个版本已经启动并运行。

福利:The new Windows Terminal

应用商店将新的Windows Terminal定义为一个现代化、快速、高效、强大、高产的终端工具,供命令行工具和shell(如命令提示符,PowerShell和WSL)的用户使用,主要功能包括多Tab支持、窗格、Unicode和UTF-8字符支持、基于 GPU 运算的文本渲染引擎,以及自定义主题、样式和配置。

此外,它非常美观,可以通过它的可访问设置(仅仅是一个JSON文件)随心所欲地设置样式。

产品路线图

虽然现在仍然缺少一些功能,但WSL 2运行已经畅通无阻了。在接下来的几个月里,我们还可以用一个命令安装WSL。打开一个Windows Terminal并输入 wsl.exe --install。此外,在首次进行安装时,WSL 2将成为默认版本。

开发者最期待的功能有两个:GPU支持和GUI应用支持。自从WSL 1发布以来,向 WSL 添加 CUDA 和/或 GPU Compute 支持一直占据很高的呼声。过去几年中,WSL、Virtualization、DirectX、Windows Driver 团队,以及他们的芯片合作伙伴一直在致力于提供此功能。

此外,Linux还将支持GUI应用程序。例如,可以在已安装的Linux环境中运行首选的Linux GUI文本编辑器或IDE,甚至可以在Windows机器上开发Linux GUI应用程序!

WSL 2完全有能力将Windows PC变成运行Linux分发版的开发人员工作站,它速度在线,功能在线,未来还有更多值得探索的东西。双系统的日子就要结束了,更极致的体验已然到来。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Linux
    +关注

    关注

    88

    文章

    11807

    浏览量

    219508
  • WINDOWS
    +关注

    关注

    4

    文章

    3705

    浏览量

    94305
  • 机器学习
    +关注

    关注

    67

    文章

    8561

    浏览量

    137208
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    虚拟机数据恢复—虚拟机vmdk文件被删除的数据恢复案例

    本次数据恢复涉及一台R710系列服务器和一台MD3200系列存储,上层是ESXI5.5版本的虚拟机虚拟文件。因客户机房非正常断电,虚拟机无法启动。机房管理员检查发现虚拟机配置文件丢失
    的头像 发表于 02-10 17:05 475次阅读
    <b class='flag-5'>虚拟机</b>数据恢复—<b class='flag-5'>虚拟机</b>vmdk文件被删除的数据恢复案例

    技术解析 | 睿擎平台AMP虚拟网卡:突破双系统通信瓶颈的创新方案

    在工业物联网和边缘计算领域,多操作系统协同工作已成为一种重要趋势。然而,不同操作系统之间的高效通信一直是开发者面临的技术挑战。睿擎平台重磅发布的AMP虚拟网卡技术,为Linux和RT-
    的头像 发表于 01-21 19:06 5587次阅读
    技术解析 | 睿擎平台AMP<b class='flag-5'>虚拟</b>网卡:突破<b class='flag-5'>双系统</b>通信瓶颈的创新方案

    虚拟机数据恢复—异常断电致ESXI存储失联?这份实战数据恢复案例请收好

    服务器存储数据恢复环境: 一台服务器上部署esxi虚拟化平台。上层采用通过FreeNAS构建的iSCSI方式FCSAN功能,FreeNAS层采用UFS2文件系统。 esxi虚拟
    的头像 发表于 11-11 14:11 375次阅读

    Hbirdv2 OpenOCD的编译

    Visual Studio Code支持,首先下载安装WSL,并升级到WSL2。 1.开始菜单搜索“启用或关闭 Windows 功能”将适用于Linux的Window子
    发表于 10-31 08:24

    飞凌嵌入式ElfBoard-Vim编辑器之windows与ubuntu系统互传文件

    共享文件夹ubuntu和Windows主机之间的文件传输有很多种,安装VMware Tools后,可以设置虚拟机共享文件夹,将Windows主机的文件目录挂载到ubuntu中,实现文件共享。设置方法
    发表于 10-20 08:46

    搭建自己的ubuntu系统之VMware Tools安装

    接下来安装VMware Tools,如果不安装该工具,在Windows主机和虚拟机之间无法使用复制粘贴、文件拖拽。首先右击VMware导航栏上的“虚拟机”,然后在下拉框中点击“安装VM
    发表于 09-25 09:45

    搭建自己的ubuntu系统之创建ubuntu虚拟机

    点击“下一步”完成。指定磁盘文件,这里默认即可。默认点击“完成”即可。至此,虚拟机创建完成。下一小节中我们介绍系统虚拟机中的安装,其在真中的安装方法与
    发表于 09-25 09:39

    ubuntu系统安装之Vmware虚拟机安装

    Linux操作系统有很多版本,我们选择使用的是ubuntu18.04发行版。ubuntu是基于Debian派生的操作系统,兼容性极强,ubuntu的特点是界面友好,容易上手。本文中的介绍及开发均是在
    发表于 09-22 16:27

    创龙 瑞芯微 RK3562 国产 2GHz 四核A53 工业开发板—Linux开发环境搭建

    虚拟系统是指通过虚拟机软件,在已有的物理计算机下,模拟出具有完整的硬件功能,而且完全独立的一个虚拟计算机系统。通过
    的头像 发表于 07-01 10:27 742次阅读
    创龙 瑞芯微 RK3562 国产 <b class='flag-5'>2</b>GHz 四核A53 工业开发板—<b class='flag-5'>Linux</b>开发环境搭建

    WSL 1 和 WSL 2 的区别是什么

    PS C:\Users\Administrator> wsl --set-default-version 2 >> 有关与 WSL 2 的主要区别的信息,请访问 https://a
    的头像 发表于 06-27 10:25 3022次阅读

    中软国际鸿云虚拟机安装指南

    虚拟化解决方案,鸿云虚拟机不仅解决了兼容性难题,更通过深度优化的技术架构,让Windows专业软件在鸿蒙环境中获得接近原生的性能表现。
    的头像 发表于 06-23 16:31 5325次阅读

    TECS OpenStack资源池虚拟机网络二层地址无法互通的问题处理

    某运营商TECS OpenStack使用主机overlay SDN方案组网,运维人员在创建虚拟机测试虚拟机网络状态时发现问题:在其中一台主机上创建两台同网段虚拟机虚拟机之间二层地址无
    的头像 发表于 06-12 09:28 1008次阅读
    TECS OpenStack资源池<b class='flag-5'>虚拟机</b>网络二层地址无法互通的问题处理

    虚拟化数据恢复—XenServer虚拟化平台上VPS不可用的数据恢复案例

    虚拟化环境: 某品牌720服务器中有一组通过型号为H710P的RAID卡+4块STAT硬盘组建的RAID10,上层部署Xen Server服务器虚拟化平台。虚拟机安装的Windows
    的头像 发表于 05-30 11:35 794次阅读
    <b class='flag-5'>虚拟</b>化数据恢复—XenServer<b class='flag-5'>虚拟</b>化平台上VPS不可用的数据恢复案例

    不借助Linux系统,在Windows下如何搭建ZMC900E交叉编译环境

    不需要依赖笨重的虚拟机,也不需要安装双系统。抛开繁琐的环境准备,在Windows上轻松搭建交叉编译环境。本文将介绍如何在Windows上搭建交叉编译环境,不借助
    的头像 发表于 05-21 11:34 1066次阅读
    不借助<b class='flag-5'>Linux</b><b class='flag-5'>系统</b>,在<b class='flag-5'>Windows</b>下如何搭建ZMC900E交叉编译环境

    如何将FX3与WSLLinuxWindows系统)一起使用?

    如何将 FX3 与 WSLLinuxWindows系统)一起使用? 我在 /dev/ 中找不到任何设备 我有许多项目在 Windows
    发表于 05-06 07:11