必须通过qemu-img命令扩容qcow2镜像并扩展客户机内分区与文件系统:先关闭虚拟机,在终端执行qemu-img resize disk.qcow2 +20g;再启动虚拟机,用parted扩展分区,最后用resize2fs或xfs_growfs扩展文件系统。

当Mac上运行的UTM虚拟机系统盘空间告急,但又不能重装系统或丢失已配置的开发环境、数据和软件时,必须通过安全扩容方式将虚拟磁盘容量增大,同时确保客户机内原有分区结构与文件系统完整可用。
确认虚拟磁盘格式与当前状态
打开UTM应用,选中目标虚拟机→点击右下角「编辑」→进入「Drives」标签页。找到主系统盘(通常为disk.qcow2),确认其格式为【QCOW2】——这是UTM默认且唯一支持命令行扩容的格式;若显示为raw或img,则无法用qemu-img安全扩容,需先导出再转换。
关闭该虚拟机,确保状态为「已停止」而非「暂停」或「保存状态」,否则qemu-img可能因文件被锁定而报错。
用qemu-img命令扩大镜像文件
在Mac终端中执行:qemu-img resize /path/to/your/disk.qcow2 +20G,其中/path/to/your/disk.qcow2需替换为实际磁盘文件的绝对路径(可直接从UTM「Drives」页拖入终端自动补全),+20G表示在原大小基础上增加20GB;若要设为固定总大小(如80G),则写80G不加+号。
这一步仅修改镜像文件头部元数据并扩展逻辑空间,不触碰内部任何分区或文件系统,执行后立即生效,无需重启UTM。
启动虚拟机并扩展客户机内分区与文件系统
第一步:启动虚拟机,登录系统。Linux用户请确保已安装parted和resize2fs(ext4)或xfs_growfs(XFS);macOS客户机(如macOS VM)需进Recovery模式操作;Windows客户机请用磁盘管理控制台。
第二步:识别磁盘设备名。Linux下运行lsblk,确认系统盘为/dev/sda(常见)或/dev/vda(VirtIO驱动下更典型),注意区分sda(整块盘)与sda1(第一个分区)。
第三步:扩展分区表。使用sudo parted /dev/vda(以vda为例)→输入print free查看未分配空间→输入resizepart 1 100%(将第1个分区扩至末尾)→输入quit退出。
第四步:扩展文件系统。若为ext4分区,执行sudo resize2fs /dev/vda1;若为XFS,执行sudo xfs_growfs /(挂载点为根目录时)。这一步必须在分区扩展之后执行,否则文件系统仍认为自己只有旧容量。











