A VM's disk is a file in its package, in one of two formats, and it shows its guest sectors of one of two sizes. MacVisor picks both for you, except where you install Linux from an ISO or add a disk. This page says what the choices mean.
ASIF or raw
| ASIF | Raw | |
|---|---|---|
| What it is | Apple's sparse disk image format | A plain image, byte for byte |
| Space on the Mac | Grows as the guest writes, and may give freed space back | Its full size, less what APFS leaves unwritten |
| Copy to another drive | Stays compact | Needs its full size free there |
| Snapshots and full clones | Yes | Yes |
| Linked clones, and a VM's own linked clones of it | Yes | No: convert it first |
| Shrinking | A macOS guest's | No |
| Growing | Yes | Yes (Expand…) |
| Sector size | 512 bytes or 4 KB | 512 bytes |
| Other tools | macOS's own disk tools read it; most others don't | Any tool reads it: qemu-img, dd, other virtualizers |
Choose ASIF, the default, unless you need a plain image another tool reads. On APFS, snapshots clone a disk of either format copy-on-write, so they cost almost nothing when you take them. On a drive that isn't APFS, or a network share, every snapshot, clone and revert copies the disk in full. See Storage locations.
A raw disk shows as Raw in VM Settings → Storage.
Sector size
The sector size is the block size the guest's disk reports: 512 bytes, or 4 KB (native), which matches APFS. The guest's partition table and file systems are laid out for it, so a disk's sector size never changes: not by a resize, a linked clone, a flatten or a conversion to ASIF.
- 512 bytes is what most installers, partitioning tools and other virtualizers expect. It's the default wherever you choose.
- 4 KB is native. Some installers and tools expect 512 bytes and fail on it.
A raw disk always has 512-byte sectors.
Debian and Kali installers need 512-byte sectors
Debian's installer (debian-installer, also used by Kali) fails at partitioning on a disk with 4 KB sectors. On ARM64 it formats the EFI system partition as FAT16 with one sector per cluster, and FAT16 has too few clusters to cover a 1 GB partition of 4 KB sectors. The step fails, the installer stops, and the disk is left without a system.
That's why blank Linux disks are 512 bytes by default. Keep 512 bytes for these installers. If you must use 4 KB sectors, make the EFI partition 250 MB or smaller by hand in the installer's manual partitioning. Ubuntu's installer works with either size.
What each VM gets
| VM | Format | Sector size |
|---|---|---|
| Linux from a cloud image | ASIF, a linked clone of its template | The image's own, usually 512 bytes |
| Linux from an ISO | Your choice: ASIF (default) or Raw | Your choice for ASIF: 512 bytes (default) or 4 KB |
| Linux with no ISO (an empty VM) | ASIF | 512 bytes |
| macOS, Windows | ASIF | 4 KB |
| FreeBSD from the catalogue or a disk image | ASIF | The image's own |
| An additional disk | Your choice: ASIF (default) or Raw | Your choice for ASIF: 512 bytes (default) or 4 KB |
| Imported from another app | As it was: a raw or ASIF disk stays so. qcow2 and Parallels disks become ASIF, and so does a raw disk with 4 KB sectors. | As it was |
If MacVisor's background service is older than the app, as just after an update before it restarts, it may make a disk with 4 KB sectors whatever you chose. New VM, Add Disk and mvz say so when it does.
Choose when you install Linux from an ISO
- Press ⌘N, choose Linux, then Installer ISO, and pick an ARM64 ISO.
- Once an ISO is chosen, Disk Format and Sector Size appear. Keep ASIF and 512 bytes unless you have a reason not to.
- Click Create, start the VM and install Linux in its window.
From the CLI:
mvz create ~/Downloads/debian-13-arm64-netinst.iso deb --os linux # ASIF, 512 bytes
mvz create ~/Downloads/archlinux-aarch64.iso arch --os linux --disk-format raw # raw, 512 bytes
mvz create ~/Downloads/fedora-44-aarch64.iso fed --os linux --sector-size 4k # ASIF, 4 KB
| Option | Values | Default |
|---|---|---|
--disk-format | asif, raw | asif |
--sector-size | 512, 4096 (or 4k) | 512 |
Both are for a Linux VM installed from an ISO only, and create refuses them otherwise. A raw disk with --sector-size 4096 is refused: it would need ASIF. create prints what it made, such as "64 GiB ASIF disk (512-byte sectors)", and the network the VM is on. See Linux from an ISO.
Add a disk
Shut the VM down, with no saved session, then:
- VM Settings → Storage → Additional Disks, click Add Disk.
- Set the size, the Format (ASIF or Raw) and, for ASIF, the Sector Size. The line under it says what the choice means.
- Click Add, start the VM, and partition and format the disk in the guest.
mvz disks add dev --size 100 # ASIF, 512 bytes
mvz disks add dev --size 100 --sector-size 4k # ASIF, 4 KB
mvz disks add dev --size 100 --format raw # raw, 512 bytes
mvz disks list dev # each disk's format and sector size
A removed disk goes to the Trash, so unmount it in the guest first. See Additional disks and media.
See a disk's format
- VM Settings → Storage shows each disk with its size, format and sector size, such as "64 GB - ASIF - 512-byte sectors".
- The Overview's Storage card names the boot disk with its size and bus, and a linked clone's layers.
mvz show <vm>andmvz disks list <vm>give each disk's format and sector size.
Convert a raw disk to ASIF
To make a linked clone of a VM with a raw disk, or to keep its disk compact when it's copied to another drive, convert it:
- Shut the VM down.
- In VM Settings → Storage, click Convert to ASIF….
You need free space for about as much data as the disk holds, not its full size: only the blocks the raw disk uses are written. The disk keeps its 512-byte sectors, and the raw file goes to the Trash once the new disk is verified (on a drive with no Trash, it's deleted once the whole image compares equal). This is in the app only, and there is no conversion back to raw. See Converting a disk to ASIF is refused.
Space
- ASIF disks grow as the guest writes. When the guest discards space it has freed, the disk may give some of it back to the Mac. How much depends on the guest and the disk, and blocks shared with snapshots or clones stay in use. A Linux VM with the agent discards with Free Unused Space on the Overview, or
mvz trim <vm>, and says how much space the Mac got back. - A VM's Logical size is what the guest sees, Physical what it takes on the Mac, and Private what deleting it would free, after blocks shared with clones and snapshots. See Storage measurements.
- Snapshots and linked clones share unchanged blocks with the disk they came from. Their private size grows as the VM moves away from them.
To make a disk bigger or smaller, see Resizing.
DeltaSync