当wsl2中的linux系统进行滚动更新后,系统会越来越到,不会缩小.
这是 WSL2 环境下唯一能真正释放空间到 Windows的操作,步骤如下:
步骤 1:在 Kali 中执行零填充(标记空闲块)
bash
# 零填充空闲空间(让VHD识别可压缩区域)
sudo dd if=/dev/zero of=/zero bs=1M status=progress
sudo rm /zero # 删除零填充文件
步骤 2:关闭 Kali WSL 实例(Windows 终端执行)
powershell 内运行
# 关闭所有WSL实例(确保VHD可读写)
wsl --shutdown
步骤 3:压缩 VHD 文件(Windows 终端执行)
powershell 内运行
# 定位Kali VHD路径(默认位置)如果迁移了 就去找到那个ext4.vhdx
cd $env:LOCALAPPDATA\Packages\KaliLinux.54290C8133FEE_ey8k8hqnwqnmg\LocalState
# 使用diskpart压缩VHD 如果找不到ext4.vhdx,就写全路径"d:\subLInux\kali\ext4.vhdxd:\subLInux\kali\ext4.vhdx"
diskpart
select vdisk file="ext4.vhdx"
attach vdisk readonly
compact vdisk
detach vdisk
exit
✅ 效果:压缩后 VHD 大小会接近 Kali 实际使用空间,通常可减少 30%-50% 的空间占用。
附带一下系统清理
- 基础清理:APT 包管理系统瘦身(每次更新后执行)
这是最有效的空间释放操作,安全无风险,可释放3-8GB空间:
# 1. 更新包列表(滚动更新第一步)
sudo apt update
# 2. 升级所有包(处理依赖关系,替换旧版本)
sudo apt full-upgrade -y
# 3. 自动删除无用依赖包(核心清理步骤)
sudo apt autoremove -y # 删除不再被依赖的旧包
# 4. 清理APT缓存(二选一,推荐autoclean保留最新版本)
sudo apt autoclean -y # 只删除过期缓存包(推荐){insert\_element\_1\_}
sudo apt clean -y # 删除所有缓存包(空间紧张时使用)
- 进阶清理:系统级冗余文件处理
针对日志、临时文件、旧内核等深层冗余,可额外释放1-3GB:
# 1. 清理系统日志(保留近7天)
sudo journalctl --vacuum-time=7d
# 2. 删除临时文件(重启后自动生成,可安全删除)
sudo rm -rf /tmp/* /var/tmp/*
# 3. 清理Kali工具残留(如Metasploit缓存、Nmap扫描结果)
sudo rm -rf ~/.msf4/logs/* ~/.nmap/scan-results-*
# 4. 检查并删除旧内核(滚动更新可能残留多个内核)
dpkg --list | grep linux-image # 列出已安装内核
sudo apt purge linux-image-旧版本号 -y # 删除指定旧内核

233

被折叠的 条评论
为什么被折叠?



