wsl 迁移

Masimaro
2026-04-26 / 0 评论 / 1 阅读 / 正在检测是否收录...

之前我使用Linux的方式主要是在wsl 中。WSL 中的Linux系统默认放在了C盘,随着使用频率的增加,里面会充斥各种环境、代码、以及其他的内容,最终导致占用磁盘飙升。因为最近我发现我C盘已经飘红了,所以我需要将其中Linux系统从C盘移动到其他盘,目前我就D盘还有大量的空间所以这里我将它移动到了D盘。

迁移

在移动之前我们先要确保系统处于关闭状态。这里使用如下命令确认它们的状态

wsl --list --verbose

这条命令会输出当前系统中所有的Linux子系统的名称和对应的状态,我们需要保证对应的系统状态为 Stopped

如果处于运行状态,我们可以使用

wsl --terminate Arch

其中最后的 Arch 就是上一步看到的系统名称

停止之后,我们可以使用命令

wsl --export Arch D:\WSL_Storage\Arch.tar

后面两个参数分别是前面显示的系统名称,和需要备份保存的位置

之后我们需要删除原先位于C盘的子系统,使用命令

wsl --unregister Arch

最后我们从之前备份的位置导入并生成一个新的子系统

wsl --import Arch D:\WSL_Storage\Arch D:\WSL_Storage\Arch.tar

这条第一个参数Arch代表的是新系统的名称。第二个参数表示系统内容存放的目录。第三个参数是从哪里导入系统数据。

再次打开wsl的子系统我们会发现它采用的是root账户登录我们需要默认采用之前配置的普通用户。

我们可以使用命令

Arch.exe config --default-user arch

Arch.exe 是之前子系统的名称,后面是设置该系统默认的登录用户,这里我仍然使用之前的用户名

进入系统之后,我发现终端上之前配置的一些Unicode emoji 符号失效了显示乱码。这是因为我们相当于重新建立了一个子系统,在Windows Terminal 中为这个新系统配置的字体是默认的字体,我们需要在Windows Termianl中为这个新系统选择一个Unicode 字体。

之后我们会看到一切恢复如初了

0

评论 (0)

取消