脚本
下载LxRunOffline:
https://github.com/DDoSolitary/LxRunOffline/releases
脚本命令
.\LxRunOffline.exe list
#查看安装的子系统
wsl --shutdown
#中止所有运行的子系统
.\LxRunOffline.exe move -n Ubuntu-20.04 -d E:\ubuntu20
#将名为Ubuntu-20.04的子系统移动到E盘ubuntu20目录下
#移动过程中会有warning,不必关心,等待几分钟后移动完成
问题
执行 .\LxRunOffline.exe list的时候报错:
[ERROR] Couldn't get the value "DistributionName" of the registry key "Software\Microsoft\Windows\CurrentVersion\Lxss\TryStoreWSL".
win+R运行regedit,找到HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Lxss
删除TryStoreWSL目录
或者
wsl --set-version Ubuntu-20.04 2
将Ubuntu20.04的WSL1升级成WSL2,需要等待几分钟
遇到问题:
WSL2需要更新其内核组件,去微软官网下载Linux的kernel的升级包
Install WSL | Microsoft Learn
下载完是一个msi文件,双击安装即可
请启用虚拟机平台 Windows 功能并确保在 BIOS 中启用虚拟化
确认电脑的“适用于Linux子系统。。。”等选项是打开的。可能是之前使用过VMware等虚拟机软件导致的,会和WSL2冲突。
找到Hyper-V,确认勾选(我没找到这一选项)
在命令行执行:
bcdedit /set hypervisorlaunchtype auto
重启电脑,再次尝试升级WSL