本文主要是介绍wls2的ubuntu系统迁移到D盘及遇见问题解决过程记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在使用win10的wls2功能安装虚拟机时,安装的ubuntu系统通常都是放在了主机的C盘,非常占据空间,因此考虑将其移动到D盘中,然而在移动过程中却遇到了一些问题,最终移动到了E盘(移动磁盘)
移动过程
- 打开powershell
- 查看ubuntu版本号
wsl -l -v
- 关闭ubuntu(这里后面的20.04对应的版本号)
wsl --shutdown Ubuntu-20.04
- 文件备份,将其导出到E盘的WSL2UBUNTUBACKUP
wsl --export Ubuntu-20.04 E:\WSL2UBUNTUBACKUP\WSL2Ubuntu-20.04.bak
6.导入虚拟机到D盘的WSL2UBUNTUBACKUP文件夹下
wsl --import Ubuntu-20.04 D:\WSL2Ubuntu20.04LTS E:\WSL2UBUNTUBACKUP\WSL2Ubuntu-20.04.bak --version 2
接下来还可以设置ubuntu启动时的默认用户名,其中username是启动时的默认用户名
ubuntu2004 config --default-user username
遇见问题一:
在执行导出的时候报错
已存在具有提供的名称的分发
直接执行以下语句注销在当前主机上的系统即可:
wsl --unregister Ubuntu-20.04
问题二
在执行导入系统时报错:
由于虚拟磁盘系统限制,无法完成请求的操作。虚拟硬盘文件必须是未压缩和未加密的文件,并且不能是稀疏文件
这个百度说是由于loadState属性的原因,只需要找到该文件夹修改文件属性即可,参考如下:
找到ubuntu的文件目录,比如我的是C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\ ,右键“LocalState”-属性-高级,然后取消选择压缩文件(如果加密文件被选择了的话也要取消一下)。如果被问到是否只应用到此文件夹还是也应用到子文件夹和子文件,就选择仅此文件夹,因为我们的目的只是清除压缩的标志,然后就可以重新运行升级命令并查看更新后的版本。
以上内容来自于此链接
然而我尝试了一下该方法,首先由于已经执行了unregister指令注销了系统,因此localState文件夹已经为空了,虽然按照上述方法设置了但仍然没用。
然后我就直接将导入的磁盘换成E盘,然后就导入成功了。
解决问题过程如下:
接下来直接点击windows端的ubuntu图标就能正常启动该系统并登录了(也就是依然是原来的启动方式)。
这篇关于wls2的ubuntu系统迁移到D盘及遇见问题解决过程记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!