问题描述

WSL Ubuntu 虚拟机的虚拟硬盘占用了差不多 70GB 空间,实际上虚拟机的文件系统只使用了 10GB 左右。

问题描述


原因分析

WSL2 使用的是动态硬盘,当在虚拟机中创建文件,虚拟硬盘的大小就会增加。但是,当删除这些文件时,虚拟硬盘的大小并不会相应减小。这是因为虚拟硬盘文件(VHDX)不会自动收缩。


解决方案

  1. 检查虚拟机状态。
wsl --list --verbose
  • 1

  1. 关机。
wsl --terminate Ubuntu
  • 1

  1. 操作前建议先备份 WSL 系统。

  2. 启动 diskpart。
    diskpart 是 Windows 系统中的一个命令行磁盘分区工具,它可以用来创建、删除和管理驱动器或分区的大小和类型。你可以使用 diskpart 来格式化驱动器,更改驱动器的字母,以及执行其他与磁盘和分区相关的任务。

diskpart
  • 1

同意更改。

打开一个新的终端窗口。

  1. 选择虚拟硬盘文件。
select vdisk file="G:\WSL\Ubuntu\ext4.vhdx"
  • 1

  1. 压缩虚拟硬盘。
compact vdisk
  • 1

  1. 压缩完成。
    VHDX 文件减小到 10GB。


参考资料

  • https://stephenreescarter.net/how-to-shrink-a-wsl2-virtual-disk/
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐