Linux教程

采用Linux内核的WSL 2现已可用

本文主要是介绍采用Linux内核的WSL 2现已可用,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

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

采用Linux内核的WSL 2现已可用

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

这篇关于采用Linux内核的WSL 2现已可用的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!