Set Up UTM on macOS
Check which kind of Mac you have
Section titled “Check which kind of Mac you have”Open the Apple menu and select About This Mac. Look for Chip or Processor:
- Intel means the Mac uses the same x86-64 architecture as the course VM. UTM can virtualize the guest directly.
- Apple M1, M2, M3, M4, or another Apple chip means the Mac uses ARM64. UTM must emulate x86-64 for this course.
Apple Silicon can virtualize ARM64 Linux much faster. We are not doing that because later course labs contain x86-64 programs and the assembly lessons depend on everyone observing the same instruction set. Emulation is slower. That is the cost of keeping the results comparable.
Install UTM
Section titled “Install UTM”UTM offers two identical builds:
- The Mac App Store version is paid and receives automatic updates.
- The GitHub download linked from that page is free and open source.
The payment supports the project; it does not unlock extra features. If you use the direct download, open the DMG and drag UTM into Applications.
Start UTM. If macOS asks whether an application downloaded from the internet should be opened, first confirm that you downloaded it from the official UTM page.
Download Ubuntu
Section titled “Download Ubuntu”Download the Intel or AMD 64-bit Ubuntu Desktop LTS ISO from the Ubuntu Desktop download page. Its filename should include amd64.
Do not download the ARM64 image, even if Ubuntu recommends it for an Apple Silicon Mac. That recommendation is sensible for general Linux use; our x86-64 lab environment is the exception.
Create the VM on an Intel Mac
Section titled “Create the VM on an Intel Mac”If About This Mac showed an Intel processor:
- Open UTM and select the + button.
- Select Virtualize, then Linux.
- Select Browse and choose the Ubuntu AMD64 ISO.
- Assign 8192 MB of memory and 4 CPU cores. Use 4096 MB and 2 cores if the Mac has only 8 GB total.
- Create a 60 GB virtual drive.
- Skip shared directories for now.
- Name it
UnderDunn Vulnerability Researchand save it.
Create the VM on Apple Silicon
Section titled “Create the VM on Apple Silicon”If About This Mac showed an Apple chip:
- Open UTM and select the + button.
- Select Emulate. Do not select Virtualize.
- Select Linux.
- Choose x86_64 as the architecture. Keep the default system and machine selections.
- Assign 8192 MB of memory and 4 CPU cores if offered.
- Select the Ubuntu AMD64 ISO.
- Create a 60 GB virtual drive.
- Skip shared directories for now.
- Name it
UnderDunn Vulnerability Researchand save it.
Emulated installation can take considerably longer than Ubuntu’s estimate. Long pauses do not necessarily mean it has frozen. If the same screen shows no activity for 20 minutes, check UTM’s activity indicator before forcing the VM off.
Check networking
Section titled “Check networking”Select the VM, open its settings, and find Network. Use Shared Network mode. This provides NAT-style connectivity through macOS and is enough for installation and updates.
Do not add a shared directory yet. Shared folders connect the VM directly to host files, and the early course does not need one.
Install Ubuntu
Section titled “Install Ubuntu”Start the VM with the play button.
- Select your language, accessibility settings, and keyboard layout.
- Select Install Ubuntu.
- Choose the interactive installation and default application selection.
- Allow updates during installation if offered.
- Choose Erase disk and install Ubuntu.
- Create an account. A username such as
studentis fine. - Let installation complete and select Restart Now.
“Erase disk” refers to the empty virtual disk, not the Mac’s internal drive.
UTM may restart to a black screen or return to the installer. Stop the VM, open its settings, select the removable CD/DVD drive, and eject the Ubuntu ISO. Start the VM again. UTM’s Ubuntu guide notes that removing the installer media manually may be necessary.
Confirm the architecture
Section titled “Confirm the architecture”Log in, open Terminal, and run:
uname -m
The expected result is:
x86_64
If it prints aarch64 or arm64, you created an ARM guest. Return to the creation steps now, before investing more time in a VM that will not match later labs.
Update Ubuntu and install UTM’s integration agents:
sudo apt update sudo apt upgrade sudo apt install spice-vdagent qemu-guest-agent sudo reboot
The agents improve clipboard behavior, time synchronization, and dynamic resolution. They do not change the guest architecture.
Create a clean recovery point
Section titled “Create a clean recovery point”Shut down Ubuntu. If your UTM configuration offers snapshots, create one named:
Clean Ubuntu installation
If snapshots are not available for the selected backend, leave the VM powered off and duplicate or archive its .utm package in Finder. Never copy the package while the VM is running.
Knowledge check
Question 1 of 3
Knowledge check complete
You answered all 3 questions correctly.