微软发布“Ubuntu on Windows” 项目,Linux 程序可原生运行于 Windows 10 中

wxy 的头像

·

·

·

32,074 次阅读

昨晚,北京时间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 版本。有关该项目的进一步技术细节,我们会在之后的文章中进行探讨。

46 条回复

  1. kashu [Chromium 49.0|Ubuntu] 的头像
    kashu [Chromium 49.0|Ubuntu]

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

    有机会想体验一下

    来自吉安
  2. 来自广东的 Chrome 47.0|Windows 7 用户 的头像
    来自广东的 Chrome 47.0|Windows 7 用户

    期待!

    来自广州
  3. 来自北京的 Firefox 45.0|FreeBSD 用户 的头像
    来自北京的 Firefox 45.0|FreeBSD 用户

    Wine 的一种反向技术

    来自北京
  4. 来自北京北京大学的 Chrome 49.0|Windows 7 用户 的头像
    来自北京北京大学的 Chrome 49.0|Windows 7 用户

    为啥不是调转过来呢?MS这么爱开源,帮忙把wine搞好吧~~或者让Win程序可以“原生”运行在Linux上。

    来自北京
  5. 来自四川成都的 Chrome 49.0|GNU/Linux 用户 的头像
    来自四川成都的 Chrome 49.0|GNU/Linux 用户

    wine

    来自成都
  6. delectate [Firefox 45.0|Windows 10] 的头像
    delectate [Firefox 45.0|Windows 10]

    wine=wine is not an emulator
    那么这个项目可以叫 mine=microsoft’s native emulator

    来自廊坊
  7. 来自四川成都的 Chrome 49.0|GNU/Linux 用户 的头像
    来自四川成都的 Chrome 49.0|GNU/Linux 用户

    双内核OS要诞生的节奏吗?

    来自成都
  8. fanbt [Firefox 45.0|Fedora] 的头像
    fanbt [Firefox 45.0|Fedora]

    掉过来会更好,Windows自身资源占用就很利害了,再弄个容器(虽然文章说不是容器,但我还是坚持认为他们使用了类似技术)给它,性能下降明显,Linux程序的高效体现不出来,没什么鸟用

    来自成都
  9. 来自湖南永州的 Sogou Explorer 2|Windows 7 用户 的头像
    来自湖南永州的 Sogou Explorer 2|Windows 7 用户

    github有个项目叫flinux

    来自益阳
  10. 来自江苏南京的 Chromium 49.0|Ubuntu 用户 的头像
    来自江苏南京的 Chromium 49.0|Ubuntu 用户

    embrace, extend, and extinguish
    拥抱,扩展,毁灭

    来自南京
  11. linux [Chrome 49.0|Mac 10.11] 的头像
    linux [Chrome 49.0|Mac 10.11]

    MINE !

    来自北京
  12. 来自四川成都的 Chrome 49.0|GNU/Linux 用户 的头像
    来自四川成都的 Chrome 49.0|GNU/Linux 用户

    你既没有看过其技术实现细节,何来坚持使用了容器一说。要知道目前容器实现原理是容器与主机共享内核,而 Windows 的内核显然同 Linux 存在巨大差异,所以现在 Windows Server 2016 技术预览版上支持 Linux 容器,还是基于特定版的 Hyper-V Linux 客户端,如果是这样的话,还用得着让 Canonical 一同来开发?直接用 Hyper-V 方案就行,也不一定非得选 Ubuntu,任何 Hyper-V 支持的发行版都行。此外你也没有体验过,何来“性能下降明显”一说?

    来自成都
  13. 来自四川成都的 Chrome 49.0|GNU/Linux 用户 的头像
    来自四川成都的 Chrome 49.0|GNU/Linux 用户

    另外按你的意思 Wine 项目是不是可以把酒倒掉了?

    来自成都
  14. 来自广东珠海的 Chrome 49.0|GNU/Linux 用户 的头像
    来自广东珠海的 Chrome 49.0|GNU/Linux 用户

    要为linux捉急么

    来自珠海
  15. 来自广东珠海的 Chrome 49.0|GNU/Linux 用户 的头像
    来自广东珠海的 Chrome 49.0|GNU/Linux 用户

    桌面

    来自珠海
  16. ZengYi [Firefox 45.0|Ubuntu] 的头像
    ZengYi [Firefox 45.0|Ubuntu]

    微软着急了啊!

    来自上海
  17. 来自巴西的 UC Browser 10.8|Android 5.1 用户 的头像
    来自巴西的 UC Browser 10.8|Android 5.1 用户

    表示对Windows的极不信任

  18. 来自湖南益阳的 Internet Explorer 11.0|Windows 7 用户 的头像
    来自湖南益阳的 Internet Explorer 11.0|Windows 7 用户

    不祥的预感,顿时觉得Linux快死了,被微软玩死了,微软绝不是善类,和微软合作的下场只有死路一条

    来自益阳
  19. 碧海独钓 [Chrome 45.0|Windows 7] 的头像
    碧海独钓 [Chrome 45.0|Windows 7]

    linux危险了,一个自娱自乐的系统,不把自己的兼容性搞好,最后结局就是这样的,一个好的系统要被大家接受就是易用、兼容、傻瓜,而不是搞一堆命令和限制,毕竟大多数用电脑的人是电脑盲,需要的只是拿起就用,而不是打一堆命令。LINUX最大的硬伤,就是核心问题-不兼容,不是靠什么WINE来解决的

    来自上海
  20. 来自江苏南京的 Chrome 45.0|Windows 10 用户 的头像
    来自江苏南京的 Chrome 45.0|Windows 10 用户

    sb

    来自南京
  21. 来自江苏南京的 Chrome 45.0|Windows 10 用户 的头像
    来自江苏南京的 Chrome 45.0|Windows 10 用户

    系统神马的都不是问题,问题是安全好不,中国没自己的系统,这才是重点,

    来自南京
  22. 来自江苏南京的 Chrome 45.0|Windows 10 用户 的头像
    来自江苏南京的 Chrome 45.0|Windows 10 用户

    就像别人写的盗号软件再怎么好用,后来发现自己盗的都给作者了

    来自南京
  23. 来自山东济南的 Firefox 45.0|Windows 7 用户 的头像
    来自山东济南的 Firefox 45.0|Windows 7 用户

    只针对桌面系统来说吧,linux粉都不这么认为,最可怕的是linux厂商也不这么认为,这也是为什么桌面版linux发展了这么多年一直没大的进展。
    linux要想争夺Windows的桌面领域,就必须要朝傻瓜化发展,否则的话还是坚守自己的服务器和嵌入式领域吧

    来自济南
  24. 来自美国的 Chrome 45.0|Windows 10 用户 的头像
    来自美国的 Chrome 45.0|Windows 10 用户

    傻逼。你知不知道linux 到底干嘛用的? 不知道别瞎BB

    来自枣庄
  25. 来自北京的 Chrome 45.0|Windows 7 用户 的头像
    来自北京的 Chrome 45.0|Windows 7 用户

    虽然你说的简单粗暴,但是准确

    来自北京
  26. unknow_future [Chrome 49.0|GNU/Linux] 的头像
    unknow_future [Chrome 49.0|GNU/Linux]

    开源是 Linux 的灵魂

    来自合肥
  27. 来自云南保山的 UC Browser 10.9|Android 5.1 用户 的头像
    来自云南保山的 UC Browser 10.9|Android 5.1 用户

    玩安卓玩出的决定?

    来自保山
  28. 枫落夜舞 [Chrome 49.0|GNU/Linux] 的头像
    枫落夜舞 [Chrome 49.0|GNU/Linux]

    你真用过Linux?还是说你认为电脑就是用来玩的,没有别的作用了?

    来自合肥
  29. 绿色圣光 [Firefox 45.0|GNU/Linux] 的头像
    绿色圣光 [Firefox 45.0|GNU/Linux]

    我认为,这样想的人,根本就不理解自由及开源软件。

    来自江门
  30. 西风冷香 [Chrome 49.0|GNU/Linux] 的头像
    西风冷香 [Chrome 49.0|GNU/Linux]

    至少以后偶尔需要用windows的时候,不会出现命令行用不了的情形了

    来自北京
  31. 来自河北邢台的 Internet Explorer 11.0|Windows 7 用户 的头像
    来自河北邢台的 Internet Explorer 11.0|Windows 7 用户

    你是不是傻?电脑盲还用linux?你这智商也就适合玩windows

    来自邢台
  32. z75315 [Chrome 49.0|Windows 7] 的头像
    z75315 [Chrome 49.0|Windows 7]

    然而我还是喜欢Linux下的桌面环境,可定制强。

    来自北京
  33. 来自广东广州的 Chrome 49.0|Windows 7 用户 的头像
    来自广东广州的 Chrome 49.0|Windows 7 用户

    服务器还好,网上有红帽的入门教程,我现在用着没什么难度,只是桌面太坑爹了,就拿我的centos7来说,用着用着居然进入了emergency模式

    来自广州
  34. plehdeen [Chrome 49.0|Windows 10] 的头像
    plehdeen [Chrome 49.0|Windows 10]

    听说过这样一种策略,拥抱-融合-消灭。感觉微软有点腹黑

    来自北京
  35. 来自广东广州的 Chrome 49.0|Windows 7 用户 的头像
    来自广东广州的 Chrome 49.0|Windows 7 用户

    这不是兼容性的问题,linux在桌面方面发展一直很慢,压根就没被重视过

    来自广州
  36. 来自上海的 Chrome 49.0|Mac 10.11 用户 的头像
    来自上海的 Chrome 49.0|Mac 10.11 用户

    来自河北邢台的 Internet Explorer 11.0|Windows 7 用户(手动滑稽

    来自上海
  37. 来自上海的 Chrome 49.0|Mac 10.11 用户 的头像
    来自上海的 Chrome 49.0|Mac 10.11 用户

    凭啥兼容?照你这逻辑,iOS咋不兼容Android呢?

    来自上海
  38. 来自河南信阳的 Firefox 45.0|GNU/Linux 用户 的头像
    来自河南信阳的 Firefox 45.0|GNU/Linux 用户

    笑死 ,, 兼容, 你用Mac运行个widnows 下的exe试试,linux本就不是面向电脑盲的

    来自信阳
  39. 来自辽宁大连的 Chrome Mobile 39.0|Android 5.1 用户 的头像
    来自辽宁大连的 Chrome Mobile 39.0|Android 5.1 用户

    win下的任何功能的程序都有都比linux同类的强,根本没必要拿到win上运行

    来自大连
  40. linux [Chrome 49.0|Mac 10.11] 的头像
    linux [Chrome 49.0|Mac 10.11]

    我就喜欢你这一本正经的胡说八道。

    来自北京
  41. 来自广东广州的 Firefox 45.0|Fedora 用户 的头像
    来自广东广州的 Firefox 45.0|Fedora 用户

    你了解linux太少了, 真正支持linux的都是计算机大公司,比如intel, IBM, amd, HP, 谷歌等, 超级计算机大部分运行linux, 安卓系统也是linux. 那些设备驱动大多数是大公司写的. 服务于大公司才能这赚钱. linux桌面系统免费, 没利益的.  国外很多超级计算机硬件国内都没有, 很遗憾. 人家不给. 我们的做们系统一般最多4核8线程, 那些超级计算机一个系统几百个cpu. linux胜任这个. 还有计算机集群. linux可以控制几千个计算机, 呵呵 多多学习.

  42. xstar [Sogou Explorer 2|Windows 7] 的头像
    xstar [Sogou Explorer 2|Windows 7]

    很喜欢这个啊,可以个mac一样使用命令行操作了

    来自北京
  43. 来自湖北武汉的 Chrome 51.0|Mac 10.10 用户 的头像
    来自湖北武汉的 Chrome 51.0|Mac 10.10 用户

    恩 无知到一本正经

    来自武汉
  44. 来自云南昆明的 Firefox 50.0|Windows 10 用户 的头像
    来自云南昆明的 Firefox 50.0|Windows 10 用户

    见过傻的,没见过你这样傻蛋的,呵呵

    来自昆明
  45. 来自湖北的 Chrome 54.0|Windows 10 用户 的头像
    来自湖北的 Chrome 54.0|Windows 10 用户

    这里也快变成cnbeta了

    来自武汉
  46. 来自重庆的 Sogou Explorer 2|Windows 7 用户 的头像
    来自重庆的 Sogou Explorer 2|Windows 7 用户

    智障不知道 Linux的应用场景么

    来自重庆

发表回复

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