
To run a Linux virtual machine on a Mac, install a virtualization app and create a guest using a Linux image that matches your processor. Apple silicon Macs normally need ARM64 Linux; Intel Macs need x86_64 Linux. UTM is a useful free starting point for a desktop or server VM, while Lima suits command-line development.
A virtual machine gives you a separate Linux operating system without replacing macOS or repartitioning your startup disk. It is useful for learning Linux administration, testing packages, and developing against a Linux environment. The important choices are the processor architecture, the guest operating system, and the resources your Mac can spare.
This guide uses current product documentation to explain those choices and a practical UTM setup. It does not present measured performance comparisons between virtualization tools.
Open About This Mac from the Apple menu. A chip name such as Apple M1 or M4 identifies Apple silicon; an Intel processor identifies an Intel Mac. Apple's guide to identifying a Mac with Apple silicon explains where to look.
| Mac hardware | Linux image for virtualization | Names you may see |
|---|---|---|
| Apple silicon | 64-bit Arm | ARM64 or aarch64 |
| Intel | 64-bit x86 | x86_64 or amd64 |
The amd64 label also applies to Intel processors. It describes an instruction-set architecture, not a requirement to own an AMD chip. Downloading the wrong image is a common reason an installer will not boot.
Virtualization runs a guest with the same underlying CPU architecture as the host. Emulation can reproduce a different architecture, allowing software such as UTM with QEMU to run an x86 guest on an Arm Mac. Translating instructions adds work, so do not expect the same performance as a native-architecture guest.
Running an individual Intel Linux program inside an Arm Linux guest is another case. Apple's Linux binary-translation documentation describes support for that arrangement. It does not turn an Arm VM into an Intel machine or make an x86 Linux installer boot. Check the application's architecture and dependencies before deciding whether translation is enough.
Start with the workflow you need. A Linux desktop benefits from an app with a graphical VM manager. A disposable shell environment may be simpler through Lima. Check each product's supported macOS versions and guest systems before installing it, especially on an older Mac.
| Tool | Useful starting point for | Cost and licensing | Compatibility detail |
|---|---|---|---|
| UTM | Graphical management of desktop and server VMs | Free download; paid App Store edition supports the project | Offers QEMU and Apple virtualization backends, with different features |
| VMware Fusion | A conventional desktop VM workflow | Free for personal, educational, and commercial use | Apple silicon hosts require supported Arm guests |
| Parallels Desktop | A commercial VM manager with macOS integration | Paid product; compare current editions | Current version 27 targets Apple silicon; Intel support continues through version 26 |
| VirtualBox | Users already familiar with its VM manager | Base package under GPLv3; Extension Pack has separate terms | Version 7.2 documents Arm Linux guests on macOS Arm hosts |
| Lima | Command-line Linux development environments | Free and open source | Its native macOS virtualization backend does not run cross-architecture guests |
UTM's website download and App Store edition have the same features. The store edition adds automatic updates and funds development. VMware's Fusion licensing announcement confirms that commercial use is now free, so older comparisons that reserve free use for individuals are outdated.
For compatibility details, consult the Fusion Arm guest guidance, Parallels system requirements, and VirtualBox 7.2 documentation. Support for booting a distribution does not guarantee every display, USB, or graphics feature works identically across tools.
The following sequence covers a straightforward Ubuntu installation. UTM's Ubuntu setup guide provides a reference for its wizard; labels and available devices can vary with your UTM version and selected backend.
Choose a supported Ubuntu release for your CPU architecture. On Apple silicon, the Ubuntu Server for Arm download provides an ARM64 option. On Intel, use the corresponding amd64 image from Ubuntu's official downloads. Choose a desktop image only when you need a graphical Linux desktop and your selected virtualization tool supports it.
A server image is enough for terminal-based development and administration. If you need a specific application, first confirm that its packages are available for the chosen architecture. Follow Ubuntu's image verification instructions to check the download's integrity and signature.
In UTM, create a new virtual machine, choose Virtualize, and select Linux. Attach the matching installation ISO. Use Emulate only when you deliberately need a different guest architecture.
UTM can use different virtualization backends. Keep the recommended settings for the selected guest unless you have a specific reason to change them. Instructions for QEMU devices, shared folders, or display drivers do not automatically apply to Apple's virtualization backend.
For a modest Ubuntu Server test environment, 2 virtual CPUs, 4 GB of RAM, and a 40 GB virtual disk are an illustrative starting configuration. They are not universal minimum requirements. A desktop, database, large build, or several services may need more; check the distribution and application's requirements.
Leave resources for macOS and the apps you keep open. Giving a guest most of your memory can make both systems less responsive. Check free host storage as well as the virtual disk's advertised capacity: a growing disk image still needs physical space for its contents, updates, and snapshots.
Start the VM and follow the Linux installer. Confirm that installation targets the virtual disk created for this guest. Do not attach a physical drive unless that is an intentional, separately understood task.
Create your Linux user account and finish installation. When prompted to reboot, remove or eject the installation ISO from the VM's virtual drive. If the installer starts again, check the boot order and attached image before repeating the installation.
Inside the Ubuntu guest, open a terminal and run:
uname -m
cat /etc/os-release
sudo apt update
sudo apt upgrade
The first two commands identify the running architecture and distribution. On Arm Linux, expect an architecture name such as aarch64; on Intel Linux, x86_64. Review the package changes before accepting the upgrade. These commands belong in the Linux guest, not the macOS Terminal.
Install integration tools only for your chosen backend and guest. UTM's Linux guest support guide explains display and clipboard integration, including SPICE tools for appropriate QEMU configurations. Installing an unrelated driver package will not add features that the backend lacks.
Start with the default shared networking arrangement and check that the guest can reach its package repositories. UTM's QEMU network settings distinguish shared, host-only, and bridged modes. Bridging changes how the guest appears on your network; use it when that behavior is necessary.
Folder sharing also depends on the backend. Follow the matching documentation and share a dedicated project folder instead of your entire home directory. Enable write access only when the workflow needs it. Clipboard and folder sharing are deliberate connections between host and guest, so a VM with broad sharing is not an isolated place for untrusted files.
Lima is worth considering when you want a repeatable development environment without managing a full graphical desktop. Its installation guide documents Homebrew installation. On a Mac where Homebrew is already installed, the basic commands are:
brew install lima
limactl start
limactl shell default
Run these in macOS Terminal. Follow the configuration prompt from the start command; the shell command then enters the default guest. Inside Linux, use uname -m to confirm the architecture. Exit that shell before running limactl stop default on the Mac.
Read Lima's usage guide before changing mounts: the default guest home differs from your host home, and host files may be exposed through read-only mounts. Its native macOS backend uses Apple's virtualization framework and does not support cross-architecture guests.
Record the Mac chip, macOS version, virtualization app, backend, Linux release, and image architecture before changing settings. That information is more useful than assuming all Linux VMs behave alike.
| Symptom | First check | Useful next action |
|---|---|---|
| Installer will not boot | Image architecture and virtual boot device | Match ARM64 or amd64 to the host; confirm the ISO is attached |
| Installer starts after every reboot | Installation media and boot order | Eject the ISO and boot from the installed virtual disk |
| An application reports an executable format error | The program's CPU architecture | Use a native package or evaluate an explicitly supported translation method |
| The Mac and guest both feel slow | Host memory pressure, available disk space, and running processes | Reduce competing workloads; adjust guest allocation based on observed demand |
| Clipboard, folders, or display resizing do not work | Backend support and guest integration tools | Use the documentation for that exact combination |
Measure the task you care about, such as a build, test suite, or database query. Use the same input and configuration when comparing changes. There is no reliable universal percentage for how close a Linux VM will run to native performance.
A full VM is useful when you need to administer the guest kernel, services, users, or operating-system packages. If you only need a containerized application, your existing container tool may be enough. Docker Desktop already runs its Linux engine in a VM on macOS, so adding a separate desktop Linux VM is not automatically an improvement.
For machine-learning environments, our virtual machine versus container guide explains the packaging and isolation tradeoffs. If a workload needs more memory or a different CPU environment than your Mac provides, consider a remote server. Our guide to vCPU virtual machines covers workloads that do not need a GPU.
A Linux guest does not turn an Apple GPU into an NVIDIA CUDA device. For workloads that require a supported NVIDIA GPU, compare suitable remote hardware and software requirements using the GPU virtual machine guide. Compute with Hivenet offers remote CPU and GPU resources; check the current configurations against your workload.
Keep network access, data transfers, ongoing charges, and software compatibility in that decision. A local VM can work without a continuous internet connection after installation; remote compute needs a working connection for interactive access.
A snapshot can help undo a guest change, but it is not an independent backup when it sits beside the VM on the same drive. Shut down the guest before making a simple file copy of its VM bundle. Avoid treating live synchronization of an actively changing virtual disk as a verified backup procedure.
It can emulate an x86 machine with suitable software, but that differs from native Arm virtualization. If you only need one Intel Linux application, supported binary translation within an Arm guest may be enough. Check the application's requirements before choosing either route.
No. A normal VM installation stores the guest in virtual disk files managed by the virtualization app. Keep enough free host storage and review the installer target before proceeding.
Usually, once the application, guest image, and required packages are installed. Downloads, updates, remote repositories, and services hosted elsewhere still need connectivity.
Choose a supported release with packages for your architecture and documentation for your virtualization tool. Ubuntu Server is a practical starting point for terminal work. A supported desktop distribution is a better fit when the Linux graphical interface is part of what you need to learn or test.
Pick one AI, compute, or storage workload and see the difference for yourself. Spin it up in minutes, or let our team map your fastest path to production.