参考原文链接为WSL1升级为WSL2 - 知乎 (zhihu.com)
本文适用于已经安装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这一项,请查看https://blog.csdn.net/lanxingxing666666/article/details/111354089
另外,在检查一下任务管理器
中-性能
-CPU中的虚拟化
是否已开启,如果未开启,请参考文章在BIOS中打开虚拟机
3. 下载 Linux 内核更新包
- 根据系统进行选择:
x64: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi
arm64: https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_arm64.ms
2. 运行上一步下载的更新包。
4. 设置分发版版本
打开PowerShell,执行命令 :
wsl --set-version 分发版名称 版本号
例如,将Ubuntu20.04 设置为WSL2的命令为 wsl --set-version Ubuntu-20.04 2
该步骤会花一些时间,如果安装成功,会出现转移成功
。
如果出现Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS
,则说明BIOS中虚拟机未打开,请参考另一篇文章在BIOS中打开虚拟机
。
但是本人在尝试途中,发现已经在BIOS中打开了虚拟机但是仍然报错,这个时候就需要打开PowerShell(管理员)(A)输入命令
bcdedit /set hypervisorlaunchtype auto
之后重启就成功安装好了,本条解决办法出自WSL2启动报错——请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化 - 简书 (jianshu.com)