WSL操作指南

  1. 重命名WSL实例名称
  2. 释放WSL已分配但是未占用空间
    1. 前言
  3. 停止运行WSL实例
    1. 寻找WSL 磁盘地址
    2. 在Windows中启动diskpart,并执行清理命令

重命名WSL实例名称

  1. wsl --shutdown 关闭所有的子系统

  2. Win+R 启动windows运行窗口,输入regedit打开注册表管理器

  3. 前往计算机\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\
    可以看到很多子目录,即为WSL实例
    6af742dd7345ec8c8465393d1b66d3bd.png

  4. 选择需要修改的实例,修改其数据字段DistributionName对应的数值e47a970eace4f61758d925eb46197869.png

  5. 重新启动wsl进程

  6. 进入Windows 终端转到 Windows 终端 -> 设置 ->[Ubuntu 发行版,例如“Ubuntu-20.04”] -> 命令行,更改对应的名称 ,将原有的exe启动文件,例如ubuntu2404.exe修改为'C:\WINDOWS\system32\wsl.exe -d $你修改后的WSL名称$' ,同时修改选项卡名称,点击保存即可
    8ab0f6c6d33bbeee082099cbf7fe4692.png

参考: tutorial-rename-wsl-disto.txt

释放WSL已分配但是未占用空间

前言

WSL占用的宿主机空间和实体机Linux不同的是,其已经占用的空间不会随着WSL内部文件的删除而释放,这样就会导致其占用额外的磁盘空间,这里对操作的指令进行备份,方便后续查询

停止运行WSL实例

解除对WSL所使用的VHDX文件的占用,IDE比如vscode也要停掉,不然有IO会导致拒绝访问问题

1
wsl --shutdown

寻找WSL 磁盘地址

默认实在这个路径:%USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu*\LocalState\ext4.vhdx

比如我的路径就是:%USERPROFILE%\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState

在Windows中启动diskpart,并执行清理命令

启动diskpart

1
2
3

diskpart

然后输入下面的指令先选中磁盘文件,然后对其进行合并(压缩):

注意需要转为真实路径,%USERPROFILE% 可能会遇到一些问题

1
2
3
4
5
6

## 替换为你的路径
select vdisk file="C:\Users\fzquantum\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\ext4.vhdx"

compact vdisk

b786d07fb1076c34a70a3ad6eed89b68.png

下图是清理前后的区别:

297b9ada2844d890d1019284c27eb1ab.png


转载无需注明来源,放弃所有权利