这里的重点甚至不是Windows或Linux,而是我们应该先选择Hyper-V还是KVM。解决了这个问题后,Windows和Ubuntu堆栈都可以通过一些调整在彼此之上顺利运行。最近发生的一系列事件让人怀疑微软是否打算在Linux内核之上重构Windows。对于微软积极参与Linux项目,我个人有一点自己的看法。作为Canonical桌面团队的一员,我负责在适用于Linux的Windows子系统(WSL)上交付Ubuntu。那时候,我经常和很多参与Linux等开源项目的微软员工交流,也能得到微软产品和发展战略的最新简报。但在这里我要向大家声明,以下内容只是我个人的推测,不适合发表的内容我不会透露。我很高兴在Microsoft和Linux社区之间找到自己的位置。这两个社区都充满了富有创造力、善良和魅力的成员。随着社区之间的界限逐渐模糊,无数新的成就接踵而至。这有点像自然界中的异花授粉,让每一株植物都更加旺盛。默认情况下,WSL不做无人值守的升级,因为没有像systemd这样传统的init在后台执行升级。您可以在Windows任务管理器中设置一个基本任务,以在登录时以root身份运行aptupdate,然后添加一个操作来运行aptupgrade到该任务:RunautomaticupdatesonUbuntuonWSLusingWindowsTaskManager由于产品和工程方面的考虑,能否将Windows操作系统内核转移到Linux内核,值得怀疑。下面请听我的想法。首先,我理解为什么最近Slashdot和HackerNews经常发表这样的观点:典型的头条党行为。对于开源和Linux的拥护者来说,这是他们一直在等待的结局。Windows在当今世界中的角色正在发生变化。在这块巨大的系统市场蛋糕中,Android、iOS、MacOS、ChromeOS和Ubuntu牢牢占据着自己的一块。随着将LinuxonAzure与WSL一起使用的可能性,这种猜测的可信度开始增加。Windows和Linux的存在代表了宇宙的二元性。这是两种相互对立、相辅相成、不可分割的力量。而将两者结合起来,就像是一种神奇的魔法。“在与Windows和MacOS竞争的过程中,Linux逐渐成长为一个优秀的操作系统。”而且我认为Windows不太可能切换到Linux内核,原因如下:1.Windows中的NT内核可以提供一定程度的向下兼容性,长期支持,驱动可用性都是Linux最近才做的事情朝向。在Linux中重现这些功能将花费数百万美元。微软的许多付费客户未来也将继续支持Windows。正如微软所说,Windows不是他们的负担,因此不存在为了省钱而切换到Linux内核的情况。另外,即使真的迁移到Linux,也可能导致单一内核背景下的畸形文化。事实上,正是在与Windows和MacOS竞争的过程中,Linux逐渐成长为一个优秀的操作系统。一个更合理的结果是开源创新继续流入和流出所有操作系统。Windows和Linux开源贡献者将分享这两个生态系统的精华。2、Windows用户空间是否可以在继续保持Windows强大的兼容性,尤其是企业客户付费的关键任务应用程序兼容性的同时,将Windows用户空间从NT重新迁移到Linux内核尚不清楚。Windows并没有像Linux那样对内核空间和用户空间进行严格的划分。NT内核包含大约400个有据可查的系统调用,以及大约1700个有据可查的Win32API调用。在这种情况下保证Windows开发人员及其工具的精确兼容性必然涉及大量的重新实现工作。Linux在amd64上只有313个syscall,但即便如此,当微软将WSL1中的syscall事务层移动到WSL2中的虚拟内核以重新实现开发人员之前一直在使用的数十种非标准LinuxABI操作时,也遇到了巨大的阻力.显然,在SQLServeronLinux中实现NT相关的兼容性是比较容易的,但是为数百万开发者的应用程序提供兼容性保证不是口头上说的。3.微软近年来在Windows上投入了大量资源。微软之前在Windows10的可用性、新功能和性能改进方面的努力也得到了回报。这些改进,连同OEM合作伙伴关系和Surface的推出,重振了曾经被iPad和Chromebook重创的PC市场。微软一直致力于让Windows成为一个优秀的开发平台,相关项目包括WindowsTerminal、PowerToys、WindowsSubsystemforLinux和VisualStudio2019。Insiders计划也非常成功。Windows为大部分Surface设备系列提供支持,并且它现在是Microsoft的一大重点。2018年和2020年的内部重组也表明Surface已经成为Windows未来发展的重要元素。Windows还在为Xbox提供动力,同时继续主导着庞大的PC游戏市场。最后,微软提出了Windows10X的想法,称10X将成为继Windows10之后下一代操作系统的概念,有望与SurfaceNeo等未来的硬件平台相匹配。4、微软不需要使用Linux内核,在市场上就有强大的生命力。在移动市场遭遇滑铁卢后,微软意识到设备格局正在发生变化。在操作系统和平台市场,Android、Ubuntu、iOS、MacOS、Alexa、ChromeOS都在为x86、ARM等各种计算设备提供底层支持。微软还证明,他们完全有能力在其他平台上提供强大的产品和服务,同时继续在其Windows遗留平台上保持显着的竞争力。微软还在基于Android的移动领域推动创新,包括移植Office应用程序、推出主屏幕启动器和新的SurfaceDuo。在Ubuntu上,微软已经为Linux工作站、.NET、Azure工具、Teams、PowerShell、SysinternalsforLinux、即将推出的Edge浏览器和支持的MicrosoftWeb开发工具提供了代码。想在Azure上运行Ubuntu?微软已经提供开箱即用的服务,并与Canonical密切合作,带来更好的体验。更重要的问题不是微软是否打算将Windows迁移到Linux,而是Windows打算在开源道路上走多远。我们已经看到WindowsTerminal、PowerToys等组件要么开始使用开源结果,要么正计划转为开源。因此,一个更现实和合乎逻辑的目标将是以一种可以使其他操作系统受益的方式继续开放Windows组件甚至Windows本身的开发过程。Insiders计划只是这一转变的第一步。Windows甚至采用了Ubuntu的发布节奏,从每年4月和10月的新版本开始,同时在固定版本中引入扩展支持。微软的一篇博文印证了我个人的判断,对抗性的桌面操作系统时代即将结束。我们正在进入一个高端工作站将同时运行多个操作系统(类似于运行时)的新时代。所以这里的重点甚至不是Windows或Linux,而是我们应该先选择Hyper-V还是KVM。解决了这个问题后,Windows和Ubuntu堆栈都可以通过一些调整在彼此之上顺利运行。微软为Linux内核提供补丁,使Linux在Hyper-V上正常运行;它还调整Windows以与KVM很好地配合。由于微软作为一个整体正在走向开源,Ubuntu的一部分将走向Windows,而Windows的一部分将走向Linux。最关键的背景是开源已经成为软件界的王者,微软为自己对开源开发模式的贡献感到无比自豪。Windows和Ubuntu都只有一条路可走——通过开源不断完善自己。两者都将发挥各自的优势,并将开源协作的范围提升到新的高度。在WSL上为GUI支持所做的工作有可能极大地改善Linux上的远程桌面和Windows虚拟化体验。
