自动摘要: 现象: WSL2放了大量的数据,然后就删掉,会发现WSL2的磁盘占用没有降下来WSL2中,这就是虚拟磁盘造成的。 解决方法: 方法1:打开**%USERPROFIL ……..
现象:
WSL2 放了大量的数据,然后就删掉,会发现WSL2的磁盘占用没有降下来WSL2 中,这就是虚拟磁盘造成的。
解决方法:
方法1:打开 **%USERPROFILE%\AppData\Local\Packages** ,找到ext4.vhdx
- 我的是:C:\Users\sindre\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
1
2
3
4
5
6
7
8#命令行来检查它的状态
wsl.exe --list --verbose
# 如果没有关闭(状态是 Running ),再用命令行去关闭
wsl.exe --shutdown
# 运行windows磁盘工具
diskpart
select vdisk file="{vhdx文件名}"
compact vdisk
- 我的是:C:\Users\sindre\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
方法2,新建个”缩减wsl磁盘大小-鼠标右键,管理员运行.bat”文件,拷贝下以下代码,
- 后期只需要鼠标右键文件,然后管理员运行即可。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27@echo off
echo "Shutdown WSL"
wsl --shutdown
REM 记录下自己的路径,第一次输入后会缓存在C:\Windows\System32\compact_vdisk.txt
REM %USERPROFILE%\AppData\Local\Packages\
REM C:\Users\sindre\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\ext4.vhdx
setlocal enabledelayedexpansion
REM 判断 compact_vdisk.txt 是否存在,如果不存在则提示用户输入 VHDX 文件路径
if not exist compact_vdisk.txt (
set /p vhdx_path=请输入 ext4.vhdx 文件路径:
REM 记录在文件中
echo select vdisk file="!vhdx_path!" > compact_vdisk.txt
echo compact vdisk >> compact_vdisk.txt
diskpart /s compact_vdisk.txt
) else (
REM for /F "usebackq delims=" %%G in ("compact_vdisk.txt") do set "vhdx_path=%%G"
REM 如果存在文件,则直接执行
diskpart /s compact_vdisk.txt
)
endlocal
pause
- 后期只需要鼠标右键文件,然后管理员运行即可。