admin管理员组

文章数量:1632157

WSL默认安装在C盘
假设你已经安装了默认的wsl。随着时间的迁移,你发现C盘存储空间不足了,你可以选择扩大C盘容量或者迁移wsl到新的盘内
本文讲讲如何移动到新的盘内,下面假设你要移动到 D盘

分析(可跳过)

wsl的硬盘映像文件名为 ext4.vhdx, 
以 Ubuntu20.04 为例,路径默认在

C:\Users\<你的用户名>\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc\LOCALS~1\ext4.vhdx

显然你没法直接移动这个映像。

 手动下载安装包

在 旧版 WSL 的手动安装步骤 | Microsoft Learn 上面你可以手动下载安装包
这里题外话,在笔者写这个文章的时候,Ubuntu 20.04 是比较常见和兼容性较好的版本。
这个是直接点击下载 Ubuntu 20.04 的连接,注意鉴别: Ubuntu 20.04


你下载下来的安装包应该形如
CanonicalGroupLimited.UbuntuonWindows_2004.2021.825.0.AppxBundle

安装

1. 将包移动到你希望的位置,比如 D:\WSL
2. 修改包后缀名为.zip, 并解压到当前文件夹

3. 得到如上图的文件,将以 _x64.appx 结尾的文件的后缀名修改为.zip,即改为 Ubuntu_2004.2021.825.0_x64.zip
5. 你可以删除其他的文件,只剩下Ubuntu_2004.2021.825.0_x64.zip,并解压,得到一些文件,点击 ubuntu.exe
6. 会进行一系列安装,你可能会被要求输入用户名和密码,成功后,你会看到目录下出现 ext4.vhdx 映像文件,安装完毕
注意:安装目录的磁盘不应该开启 “**压缩内容以便节省磁盘空间**” 这个选项
文件夹->属性->常规->高级 中使其为关闭

卸载原WSL

1. 你应该在文件资源管理器看到 Linux/Ubuntu (我们叫他新WSL), 但是可能你之前安装了一个差不多名字的Ubuntu,你需要区分它们,仔细甄别他们的名字,你原来的Ubuntu的名字可能是 Ubuntu-20.04 之类的(我们叫他老WSL),总之自己搞清楚
2. 你应该打开老WSL的目录,将你需要的文件备份到新WSL(直接复制过来!),或者备份到云端,防止丢失数据!
3. 打开cmd,输入 wsl --list  , 查看你已经安装的版本,然后输入wsl --unregister <要卸载的老版本的名字>,删除成功后原来那个版本应该就不存在了,如果你还能找到相关的文件,可以删除。一定小心。
4. 再次wsl --list, 如果你发现输出的默认的版本不是你想要的新版本,使用命令 wsl --set-default <新版本的名字> 来设置默认的wsl版本。比如wsl --set-default Ubuntu

在开始栏目搜索wsl,你应该看到:

点开,你应该看到正确的wsl的命令行,你可能被要求输入用户名和密码。

成功!享受你的更多存储空间的WSL吧。
如有问题欢迎讨论


参考

自定义WSL的安装位置,别再装到C盘啦 - 知乎

本文标签: 空间WSL