2021-06-01-WSL 2 兼容性问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2021-06-01-WSL 2 兼容性问题相关的知识,希望对你有一定的参考价值。

参考技术A WSL 2 兼容性问题
WSL 2 与 VMWare (或其他使用 Intel VT-x 技术的虚拟机) 虽然可以仪器运行,但是安装 WSL2 后不禁用虚拟平台的话无法安装采用 VT-x 技术的软件(比如 android Studio 自带的虚拟机以及 VMWare 等),我当初为了安装安卓虚拟机在这里折腾好几天,明明 bios 已经开启了 VT-x 但是 windows 内安装死活都说不支持。其实只要在安装需要 VT-x 支持的软件时关闭虚拟平台,安装后再开启就可以了。

如需使用 VMWare 等软件那么需要执行如下命令禁用虚拟平台
Disable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
安装完成后重新开启虚拟平台
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform

WSL1 升级为 WSL2

WSL2 是 WSL 1 的升级版,带来的主要优势:

  • 提高文件系统性能
  • 支持完全的系统调用兼容性

WSL2 使用了 hyper-v 虚拟化技术,它就是一个你感知不到的虚拟机(VM),比以前的版本性能更高。举个栗子,我在WSL里面安装 nodejs, 采用源码编译方式安装,在 WSL1 下整整编译了100分钟,实在是太慢了。

更纤细的介绍请参阅官方文档:比较 WSL 1 和 WSL 2

执行命令 wsl -l -v 可以看到WSL版本号是 1,需要执行升级,才能到2

1.启用虚拟机功能
使用 PowerShell 以管理员身份运行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

然后重启电脑

2.下载 Linux 内核更新包

x64: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
arm64: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.msi

3.设置分发版版本

执行命令:wsl --set-version <分发版名称> <版本号>

如:将 Ubuntu18.04 设置为WSL2的命令为 wsl --set-version Ubuntu-18.04 2

这一步比较耗时,执行完成后通过命令 wsl -l -v 来查询升级是否成功
技术图片

使用分享:

WSL2 是基于虚拟机的,所以可以在后台运行各种任务,比如 Docker 等等,但是带来的相应问题就是会占用一部分内存,使用 wsl --shutdown <分发版名称> 可以再不使用的时候停止它,以节约资源




以上是关于2021-06-01-WSL 2 兼容性问题的主要内容,如果未能解决你的问题,请参考以下文章

H5兼容性问题

Boost::asio winsock 和 winsock 2 兼容性问题

兼容性问题

诺基亚手机 MIDP 2.0 兼容性

JS 在IE和火狐的兼容问题

python 2.7 与第 11 代 Intel Core i9 的兼容性问题?