金融量化AI研究--Claude, Python

这里用来记录一些本人运用Claude编程的心得或笔记

导航

WSL vhdx文件压缩/清理

WSL在使用了一段时间之后,占用空间会越来越大,可以使用以下方法清理
image

操作步骤(手把手)

步骤 1:提前标记空闲空间

先在WSL2中执行 sudo fstrim -v /
如果不执行,压缩效果可能会很差(甚至没效果)。

步骤 2:确认 WSL 磁盘文件的真实路径

以管理员身份打开 PowerShell,执行以下命令,找到你要瘦身的 WSL 发行版对应的 VHDX Path:

powershell
# 列出所有 WSL 发行版及磁盘路径
wsl --list --verbose --all

# 或更精准的命令(PowerShell 7+)
Get-ChildItem -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Lxss\ | ForEach-Object {
    $distro = Get-ItemProperty $_.PSPath
    [PSCustomObject]@{
        DistroName = $distro.DistributionName
        VHDXPath   = $distro.BasePath + "\ext4.vhdx"
    }
}

image
得到路径:‪C:\WSL\ext4.vhdx

步骤 3: 强力终结所有可能占用的进程

在 PowerShell (管理员) 里依次运行以下命令,不要漏:

powershell

# 1. 再次确保 WSL 完全关闭
wsl --shutdown

还有以下命令,强制杀掉所有 WSL 相关进程(包括后台宿主),一般第1个就够了

taskkill /F /IM wsl.exe
taskkill /F /IM wslhost.exe
taskkill /F /IM LxssManagerUser.exe
taskkill /F /IM LxssManager.exe

步骤 4:执行 DiskPart(手动输入路径)

管理员 PowerShell 中输入 diskpart 回车;
在 DiskPart 窗口中,手动输入(不要复制)以下命令(替换为你刚查到的真实路径):

plaintext
# 示例(替换成你的真实路径)
select vdisk file="‪C:\WSL\ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit

注意:路径中有空格没关系,只要用英文双引号包裹即可。
image

步骤 5:验证是否成功

执行 compact vdisk 后,会输出类似 已成功压缩虚拟磁盘。,说明瘦身完成;
若仍提示错误,检查:
路径是否真的存在(文件资源管理器打开验证);
WSL 是否已完全关闭(wsl --shutdown 执行后再操作);
是否以管理员身份运行 PowerShell/DiskPart。

OK,到此结束

还有另外一个命令:可以在PowerShell下运行::
Optimize-VHD -Path "C:\WSL\ext4.vhdx" -Mode Full
图片

使用前提(必须满足)

WSL 必须完全关闭:执行 wsl --shutdown 后再运行该命令,否则 VHDX 文件被占用,会提示 “文件正在使用”;
需要管理员权限:必须以 “管理员身份” 打开 PowerShell,否则权限不足;
需开启 Hyper-V 相关功能:该命令依赖 Hyper-V 模块(WSL 2 默认会安装,无需额外操作)

posted on 2026-03-11 17:05  chengjon  阅读(595)  评论(0)    收藏  举报