win10 迁移 LTS 子系统 到非系统盘

脚本

下载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

posted @ 2023-06-09 15:04  linzm14  阅读(99)  评论(0编辑  收藏  举报