双系统的日子结束了:Windows和Linux将合二为一

珠江路在线   2020年7月7日  【 转载 】 

双系统的日子


结束了:Windows和Linux将合二为一

图源:unsplash


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


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


小编着手搭建了一个机器学习工作站;出众的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 进行交互的 模式 。


双系统的日子


结束了:Windows和Linux将合二为一

该版本 遍及了文件系统性能,添加了 彻底的系统调用兼容性 。固然,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将合二为一

最终,安装所选Linux 散发版 。 打开微软商店,查找Ubuntu 20.04LTS 。安装 实现后,在开始菜单上找到一个新的Ubuntu 利用,启动并依照 注明 实现安装 。


审查所选Linux 散发版是不是设置为WSL 2,请运行wsl --list –verbose 。若所选Linux 散发版受WSL 1 支撑,请运行wsl --set-version  。


实现啦!这样就 能够有一个 完全的Ubuntu 散发版在Windows 10中运行了 。


双系统的日子


结束了:Windows和Linux将合二为一

开发人员工作站


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


双系统的日子


结束了:Windows和Linux将合二为一

图源:unsplash


有两个工具小编想重点讲一下: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将合二为一

启动Dockerfor WSL 2


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


双系统的日子


结束了:Windows和Linux将合二为一

启用Kuberneteson WSL 2


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


双系统的日子


结束了:Windows和Linux将合二为一

Docker和Kubernetes在WSL 2中运行


福利:The new Windows Terminal


利用商店将新的Windows Terminal定义为一个现代化、 快捷、高效、 壮大、高产的终端工具,供命令行工具和shell(如命令 揭示符,PowerShell和WSL)的消费者 使用,重要 性能包含多Tab 支撑、窗格、Unicode和UTF-8字符 支撑、基于 GPU 运算的文本渲染引擎,以及自定义主题、 款式和配置 。


此外,它十分 好看, 能够通过它的可 拜访设置(仅仅是一个JSON文件)为所欲为地设置 款式 。

双系统的日子


结束了:Windows和Linux将合二为一

产品路线图


双系统的日子


结束了:Windows和Linux将合二为一

图源:unsplash


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


开发者最等待的 性能有两个:GPU 支撑和GUI 利用 支撑 。自从WSL 1公布以来,向 WSL 添加 CUDA 和/或 GPU Compute 支撑向来占领很高的呼声 。过去几年中,WSL、Virtualization、DirectX、Windows Driver 团队,以及他们的芯片合作 搭档向来在致力于提供此 性能 。


双系统的日子


结束了:Windows和Linux将合二为一

在WSL 2上训练深度学习模型(启用CUDA)


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


双系统的日子


结束了:Windows和Linux将合二为一

WSL2 支撑Linux GUI


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


双系统的日子


结束了:Windows和Linux将合二为一

留言点赞关注

我们一同分享AI学习与进展的干货