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 M-series or another Apple chip means the Mac uses ARM64. UTM must emulate x86-64 for this course.
Apple Silicon can virtualize ARM64 Linux a lot faster than it can emulate anything, so the next instruction is going to feel wrong. Take the x86-64 emulation path anyway. Every program and assembly example we hand you is x86-64, and the instructions you read have to match the ones actually executing. It will be slower than an ARM64 VM, and that is the trade we’re making on purpose.
Install UTM
Section titled “Install UTM”These instructions follow UTM 4.7.5 for macOS, which needs macOS 11 Big Sur or later. UTM ships two builds that are functionally identical:
- The Mac App Store version is paid and receives automatic updates.
- The GitHub download linked from that page is free and open source.
Paying supports the project rather than unlocking anything, so pick whichever you prefer. If you take the direct download, open the DMG and drag UTM into Applications.
Start UTM. If macOS asks whether you really want to open an application downloaded from the internet, stop and confirm you got it from the official UTM page before you click through.
Download Ubuntu
Section titled “Download Ubuntu”Download the official Ubuntu 24.04.4 Desktop AMD64 ISO. The file you want is named ubuntu-24.04.4-desktop-amd64.iso.
Open Terminal on the Mac host and check what you actually got:
shasum -a 256 ~/Downloads/ubuntu-24.04.4-desktop-amd64.isoThe SHA-256 value must be:
3a4c9877b483ab46d7c3fbe165a0db275e1ae3cfe56a5657e5a47c2f99a99d1eSo if the hash doesn’t match, delete the file and download it again.
And don’t take the ARM64 image, even though Ubuntu will recommend it for an Apple Silicon Mac. That recommendation is perfectly sensible for general Linux use (our x86-64 lab environment is the exception, not Ubuntu’s advice).
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 Systems Foundationsand 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 Systems Foundationsand save it.
Emulated installation usually takes a lot longer than whatever estimate Ubuntu puts on the screen, and long pauses don’t mean it has frozen. If the same screen sits there with no activity for 20 minutes, check UTM’s activity indicator before you force the VM off. Forcing it off during installation may leave you needing to restart the installation.
Check networking
Section titled “Check networking”Select the VM, open its settings, and find Network, then use Shared Network mode. That gives you NAT-style connectivity through macOS, and it is all we need for the installation and the updates.
Don’t add a shared directory yet. Shared folders wire the VM straight into your host files, and nothing in the early course needs that.
Install Ubuntu
Section titled “Install Ubuntu”Start the VM with the play button, and give it a moment before you decide nothing is happening.
- 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 here means the empty virtual disk we just created, and not the Mac’s internal drive.
UTM may restart into a black screen, or drop you back at the installer. Stop the VM, open its settings, select the removable CD/DVD drive, eject the Ubuntu ISO, and start the VM again. UTM’s own Ubuntu guide mentions you sometimes have to pull the installer media by hand. This is expected, and not a sign anything went wrong.
Confirm the architecture
Section titled “Confirm the architecture”Log in, open Terminal, and run:
uname -mYou should get:
x86_64If it prints aarch64 or arm64, you built an ARM guest by mistake. Go back to the creation steps right now, before you sink more time into a VM built for the wrong architecture.
Then confirm the guest is pinned to the LTS release this course was built against:
grep '^VERSION_ID=' /etc/os-releaseIt has to print VERSION_ID="24.04". Now update Ubuntu and install UTM’s integration agents:
sudo apt updatesudo apt upgradesudo apt install spice-vdagent qemu-guest-agentsudo rebootThe agents support clipboard integration, time synchronization, and dynamic resolution. They don’t change the guest architecture; a guest reporting ARM still needs to be recreated using the x86-64 path.
Create a clean recovery point
Section titled “Create a clean recovery point”Shut Ubuntu down first, and then, if your UTM configuration offers snapshots, create one named:
Clean Ubuntu installation
If snapshots aren’t available for the backend you picked, leave the VM powered off and duplicate or archive its .utm package in Finder. Keep the VM powered off while copying the package. Copying files while the guest changes them can leave you with an inconsistent recovery copy.
Check the setup and recover
Section titled “Check the setup and recover”Before continuing, confirm that Ubuntu boots, reports x86_64, and can reach its package repositories. Keep the recovery point so you can return to this working setup.
- Apple Silicon guest reports
arm64oraarch64: delete the VM and rebuild it with Emulate, x86_64, and the verified AMD64 ISO. Converting one after the fact is not worth the trouble. - The installer repeats or shows a black screen after restart: power off, eject the ISO from the removable drive, and boot again.
- Emulation seems stalled: check UTM’s activity before you force it off, because x86-64 installation on Apple Silicon is much slower than you expect.
- Networking fails: put Shared Network mode back before you go editing anything inside Ubuntu.
- The baseline gets uncertain: restore the snapshot or the powered-off package copy, then run the confirmation commands again.
Keep Ubuntu running, and continue to Prepare Your Course Workspace and complete it inside the VM.
UTM documentation describes the guest settings and host-dependent choices. Check the machine architecture before treating a successful boot as proof of course compatibility.
Check your understanding
Section titled “Check your understanding”Knowledge check
Question 1 of 2
Practice complete
You've checked the key ideas. Revisit any explanation you need, then continue when it makes sense.