文章目录
0 Introduce
本文分享如何通过操作将默认安装在 C:\
盘的 WSL
迁移至 D:\
盘乃至其他盘符,详情请参考:
1 笔者环境
- Windows 11 专业版 23H2
- WSL(Windows Subsystem for Linux)
- Ubuntu 22.04.3 LTS
2 操作方法
2.1 第一步,建立新的位置
假设新位置在 D:\
盘,在 cmd
中执行:
wsl -l
可以查到当前已经安装的 WSL
分发,例如:
适用于 Linux 的 Windows 子系统分发:
Ubuntu-22.04(默认)
在 bash
中执行:
lsb_release -a
查到实际 WSL
内 Ubuntu
的版本,例如:
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 22.04.3 LTS
Release: 22.04
Codename: jammy
然后在 cmd
中执行:
mkdir D:\WSL\instances\Ububtu2204
mkdir D:\WSL\images
cd D:\WSL\images
创建新的位置。这里起名 Ubuntu2204
是因为 Ubuntu
实际版本为 22.04
,也可以起其他名字。
2.2 第二步,导出原 WSL
分发并导入新位置
在 cmd
中执行
wsl --export Ubuntu-22.04 ubuntu.tar
wsl --import Ubuntu2204 D:\WSL\instances\Ubuntu2204 ubuntu.tar --version2
第一行的 Ubuntu-22.04
指的是系统默认的 WSL
分发,这条命令将原本的分发导出为一个压缩包。
第二行的 Ubuntu2204
是未来指定的 WSL
分发,也就是将前面导出的压缩包导入新的 WSL
分发。
2.3 第三步,启动新的分发并且设置为默认
在 cmd
中执行:
wsl ~ -d Ubuntu2204
进入 Ubuntu2204
分发的 WSL
系统,在当前 bash
中执行:
sudo -e /etc/wsl.conf
输入以下内容:
[user]
default=<your_username>
<your_username>
是用户自定义的 WSL
的用户名。然后依次 Ctrl + X,Y,Enter 保存退出,退出 bash
,在 cmd
中执行:
wsl --terminate Ubuntu2204
wsl ~ -d Ubuntu2204
这时如果一切正常,就可以将 Ubuntu2204
设置为默认 WSL
分发,即在 cmd
中执行:
wsl --set-default Ubuntu2204
这时在 bash
中执行
echo $WSL_DISTRO_NAME
如果返回结果
Ubuntu2204
就表明一切正常。
2.4 第四步,删除旧分发
在 cmd
中执行:
wsl --unregister Ubuntu-22.04
就将旧分发 Ubuntu-22.04
删除了,这时在 cmd
中执行:
wsl -l
将看到:
适用于 Linux 的 Windows 子系统分发:
Ubuntu2204 (默认)
2.5 第五步,删除导出的压缩包
第二步中导出的压缩包 ubuntu.tar
默认保存在路径 C:\User\<user_name>
下,只需要手动删除即可。
3 迁移安装的好处
根据微软官方文档,将项目文件直接存储在 WSL
的驱动器上,性能速度会提高。