WSL备份与迁移
备份
终止正在运行的 wsl
1 | wsl --shutdown |
ubuntu 名字用 wsl -l -v 查看,这里以导出到 G 盘下,命名为 Ubuntu_bak.tar 为例
1 | wsl --export ubuntu-22.04 G:\Ubuntu_bak.tar |
注销
注销之前的 wsl
1 | wsl --unregister ubuntu-22.04 |
导入
1 | wsl --import ubuntu-22.04 G:\WSL_Ubuntu G:\Ubuntu_bak.tar --version 2 |
升级 wsl 版本
如果之前的 wsl 版本为 wsl1,需要升级到 wsl2 的话,需要执行下面的命令:
1 | wsl --set-version ubuntu-22.04 2 |
如果 powershell 中提示需要升级,那么需要执行:
1 | wsl --update |
设置默认 wsl 默认版本为 wsl2
1 | wsl --set-default-version 2 |
查看安装版本
1 | wsl -l -v |
参数解读:
Ubuntu-22.04
· 实例名称,可以自己设置,设置后即为第 2 步输入 wsl -l -v 后显示的名称;
G:\WSL_Ubuntu
· 导入后的镜像及其相关数据存放路径;
G:\wsl_nomatlab. Tar
· 导入的备份,即第 3 步通过 wsl —export 导出的文件;
–version 2
· WSL 版本为2
用户设置
方法 1: 管理员身份运行 power shell, 执行 ubuntu2004.exe config --default-user root
,再在 power shell,执行以下命令,可以将 WSL2的默认系统设置为 Ubuntu-20.04。
1 | wslconfig /setdefault Ubuntu-20.04 |
方法 2:修改 /etc/wsl.conf
文件
1 | #Set the user when launching a distribution with WSL. |
方法 3:在 windows terminal 中按下三角按钮打开设置, 并在命令行设置中进行修改, -d 参数修改发行版本,-u 修改用户。
压缩空间
WSL2
本质上是虚拟机,所以 Windows
会自动创建 vhdx
后缀的虚拟磁盘文件作为存储。这个 vhdx
后缀的虚拟磁盘文件特点是可以自动扩容,但是一般不会自动缩容。一旦有很多文件把它“撑大”,即使把这些文件删除它也不会自动“缩小”。所以删除文件后还需要我们手动进行压缩才能释放磁盘空间。
首先在 PowerShell 中执行:
1 | # 关闭 wsl |
在新打开的 DiskPart
命令窗口中执行:
1 | # 选择虚拟磁盘文件 |
需要开启或安装的功能/包
直接按 win 键搜索 “启用或关闭 Windows 功能”即可找到选项卡,开启以下功能(不开启也可以正常使用,不清楚具体影响)。
商店中安装 Ubuntu 18.04 LTS