WSL创建的虚拟机,数据默认是存在C盘的,当虚拟机数据量过大或者虚拟机过多时,会严重挤占C盘空间,导致系统卡顿。所以最好的办法,是将虚拟机数据迁移到C盘外。
以Ubuntu-20.04迁移到D盘为例,默认前提是已经安装好了WSL,最好是WSL2。
1.安装Ubuntu20.04
在powershell中输入以下命令:
wsl --install -d Ubuntu-20.04
之后创建用户名并输入密码。
2.检验是否安装成功
wsl --list --verbose
确认 Ubuntu-20.04
是否出现在列表中。
3.换源并配置域名服务器(可选)
由于系统源下载外网依赖可能会很慢,所以推荐把系统源换为阿里源和清华源,再配置谷歌服务器减少DNS解析失败的问题。总的来说就是减少出现下载缓慢的问题。
- 先进入创建的Ubuntu-20.04中
wsl -d Ubuntu-20.04
- 之后的步骤参考我的另一篇文章:
Ubuntu20.04换阿里源、清华源和增加域名服务器-优快云博客
- 之后退出Ubuntu-20.04回到windows系统
exit
4.导出tar文件
wsl --export Ubuntu-20.04 D:\WSL\Ubuntu-20.04.tar
5.注销C盘下的原Ubuntu-20.04
wsl --unregister Ubuntu-20.04
这一步会彻底删除C盘下的原Ubuntu-20.04的所有数据,不用担心硬盘占用问题~
6.从 D 盘重新导入 Ubuntu 20.04
wsl --import Ubuntu-20.04 D:\WSL\Ubuntu-20.04 D:\WSL\Ubuntu-20.04.tar --version 2
7.恢复默认用户
导入之后,Ubuntu-20.04的默认打开用户是root用户,你可以选择恢复你之前注册的用户。
- 在powershell中执行:
ubuntu2004.exe config --default-user <你的用户名>
把<你的用户名>换为你的实际用户名。
- 之后打开Ubuntu-20.04查看是否恢复成功:
wsl -d Ubuntu-20.04
在终端每行首部出现你的用户名即配置成功。
以上步骤后Ubuntu-20.04就成功迁移到D盘了。原来导出的tar文件可以不用删除,如果后面你需要重新创建Ubuntu-20.04时可以直接再通过这个tar文件导入,而且这个 tar文件包含了你第一次创建的Ubuntu-20.04中的所有配置内容,即如果你之前换源和配置过域名服务器的话,后面导入后就不用再重复配置了,用户名和密码也和你第一次配置的一样。