方式一:使用 --location 参数(适用于较新版本)

以管理员身份打开 PowerShell,执行安装命令,格式如下:

1
wsl --install -d <发行版名称> --location "<目标路径>"

例如,要将 Ubuntu 安装到 D:\WSL\Ubuntu,命令就是:

1
wsl --install -d Ubuntu --location "D:\WSL\Ubuntu"

方式二:迁移已安装的发行版

如果已经安装到了 C 盘,可以通过导出 -> 注销 -> 导入的流程迁移。

  1. 关闭 WSL,并导出备份
1
2
wsl --shutdown
wsl --export Ubuntu D:\backup\ubuntu.tar
  1. 注销原实例(此操作会删除 C 盘数据,请务必确认上一步成功):
1
wsl --unregister Ubuntu
  1. 创建新目录并导入:
1
2
mkdir D:\WSL\Ubuntu
wsl --import Ubuntu D:\WSL\Ubuntu D:\backup\ubuntu.tar --version 2
  1. 设置默认用户

导入后默认用户会变成 root,需要手动改回。假设你的用户名是 yourname,执行:

1
ubuntu config --default-user yourname

方式三:设置全局默认路径

如果希望以后安装的所有 WSL 发行版都自动存到 D 盘,可以配置 .wslconfig 文件。

在文件资源管理器地址栏输入 %UserProfile% 并回车,找到或新建一个名为 .wslconfig 的文件。

添加以下内容

1
2
[general]
distributionInstallPath=D:\WSL

保存文件后,下次执行 wsl --install -d Ubuntu 时,Ubuntu 就会自动安装到 D:\WSL 目录下了。使用此方法时,也可以配合 --name 参数来指定文件夹名。