参考文章:
wsl下将Ubuntu从c盘移动到其他盘
WSL数据迁移(迁移ext4.vhdx)
WSL 系统迁移(2),导入虚拟机磁盘映像 .vhdx ext4/fs
WSL2迁移后默认登陆用户为root的解决方案
操作过程:
1.查看当前系统中wsl分发版本
使用管理员权限启动终端
wsl -l --all -v
Ubuntu-20.04正在运行,关掉
wsl --shutdown
2.检查当前安装路径
Get-ChildItem -Path "HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss" | ForEach-Object { Get-ItemProperty -Path $_.PSPath } | Select-Object -Property "DistributionName", "BasePath"
3.导出分发版为tar文件到目的盘比(如E盘)
wsl --export Ubuntu-20.04 E:\Ubuntu\Ubuntu-20.04.tar
参数的含义,--export是导出的意义,Ubuntu-20.04是我们需要导出的linux版本的名称,最后一个是导出的tar文件保存的地方,注意需要保存为tar格式的,否则会有问题。
因之前从C盘迁移到D盘,默认位置变了
4,直接复制D:\Ubuntu\ext4.vhdx 到E:\Ubuntu\ext4.vhdx,然后注册到现有的Ubuntu-20.04
wsl --unregister Ubuntu-20.04
5,执行如指令:
wsl --import-in-place Ubuntu-20.04 F:\Ubuntu\ext4.vhdx
或者建立软连接,运行如下命令(未测试)
cmd /c mklink "C:\Users\Administrator\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\ext4.vhdx" "E:\Ubuntu\ext4.vhdx"
执行结果
6, WSL重启后默认root用户,需要恢复之前用户
【1】在wsl的root用户下面用vim打开/etc/wsl.conf
文件
vim /etc/wsl.conf
【2】在wsl.conf文件加入下面代码
[user]
default=aping
【3】重启wsl,Windows CMD输入下面指令
wsl --shutdown