Disk Configuration
Manage virtual hard disks for your virtual machine.
📸 Screenshot:
Fields
| Field | Description |
|---|---|
| Size (GB) | Displays the original size of the virtual disk. |
| Interface | Linux: VirtIO or NVME. Windows: NVME (default), SATA, or VirtIO. See Disk interfaces. Installing Windows yourself onto VirtIO: see these steps. macOS VMs always use VirtIO. |
| Resize (GB) | Specify a new size to expand the disk. |
| Resize Disk | Applies the new size. (Edit only) |
| Read Only | Mount the disk in read-only mode. |
| Disk Type | Choose between Fixed and Dynamic for supported guests (Tahoe onwards). Fixed: Allocates the full specified disk size upfront. Dynamic: Allocates space as needed, growing with stored content to optimise storage usage. |
| Convert to Fixed / Convert to Dynamic | Changes an existing disk's type (macOS 26 or later). (Edit only) See Converting between Fixed and Dynamic. |
| Cache Mode | Controls data caching behaviour. macOS and Linux VMs only. Auto: Framework automatically determines whether to enable caching. Cached: Enables data caching. Uncached: Disables data caching. |
| Sync Mode | Controls disk synchronisation behaviour. macOS and Linux VMs only. Full: Synchronises data to permanent storage holding the disk image. FSync: Synchronises using the system’s best-effort mode. None: Disables data synchronisation. |
| Shrink on Trim | Windows guests with a Dynamic disk only. On by default for new disks; existing disks keep their setting. When on, the disk file shrinks as Windows frees space: Windows trims deleted data, the space is returned to your Mac, and the file is compacted when the VM stops. Also works on the newest layer of Checkpoints and Linked Clones. Changing it needs the VM to be stopped. See Shrink Image on Trim. |
| Compact Disk | Windows guests with a Dynamic disk only. (Edit only, VM shut down) Frees the space Windows no longer uses on the disk's NTFS, FAT32 and exFAT volumes, and shrinks the disk file. Use it for FAT32 and exFAT volumes, which Windows never trims. See Compact Disk. |
| Show in Finder | Opens the disk file location in Finder. |
| Import Disk | Import a new disk image into the VM bundle. (Edit only) |
| Add Existing Disk | Attach an existing disk file previously created or used with another VM. |
| Drag & Drop | Drag a .img disk file directly into the interface to attach it. |
Converting between Fixed and Dynamic
The type of a new disk is chosen when it is created. To change it later, click Convert to Dynamic or Convert to Fixed next to Disk Type (macOS 26 or later). You can also click the Convert button (âźł) on a disk in the Disk Space Analyzer.
- Dynamic saves space on your Mac: the file only grows as the guest writes data, and keeps that size when you copy or move it.
- Fixed is a raw image that other tools can read and write directly.
The sheet shows the space the conversion needs and the free space on your Mac. VirtualProg copies the disk in the new format and replaces it only when the copy is complete, so Cancel or an error leaves the disk as it was. The guest sees the same disk afterwards; nothing changes inside it.
A conversion can't start while:
- the VM is running or suspended, or its window is open
- the VM has Checkpoints, or Linked Clones depend on the disk (delete them first)
- the disk is an external disk
The VM can't start until the conversion is done. Template disks can be converted too; snapshot
disks can't. From the command line, see vpvm config disk convert in the
Command Line guide.
Resizing Guidance
For Linux Guests
- The disk will be resized as requested.
- You must then resize the partition from within the Linux guest using tools like
gpartedorparted.
For macOS Guests
- After resizing, VirtualProg automatically relocate(only for fixed disks) the Recovery partition to the end of the disk.
- If it is a dynamic disk, because of appstore sandbox restrictions we cannot automatically relocate the recovery partition. You have to manually move it to the end of the disk. Identify the path of the disk image using Show In Finder in the disk config screen. Download the RelocatePartition from Tools > Download Relocate Partition and run
- You must then resize the APFS container from the macOS guest.
Steps:
- Boot into macOS Recovery (you may need to change the boot disk in the config temporarily).
- Open Terminal and run: Find the APFS Container identifier.
- Resize it:
- Boot back to macOS (and set the boot disk to Auto if needed).
▶️ Watch this video demo for resizing both macOS and Linux disks:
