UTM Guide (MacOS)¶
VirtualBox and VMware cannot emulate an x86 machine on an Apple Silicon (M-series) Mac. UTM can: it is a graphical front end for QEMU, and runs the x86 virtual machine in emulation.
Emulation translates every x86 instruction for the ARM processor, so the virtual machine is noticeably slower than it would be on an x86 host.
Prerequisites¶
Install UTM, either by downloading UTM.dmg from the UTM website, opening it and dragging the app into the Applications folder.
If you have already installed UTM, we recommend updating it to the latest version. To check the installed version, open the app, click on the UTM menu
bar dropdown and select About UTM. The latest version of UTM is shown on the product's homepage. To replace the existing version, just follow
the regular installation instructions.
UTM cannot import .ova files, so download the virtual machine as a disk image instead: VM-SO.qcow2.
You will need to log in using your UPB account.
The image is large, so the download may take a while.
Creating the VM¶
UTM has no "import a disk image" button, so you first create an empty virtual machine and then attach the image to it as its disk.
- Open UTM and click Create a New Virtual Machine.
- Select Emulate, not Virtualize. Virtualization only runs ARM VMs.
- Select Other as the operating system.
- On the hardware page, check that Machine is
x86_64, and give the machine 4 GB of RAM and 4 CPU cores. - Check None for the boot device: there is no installer to boot, since the image already holds an installed system. Disable UEFI Boot; this image boots the traditional BIOS way, it does not start with UEFI enabled.
- Set the storage size to at least 20 GB. This creates an empty disk that serves as persistent storage for our VM. It will not occupy any space in the beginning, as it is a dynamic disk.
- Skip the shared directory page.
- Give the virtual machine a name, such as
VM-SO, check Open VM Settings and save it.
The virtual machine exists now, but it has nothing to boot from.
Edit it to attach the image you downloaded - VM-SO.qcow2- as its first drive.:
- Go to Drives, select New..., click Import and choose the
VM-SO.qcow2file you downloaded. - In the Drives change the interface from IDE to VirtIO.
- Right-click the newly added drive and select Move Up, until it is the first drive in the list. The machine boots from the first drive, and the empty disk from the wizard would otherwise come first.
- Click Save.
Running the VM¶
Select the virtual machine in the sidebar and press the play button. The first boot is slow, and may take a couple of minutes before you see a login prompt.
Tweaking the Settings¶
Everything set in the wizard can be changed later, from Edit, while the virtual machine is stopped.
Memory and cores. Change them under System. Use at least 4 GB and 4 cores, and leave at least as much for macOS itself. More cores help less than you might expect: emulation is slow mostly because of the instruction translation, not for lack of cores.
The empty disk. The disk created by the wizard is never used. Once the virtual machine boots from the image, you can delete it under Drives to get its space back.
It does not boot. If the virtual machine shows a UEFI shell or reports that there is no bootable device, check the following:
- UEFI Boot is unchecked under QEMU
- the imported
VM-SO.qcow2drive is the first one under Drives. - the interface of the
VM-SO.qcow2drive under Drives is VirtIO
GUI enabled/disabled
The virtual machine runs faster with the graphical interface disabled. Under emulation every frame the desktop draws costs translated instructions, so the GUI is sluggish and takes CPU time away from your actual work.
To disable the GUI, log in and run, then restart the VM:
To enable the GUI again, run, then restart the VM: