DiskGenius扩容+压缩VMware虚拟磁盘

前言

事情是这样的,我最近在VM里创建了一个 Ubuntu 虚拟机用来编译 AOSP,低估了这玩意的占用空间,一开始创建的时候只给了300G,后来塞满了要扩容。但是用VM自带的扩展功能会报错,说磁盘空间不足。我想从300扩到500,可实际上这个盘还有600G的可用空间。一番折腾下发现可以用 DiskGenius 扩容,而且占用空间还会变小,相当于顺带压缩了。本文记录一下过程便于后来者抄作业。

方案和优劣

整体思路是创建一个空的新虚拟磁盘,容量给大点,然后打开旧的虚拟磁盘,把文件搬过去,最后直接把旧的虚拟磁盘文件覆盖掉即可。

优:比VM虚拟机扩容的速度要快,而且生成的虚拟磁盘文件会比VM的要小一点。

劣:因为是复制一个盘,所以需要两倍的空闲硬盘空间。

创建新的虚拟磁盘

如图所示,点击 DiskGenius 菜单的磁盘->新建虚拟磁盘文件->新建 VMware 虚拟磁盘文件

这一步是创建一个空的盘。路径是新的硬盘的路径,不要选要扩容的盘的路径,会直接覆盖掉,数据就没了。

容量可以写大点,不会立刻占用的。版本选VM当时创建虚拟机的版本号。其他的你当时创建虚拟机怎么填的这里就怎么填。

打开旧的虚拟磁盘

点击菜单磁盘->打开虚拟磁盘文件,打开要扩容的虚拟磁盘。

克隆虚拟磁盘

点击菜单工具->克隆磁盘,会依次让你选择两个盘,第一个选旧的,第二个选新的。

注意要点克隆磁盘,点克隆分区有可能不显示虚拟磁盘。

开始克隆

到这个界面以后选项如图所示,下面那个盘可能会有灰色的未分配空间,在蓝色部分的边缘拖一下让他占满即可。

点开始,坐等结束,最后把新虚拟磁盘的文件名字改成和旧的一样,直接覆盖掉原文件即可。

相关推荐
消失的旧时光-19432 小时前
从 Kotlin 到 Dart:为什么 sealed 是处理「多种返回结果」的最佳方式?
android·开发语言·flutter·架构·kotlin·sealed
Jinkxs2 小时前
Gradle - 与Groovy/Kotlin DSL对比 构建脚本语言选择指南
android·开发语言·kotlin
&有梦想的咸鱼&2 小时前
Kotlin委托机制的底层实现深度解析(74)
android·开发语言·kotlin
LDORntKQH3 小时前
基于深度强化学习的混合动力汽车能量管理策略 1.利用DQN算法控制电池和发动机发电机组的功率分配 2
android
冬奇Lab3 小时前
Android 15 ServiceManager与Binder服务注册深度解析
android·源码·源码阅读
2501_916008895 小时前
深入解析iOS机审4.3原理与混淆实战方法
android·java·开发语言·ios·小程序·uni-app·iphone
独行soc6 小时前
2026年渗透测试面试题总结-20(题目+回答)
android·网络·安全·web安全·渗透测试·安全狮
常利兵6 小时前
2026年,Android开发已死?不,它正迎来黄金时代!
android
Risehuxyc6 小时前
备份三个PHP程序
android·开发语言·php
Doro再努力16 小时前
【Linux操作系统10】Makefile深度解析:从依赖推导到有效编译
android·linux·运维·服务器·编辑器·vim