vhdx
是windows
上的一种基于Hyper-V的虚拟磁盘格式,其体积可以随着实际使用的空间而自动增长。
问题
但是它却并不会随着空间的释放而自动收缩。
也就是说,创建了一个10GB空间的虚拟磁盘,往里面放了100GB的文件,它就会自动增长到100GB。但是,当你删除了其中50GB的文件之后,它也仍然维持在100GB的占用空间大小。
解决
我们使用Hyper-V模组中的optimize-VHD
命令来进行空间的回收。
- 使用
启动或关闭windows功能
使能Powershell的Hyper-V模块
和Hyper-V服务
这两项,可能需要重启生效 - 如果你的虚拟磁盘正在挂载着,需要将其卸载,或者以只读方式挂载。可以在
磁盘管理
中进行,或者直接右键弹出
- 管理员模式打开
powershell
使用命令optimize-vhd -path [a:/b.vhdx] -mode full
进行空间释放