本文内容
详尽了解不同的WSL版本linux操作系统好吗,包括为何WSL2如今是默认版本,以及可能须要将已安装的Linux发行版切换到初期WSL1体系结构的特定场景或例外情况。
比较WSL1和WSL2
本手册将比较WSL1和WSL2,包括。WSL1和WSL2之间的主要区别在于,在托管VM内使用实际的Linux内核、支持完整的调用兼容性以及跨Linux和Windows操作系统的性能。WSL2是安装Linux发行版时的当前默认版本,它使用最新最好的虚拟化技术在轻量级实用工具虚拟机(VM)内运行Linux内核。假如你的发行版当前运行的是WSL1,而你想要更新到WSL2,请参阅。
比较功能功能WSL1WSL2
Windows和Linux之间的集成
✅
✅
启动时间短
✅
✅
与传统虚拟机相比,占用的资源量少
✅
✅
可以与当前版本的VMware和VirtualBox一起运行
✅
✅
托管VM
❌
✅
完整的Linux内核
❌
✅
完全的系统调用兼容性
❌
✅
跨OS文件系统的性能
✅
❌
从前面的比较表中可以看出,WSL2构架在几个方面优于WSL1,但跨OS文件系统的性能除外,对于这些情况,可通过将项目文件储存在与处理项目时运行的工具相同的操作系统上进行处理。
WSL2仅在Windows11或Windows10版本1903、内部版本18362或更高版本中可用。通过按Windows徽标键+R,检测你的Windows版本,之后键入winver,选择“确定”。(或则在Windows提示符下输入ver)。你可能须要更新到最新的Windows版本。高于14393的版本完全不支持WSL。
注意
WSL2适用于VMware15.5.5+和VirtualBox6+。有关详尽信息,请参阅。
WSL2中的新增功能
WSL2是对基础体系结构的一次重大改建,它使用虚拟化技术和Linux内核来实现其新功能。此更新的主要目标是提升文件系统性能和添加完全的系统调用兼容性。
WSL2体系结构
传统的VM体验可能启动速率慢,是独立的,消耗大量资源,须要你耗费时间进行管理。WSL2没有这种属性。
WSL2有WSL1的优点,包括Windows和Linux之间的无缝集成,启动时间短,资源占用量少puppy linux,而且无需VM配置或管理。其实WSL2确实使用VM,但VM是在幕后管理和运行的,因而你将具有与WSL1相同的用户体验。
完整的Linux内核
WSL2中的Linux内核是Microsoft按照最新的稳定版分支(基于上提供的源代码)建立的。此内核已专门针对WSL2进行了调整,针对大小和性能进行了优化,便于在Windows上提供良好的Linux体验。内核将由Windows更新提供服务,这意味着你将获得最新的安全修复程序和内核改进功能,而无需自行管理它。
WSL2Linux内核是开源的。假如你想要了解详尽信息,请查看由建立该内核的团队撰写的博客文章随Windows一起提供Linux内核。
有关详尽信息,请参阅适用于Linux的Windows子系统内核发行说明
提高了文件IO性能
假如使用WSL2,文件密集型操作(如git克隆、npm安装、apt更新、apt升级等)的速率都显著更快。
实际的速率提高将取决于你运行的应用以及它与文件系统的交互方法。在对压缩的tarball进行解包时,WSL2的初始版本的运行速率比WSL1快达20倍,在各类项目上使用git克隆、npm安装和cmake时,大概快2-5倍。
完全的系统调用兼容性
Linux二补码文件使用系统调用来执行访问文件、请求显存、创建进程等功能。其实WSL1使用的是由WSL团队打造的转换层,但WSL2包括了自己的Linux内核,具有完全的系统调用兼容性。优点包括:
例外情况(使用WSL1而不是WSL2)
我们建议使用WSL2,由于它提供更快的性能和100%的系统调用兼容性。并且,在个别特定情况下,你可能会更倾向于使用WSL1。在以下情况下如何查看linux是什么系统,请考虑使用WSL1:
一个项目要求对相同的文件使用Windows和Linux工具进行交叉编译。你的项目须要访问串行端口或USB设备。并且,现今可通过USBIPD-WIN项目为WSL2提供USB设备支持。有关设置步骤,请参阅联接USB设备。WSL2不支持访问串行端口。有关详尽信息,请参阅或WSLGitHub储存库中有关串行支持的问题。有严格的显存要求对于使用VirtualBox的用户,你可能须要考虑你正在运行的版本以及它是否与WSL2兼容。(有关完整讨论,请参阅WSLGitHub储存库问题798。VirtualBoxv6.1.16虽然适用于WSL2,但其他版本可能碰到问题。)假如依赖Linux发行版在与主机相同的网路中拥有IP地址,则可能须要设置一种取代方式来运行WSL2。WSL2作为hyper-v虚拟机运行。这是对WSL1中使用的桥接网路适配器的修改,这意味着WSL2使用网路地址转换(NAT)服务作为其虚拟网路,而不是将其桥接到主机网路插口卡(NIC),进而生成惟一的将在重启时修改的IP地址。要详尽了解将WSL2服务的TCP端口转发到主机OS的问题和减轻举措,请参阅WSLGitHub储存库问题4150,NIC桥接模式(TCP减轻举措)。
注意
请考虑尝试VSCode远程WSL扩充,便于使你除了才能使用Linux行工具将项目文件储存在Linux文件系统上,并且还可以使用Windows上的VSCode在Internet浏览器中创作、编辑、调试或运行项目,而不会导致任何与跨Linux和Windows文件系统工作相关联的性能增长。了解详尽信息。
MicrosoftStore中的WSL
WSL已将更新功能从WindowsOS映像提取到一个包中,该包可通过MicrosoftStore获得。这意味着一旦更新和服务可用都会进行快速更新并提供服务,而无需等待Windows操作系统的更新。
WSL最初作为可选组件包含在Windows操作系统中,须要启用该组件能够安装Linux发行版。MicrosoftStore中的WSL具有相同的用户体验,而且是相同的产品,但作为商店包而不是整个OS更新接收更新和服务。从Windows版本19044或更高版本开始如何查看linux是什么系统,运行wsl.exe--install命令将从MicrosoftStore安装WSL服务更新。(请参阅宣布推出此更新的博客文章)。假如你早已在使用WSL,则可以更新以确保通过运行wsl.exe--update从商店接收最新的WSL功能和服务。
本文原创地址://gulass.cn/wdxzgnhw.html编辑:刘遄,审核员:暂无