本文适用于已经安装WSL1的系统。
0. 查看当前WSL版本号
打开PowerShell,执行命令
wsl -l -v
可以看到WSL版本号。如果WSL版本号是1,则需要进行一些操作,才能升级到WSL2。
1. 检查运行WSL2的系统要求
WSL2对系统版本有一定要求,键盘选择Win + R,输入winver,点击回车,便可查看当前系统的详细版本。对照下图,看一下是否满足要求,如果不满足要求,则需要对系统进行升级。
2. 启用虚拟机功能
WSL2需要使用虚拟机,因此需要在系统中启动虚拟机功能。
打开PowerShell,执行命令 :
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
打开 控制面版,查看方式可选择大图标,在点击程序与功能—>启用或关闭Windows功能,检查下图中红框圈出内容是否均以打对勾;若没有,则需要打对勾并点击确定。
如果没有Hyper-V
这一项,请查看文章Win10安装Hyper-V。
做完以上步骤,重新启动系统。
启动系统后,检查一下虚拟机是否以启动
另外,再检查一下任务管理器
中-性能
-CPU中的虚拟化
是否已开启,如果未开启,请参考文章在BIOS中打开虚拟机
3. 下载 Linux 内核更新包
3.1. 根据系统进行选择:
x64:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
arm64:https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.ms
3.2. 运行上一步下载的更新包。
4. 设置分发版版本
打开PowerShell,执行命令 :
wsl --set-version 分发版名称 版本号
例如,将Ubuntu22.04 设置为WSL2的命令为 wsl --set-version Ubuntu-22.04 2
该步骤会花一些时间,如果安装成功,会出现转移成功
。
如果出现Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS
,则说明BIOS中虚拟机未打开,请参考另一篇文章在BIOS中打开虚拟机。
说明
WSL2 是基于虚拟机的,所以可以在后台运行各种任务,比如 Docker 等等,但是带来的相应问题就是会占用一部分内存,使用 wsl --shutdown
可以再不使用的时候停止它,以节约资源。
参考
https://link.zhihu.com/?target=https%3A//docs.microsoft.com/en-us/windows/wsl/install-win10%23set-your-distribution-version-to-wsl-1-or-wsl-2
https://link.zhihu.com/?target=https%3A//www.cnblogs.com/stulzq/p/13926936.html