昨晚,北京时间2016/3/30 23点30分,微软 //Build 2016 开发者大会在美国旧金山莫斯康展览中心拉开帷幕。

在本次大会上宣布,微软与 Ubuntu 的母公司 Canonical 合作开发了一个超级隐秘的项目,将 Ubuntu 的 用户空间 user space 带到了 Windows 10 之中。 据大会现场消息披露,你现在可以在 Windows 10 中直接运行 Linux 下的 bash 以及其它的数万个二进制程序了

正在旧金山参加本次大会的 Canonical 的 Ubuntu 产品与战略负责人 Dustin Kirkland 也在其博客上宣布了这个消息。

“这对于我来说也许有点奇怪,我已经快有16年没有使用 Windows 了。但在几个月前有了变化,我参与到了微软和 Canonical 合作的一个超级隐秘(也十分令人震惊)的项目中,这一切会在这次 Build 大会上由 Kevin Gallo 揭晓...”,他说,“现在可以在 Windows 10 cmd.exe 窗口内原生地运行 Ubuntu 用户空间和 bash !”

“好吧,这是一个运行在虚拟机的 Ubuntu 吗?” 不!这根本不是一个虚拟机,不用在虚拟机中启动 Linux 内核,它就是 Ubuntu 的用户空间。

“哦,那是运行在容器里面啰?” 不不!这也不是一个容器,这是在 Windows 里面直接运行原生的 Ubuntu 二进制程序。

“嗯,就像 cygwin 那样?”不不不!cygwin 所包括的开源程序是以源代码重新编译后才能原生运行在 Windows 上。而这里,我们说的是一个比特都不差、校验值完全一样的 Ubuntu 的 ELF 二进制程序可以直接运行在 Windows 下

... ...

“那么,这就像是模拟器一样么?”越来越接近真相了,来自微软的一些技术人员正在研究一种技术,将 Linux 的系统调用实时地转换为 Windows 的系统调用。你可以把它当成 Wine 的一种反向技术。微软将其称之为“ Windows 下的 Linux 子系统 Windows Subsystem for Linux ”,当然现在还没有开源。

如果你使用 Windows 10 来开发跨平台应用,那么“Ubuntu on Windows”项目将可以让你从 Windows 启动菜单直接访问 Linux 下的 bash shell。只需要键入 bash ,然后回车,就会打开一个命令行窗口,里面运行着 /bin/bash,然后数以万计的来自 Ubuntu 软件库中的二进制程序就可以运行了,包括但不限于 apt、ssh、 rsync、 find、 grep、 vim、 emacs、 awk、 sed、 ruby、 tar、 sort、php、 mysql、 perl、 python、 wget、 md5sum、 gpg、 curl、 apache、 gcc、 diff、patch 等等。

“这是 Windows 上原生可用的完整 Ubuntu 环境,不是虚拟化或模拟器,这是打破常识的里程碑和通向新天地的里程碑,”Canonical 公司 CEO Mark Shuttleworth 说,“不管怎么说,我们很高兴将 Ubuntu 带到了 Windows ,以一种神奇的方式满足了 Windows 开发者探索 Linux 的需要。”

这个技术当前基于 Ubuntu 14.04 LTS 开发,可以从 Windows Store 中下载早期 beta 版本。有关该项目的进一步技术细节,我们会在之后的文章中进行探讨。

已有 47 条评论

  1. "感觉像cygwin(https://www.cygwin.com/)?
    也像andLinux(http://andlinux.sourceforge.net/)?

    有机会想体验一下" —— kashu [Chromium 49.0|Ubuntu] 发表。
  2. 期待! —— 来自广东的 Chrome 47.0|Windows 7 用户 发表。
  3. Wine 的一种反向技术 —— 来自北京的 Firefox 45.0|FreeBSD 用户 发表。
  4. 为啥不是调转过来呢?MS这么爱开源,帮忙把wine搞好吧~~或者让Win程序可以“原生”运行在Linux上。 —— 来自北京北京大学的 Chrome 49.0|Windows 7 用户 发表。
  5. wine —— 来自四川成都的 Chrome 49.0|GNU/Linux 用户 发表。
  6. "wine=wine is not an emulator
    那么这个项目可以叫 mine=microsoft's nativeemulator" —— delectate [Firefox 45.0|Windows 10] 发表。
  7. 双内核OS要诞生的节奏吗? —— 来自四川成都的 Chrome 49.0|GNU/Linux 用户 发表。
  8. 掉过来会更好,Windows自身资源占用就很利害了,再弄个容器(虽然文章说不是容器,但我还是坚持认为他们使用了类似技术)给它,性能下降明显,Linux程序的高效体现不出来,没什么鸟用 —— fanbt [Firefox 45.0|Fedora] 发表。
  9. github有个项目叫flinux —— 来自湖南永州的 Sogou Explorer 2|Windows 7 用户 发表。
  10. "embrace, extend, and extinguish
    拥抱,扩展,毁灭" —— 来自江苏南京的 Chromium 49.0|Ubuntu 用户 发表。
  11. MINE ! —— linux [Chrome 49.0|Mac 10.11] 发表。
  12. 你既没有看过其技术实现细节,何来坚持使用了容器一说。要知道目前容器实现原理是容器与主机共享内核,而 Windows 的内核显然同 Linux存在巨大差异,所以现在 Windows Server 2016 技术预览版上支持 Linux 容器,还是基于特定版的 Hyper-V Linux 客户端,如果是这样的话,还用得着让Canonical 一同来开发?直接用 Hyper-V 方案就行,也不一定非得选 Ubuntu,任何 Hyper-V 支持的发行版都行。此外你也没有体验过,何来“性能下降明显”一说? —— 来自四川成都的 Chrome 49.0|GNU/Linux 用户 发表。
  13. 另外按你的意思 Wine 项目是不是可以把酒倒掉了? —— 来自四川成都的 Chrome 49.0|GNU/Linux 用户 发表。
  14. 要为linux捉急么 —— 来自广东珠海的 Chrome 49.0|GNU/Linux 用户 发表。
  15. 桌面 —— 来自广东珠海的 Chrome 49.0|GNU/Linux 用户 发表。
  16. 微软着急了啊! —— ZengYi [Firefox 45.0|Ubuntu] 发表。
  17. 表示对Windows的极不信任 —— 来自巴西的 UC Browser 10.8|Android 5.1 用户 发表。
  18. 不祥的预感,顿时觉得Linux快死了,被微软玩死了,微软绝不是善类,和微软合作的下场只有死路一条 —— 来自湖南益阳的 Internet Explorer 11.0|Windows 7 用户 发表。
  19. linux危险了,一个自娱自乐的系统,不把自己的兼容性搞好,最后结局就是这样的,一个好的系统要被大家接受就是易用、兼容、傻瓜,而不是搞一堆命令和限制,毕竟大多数用电脑的人是电脑盲,需要的只是拿起就用,而不是打一堆命令。LINUX最大的硬伤,就是核心问题-不兼容,不是靠什么WINE来解决的 —— 碧海独钓 [Chrome 45.0|Windows 7] 发表。
  20. sb —— 来自江苏南京的 Chrome 45.0|Windows 10 用户 发表。

添加新评论