Win 10 更新,Linux 内核的 WSL 2 开始上线

h4cd
 h4cd
发布于 2019年06月13日
收藏 44

微软今天发布了 Windows 10 build 18917 Insider 版本,其中最引人关注的是内核采用 Linux 重构的 WSL 2(Windows Subsystem for Linux)现在已经可用。

WSL 2 是上个月微软在 Build 2019 上宣布推出的,相比第一代,新的 WSL 重新设计了架构,使用真正的 Linux 内核,可以在 Windows 上运行 ELF64 Linux 二进制文件。

Linux 二进制文件使用系统调用来执行许多功能,例如访问文件、请求内存与创建进程等。WSL 1 创建了一个转换层,对这些系统调用进行翻译,以允许它们在 Windows NT 内核上工作。但是,实现所有这些系统调用很有挑战性,导致某些应用程序无法在 WSL 1 中运行。现在 WSL 2 包含自己的 Linux 内核,它具有完整的系统调用兼容性,这引入了一组可以在 WSL 中运行的全新应用程序,比如 Linux 版本的 Docker。

微软在博客中介绍了 WSL 2 的使用方式,其中指出了 WSL 1 与 2 两点最大的不同:

将 Linux 文件放在 Linux 根文件系统中

过去三年,WSL 1 的文件一直需要放在 C 盘,WSL 2 的新架构已经没有了这个问题,现在可以将 Linux 应用中经常访问的文件放在 Linux 根文件系统中,以享受文件性能优势,这样会带来更快的文件系统访问能力。

同时 Windows 应用现在也可以直接访问 Linux 根文件系统,比如文件资源管理器。可以在 bash shell 中运行`explorer.exe /` 测试一下效果。

在初始构建中使用动态 IP 地址访问 Linux 网络应用

WSL 2 包含使用虚拟化技术的巨大架构变更,网络支持仍在改进中。WSL 2 现在在虚拟机中运行,因此需要使用该 VM 的 IP 地址从 Windows 访问 Linux 网络应用;同样的,需要 Windows 主机的 IP 地址才能从 Linux 访问 Windows 网络应用。微软的目标是尽可能让 WSL 2 能够使用 localhost 访问网络应用。

新 WSL 命令

新的 WSL 还添加了一些命令来帮助用户控制和查看 WSL 版本和相关信息。

  • wsl --set-version <Distro> <Version>:切换 WSL 2 与 WSL 1
  • wsl --set-default-version <Version>:更改默认 WSL 版本
  • wsl --shutdown:立即终止所有正在运行的发行版和 WSL 2 VM
  • wsl --list --quiet:列出发行版名称
  • wsl --list --verbose:显示发行版的详细信息

目前 Insider 版本测试中如果有发现问题可以向微软提交,地址:

https://github.com/microsoft/WSL

Windows 10 Insider Preview Build 18917 更新说明可以查看:

https://blogs.windows.com/windowsexperience/2019/06/12/announcing-windows-10-insider-preview-build-18917/#H817b4FVwV2HGfGI.97

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 OSCHINA 社区 [http://www.aercaste.com]
本文标题:Win 10 更新,Linux 内核的 WSL 2 开始上线
加载中

精彩评论

rz
rz
众所周知,Windows是最好用的Linux桌面发行版
棱语曲
棱语曲
以前玩双核浏览器,现在厉害了,双核操作系统。。。。
熊熊爬上来
熊熊爬上来
楼上骨骼清奇.NT内核比linux内核不知道高到哪里去了.替换个毛.
xiaolei123
xiaolei123
windows 10 史上最强的linux变种操作系统
熊熊爬上来
熊熊爬上来
想想这些年,随着WP一代代sdk抛弃上一代开发者.把人都气跑了,毕竟要吃饭的
随着前端和APP的发展,win32中小软件是不是很久没有更新了?只有大公司的年货还在更新,而osx的日常软件是不是一直在慢慢增加?你思考过为啥吗?因为开发者平时用啥平台 他不爽就会给这个平台做软件
虽然win的桌面地位暂时还无法撼动.但是开发者如果一直流失.是没有未来的,幸好阿软早早看到了这一点.开始尝试改变风格了.

最新评论(59

石头帽
石头帽
家庭版可以用吗
代码汇
代码汇
虽然说有时候会遇到点莫名的问题,最起码比用虚拟机方便了点
m1509001
m1509001
wsl1的兼容性确实不行,docker问题较多
天命剑主
天命剑主
按官方操作,直接崩了
OSC_uiXaWo
OSC_uiXaWo
是时候重装了????
qlee
qlee
然并卵,按照官方操作步骤,操作失败无法使用wsl2??
汤姆不是猫
汤姆不是猫
我能运行WSL 2和其他第三方虚拟化工具,如VMWare或Virtual Box吗?

使用Hyper-V时,某些第三方应用程序无法运行,这意味着在启用WSL 2时它们将无法运行。不幸的是,这确实包括VMWare和Virtual Box。

我们正在研究帮助解决此问题的方法。例如,我们公开了一组名为Hypervisor Platform的API ,第三方虚拟化提供商可以使用这些API 使其软件与Hyper-V兼容。这使得应用程序可以使用Hyper-V架构进行仿真,例如Google Android Emulator,它现在与Hyper-V兼容。
来自官方翻译,无爱了
kidfruit
kidfruit
@汤姆不是猫 如此看来wsl2就是建立在hyper-v上的一个虚拟机而已……类似于现在hyper-v上的docker,以及sandbox……和vmware不兼容是硬伤。
太阳骑士
太阳骑士
@kidfruit 如果只是自己平时用的话hyper-v就够用了。
kidfruit
kidfruit
@太阳骑士 我的使用感觉相反,自用vmware workstation更适合,各种不同虚拟网络设置,以及丰富的系统支持,很适合调试程序。hyper-v更适合作为一个相对稳定不随便变更配置的服务器。
汤姆不是猫
汤姆不是猫
终于可以完美使用docker了吗?
寒川
寒川
不知不觉中,Windows已经变成了最流行的Linux桌面发行版,没有之一。
开源中国首席罗纳尔多
开源中国首席罗纳尔多
您好,请问win10旧版本怎么更新?有下载地址吗?直接ghost安装
返回顶部
顶部