What is UTM?
UTM is a free and open-source emulator that allows you to run virtual machines on macOS, including Apple Silicon (M1/M2/M3) chips. It supports both ARM64 and x86_64 architectures, making it ideal for testing Linux distributions without dual-booting.
Prerequisites
- A Mac with Apple Silicon (M1/M2/M3)
- macOS 12 Monterey or later
- At least 8GB RAM (16GB recommended for smooth performance)
- Download the latest UTM release from mac.getutm.app
Step-by-Step Setup
1. Install UTM
- Download the
.dmgfile from the official website. - Open the downloaded file and drag UTM into your Applications folder.
- Launch UTM from Launchpad or Finder.
- If you see a security warning, go to System Settings > Privacy & Security and allow UTM to run.
2. Create a New Virtual Machine
- In UTM, click the + (Plus) button in the top-left corner.
- Select Linux as the operating system and choose Full Virtualization.
- Click Next.
3. Download a Linux ISO
Choose an ARM64-compatible Linux distribution:
Download the ISO and select it in UTM when prompted.
4. Configure Resources
- CPU Cores: 2–4 cores recommended
- Memory: 4GB minimum (8GB for desktop environments)
- Disk Size: 20GB or more depending on your needs
5. Install Linux
- Start the virtual machine.
- Follow the on-screen installer prompts for your chosen distribution.
- Create a user account and set a password.
- Once installed, shut down the VM and remove the ISO from the drive settings.
6. Post-Installation Tips
- Shared Clipboard: Enable in UTM settings for easy copy-paste between host and guest.
- VirtioFS: Use VirtioFS to share folders between macOS and Linux for seamless file access.
- Graphics: For desktop environments, install
xorgorwaylandpackages inside the VM.
Troubleshooting
- VM won't start: Ensure you downloaded an ARM64 ISO, not x86_64.
- Poor performance: Allocate more CPU cores and RAM in VM settings.
- No network: Check that the network adapter is set to NAT or Bridged in UTM settings.
What's Next?
Now that you have a Linux VM running, explore our command reference and other tutorials to start mastering the terminal!
Browse Commands →