← Blog
Pencil illustration of a folded-paper penguin on a pale lavender background.
Published on
2026-10-14

Linux virtual machine on Mac: setup for Apple silicon and Intel

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.

Check your Mac before downloading Linux

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 hardwareLinux image for virtualizationNames you may see
Apple silicon64-bit ArmARM64 or aarch64
Intel64-bit x86x86_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 and emulation solve different problems

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.

Choose a Linux virtualization tool for macOS

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.

ToolUseful starting point forCost and licensingCompatibility detail
UTMGraphical management of desktop and server VMsFree download; paid App Store edition supports the projectOffers QEMU and Apple virtualization backends, with different features
VMware FusionA conventional desktop VM workflowFree for personal, educational, and commercial useApple silicon hosts require supported Arm guests
Parallels DesktopA commercial VM manager with macOS integrationPaid product; compare current editionsCurrent version 27 targets Apple silicon; Intel support continues through version 26
VirtualBoxUsers already familiar with its VM managerBase package under GPLv3; Extension Pack has separate termsVersion 7.2 documents Arm Linux guests on macOS Arm hosts
LimaCommand-line Linux development environmentsFree and open sourceIts 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.

Install a Linux virtual machine with UTM

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.

1. Download the correct Linux image

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.

2. Create a VM and attach the installer

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.

3. Allocate memory, CPU, and disk space

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.

4. Install Linux inside the virtual disk

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.

5. Update the guest and check its identity

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.

6. Test networking and share only needed folders

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.

Use Lima when you mainly need a Linux terminal

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.

Troubleshoot the VM by checking the failing layer

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.

SymptomFirst checkUseful next action
Installer will not bootImage architecture and virtual boot deviceMatch ARM64 or amd64 to the host; confirm the ISO is attached
Installer starts after every rebootInstallation media and boot orderEject the ISO and boot from the installed virtual disk
An application reports an executable format errorThe program's CPU architectureUse a native package or evaluate an explicitly supported translation method
The Mac and guest both feel slowHost memory pressure, available disk space, and running processesReduce competing workloads; adjust guest allocation based on observed demand
Clipboard, folders, or display resizing do not workBackend support and guest integration toolsUse 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.

Decide between a local VM, containers, and remote compute

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.

Check the setup before relying on it

  • Confirm the guest reports the expected architecture and Linux release.
  • Install updates and run one representative application or test.
  • Verify network access and any intentionally exposed local service.
  • Confirm shared folders expose only the files and permissions you intended.
  • Shut down and restart the guest successfully without the installer attached.
  • Create a separate backup and test how you would restore the work you need.

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.

Frequently asked questions

Can an Apple silicon Mac run x86 Linux?

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.

Do I need to partition my Mac?

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.

Can I run the VM offline?

Usually, once the application, guest image, and required packages are installed. Downloads, updates, remote repositories, and services hosted elsewhere still need connectivity.

Which Linux distribution should I start with?

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.

Your next workload belongs on Hivenet.

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.