WSL2 专属:压缩 VHD 回收 Windows 空间

当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% 的空间占用。

附带一下系统清理

  1. 基础清理: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. 进阶清理:系统级冗余文件处理
    针对日志、临时文件、旧内核等深层冗余,可额外释放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  # 删除指定旧内核
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值