缩小 WSL2 VHDX 文件的大小
经常使用 WSL2 的小伙伴们有的时候会遇到发行版内之前使用的文件已经删除单 Windows 下的发行版 VHDX 还占用巨大空间的情况,这个时候很容易的能想到使用 diskpart
diskpart> select vdisk file="C:\Users\\AppData\Local\Packages\\LocalState\ext4.vhdx"
diskpart> compact vdisk
或者使用 Hyper-V 提供的
Optimize-VHD
PS> Optimize-VHD -Mode Full -Verbose "C:\Users\\AppData\Local\Packages\\LocalState\ext4.vhdx"
进行缩小,执行之后 VHDX 文件的确是变小了,但是也还没有那么小
此时应进入到 WSL2 中,运行
zerofree
将 ext4 文件系统内已经不用的块填零,但 zerofree
不能运行在已经挂载为 rw 的文件系统上,那就把文件系统挂载为 readonly 就行了wsl2> mount mount /dev/sda -o remount,ro
wsl2> zerofree /dev/sda
运行结束后,在 Windows 下关闭 WSL2
PS> wsl --shutdown
然后再运行最开始
diskpart
的 compact
或者 Optimize-VHD
就可以把 WSL2 的 VHDX 缩小到很接近于使用了的空间的大小了【缩小 WSL2 VHDX 文件的大小】FYI,不能使用
Resize-VHD
用来缩小 WSL2 的 VHDX,会报“无法调整虚拟磁盘的大小”“无法完成请求的操作,原因是无法确定虚拟磁盘的安全大小下限。 这可能是因为分区表丢失或损坏。 (0xC03A0026)。”的错误,似乎是因为 WSL2 的 VHDX 里没有分区表而直接整个是 EXT4 格式的分区推荐阅读
- Win10|Win10 安装 Docker Desktop ( 基于WSL2,WSL vs Hyper-V)
- android动画纵向放大缩小以左上角为中心点()
- 解决(Mac电脑全屏到屏幕缩小,window.onresize无效bug)
- 如何缩小安全漏洞爆炸半径,实现服务间零信任安全()
- vue项目之H5 app页面通过swiper实现中间变大,两边缩小的滑动轮播功能
- 简单的移动端图片预览|简单的移动端图片预览 包含放大缩小以及对各种手势的判定
- 预览图片|预览图片 支持放大缩小,旋转等功能
- wsl|微软win10的linux子系统wsl2出现Vmmem内存占用过大问题解决方法
- Vue实现点击图片查看大图加放大缩小拖拽等功能
- jquery图片查看插件,支持旋转、放大、缩小、拖拽、缩略图(仿qq图片查看)...