Skip to content

Appendix B. Running Kali Linux in a UTM VM (Apple Silicon) 🐉

This is the procedure for running the real Kali Linux in a virtual machine on a Mac (Apple Silicon). There are a lot of gotchas, so I've written down every spot I actually got stuck and how to work around it. Follow this exactly and you can install without getting blocked by a black screen or import errors.

The Kali Linux desktop running in a UTM VM

👆 This is the end result — the Kali desktop running like this on an Apple Silicon Mac.


Overall flow

flowchart LR
    A["① Install UTM"] --> B["② Download the Kali ISO"]
    B --> C["③ Create the VM"]
    C --> D["④ Install via<br>serial console"]
    D --> E["⑤ Cleanup<br>(remove ISO/serial)"]
    style A fill:#2d333b,stroke:#3fb950,stroke-width:2px,color:#e6edf3
    style B fill:#2d333b,stroke:#3fb950,stroke-width:2px,color:#e6edf3
    style C fill:#2d333b,stroke:#58a6ff,stroke-width:2px,color:#e6edf3
    style D fill:#2d333b,stroke:#bc8cff,stroke-width:2px,color:#e6edf3
    style E fill:#2d333b,stroke:#f85149,stroke-width:2px,color:#e6edf3

① Install UTM

UTM is virtualization software for the Mac (QEMU-based).

brew install --cask utm

② Download the Kali ISO

Get the Installer (arm64) ISO from kali.org/get-kali.

  • Be sure to choose the ARM64 (for Apple Silicon) build (grabbing the x86 build by mistake will be slow or won't run)
  • If the download is slow, switching mirrors can sometimes help
  • After downloading, it's safest to verify against the official SHA256 to confirm the file isn't corrupted

③ Create the VM

In UTM, choose "Create a New Virtual Machine" → "Virtualize" → Linux, and point it at the ISO you downloaded. Suggested specs:

Item Recommended
Architecture ARM64 (aarch64)
Memory 4096 MB or more
CPU 4 cores
Disk Around 40 GB
Display virtio-ramfb

④ Install via serial console (← this is the most important part)

⚠️ Gotcha: black screen "Display output is not active"

The Kali installer has a known bug on UTM under Apple Silicon where the graphics display goes completely black (a driver issue on the Kali side). This is a known issue acknowledged by the project itself, and the workaround is to install via the serial console.

Workaround: add a serial device

In the VM settings, add one Serial device (mode = Terminal). Then, when the VM boots, two windows open:

┌─────────────────┐   ┌─────────────────────────┐
│ 真っ黒な画面      │   │ 黒地に白文字のターミナル窓 │
│ (無視でOK)     │   │ ← こっちでインストール進行 │
└─────────────────┘   └─────────────────────────┘

Open the "Kali Linux (Terminal 1)" window and run the installer there.

💡 After installation, the GUI will display correctly (the problem is confined to the installer).

Key installer choices (the ones people trip over)

Screen What to choose
Language English (Japanese garbles on the text screen; you can switch to Japanese later)
Country Japan
Locale If there's no Japanese combination, pick United States - en_US.UTF-8
Partitioning Guided - use entire disk → All files in one partition
Write changes? Yes (watch out — the default is No)
Software selection Leave the defaults (Xfce + standard tools) and Continue

When the install finishes, a blue GUI login screen appears. Log in with the user you created.


⑤ Cleanup (after installation)

Once the install is done, remove the ISO (CD drive) and serial device you no longer need. Shut down the VM, then delete the following in the settings:

  • CD drive (kali.iso)
  • Serial device
  • (If you enabled debug logging) turn it back off

From now on, only the GUI window opens cleanly.


🧰 Gotchas summary (start here when you're stuck)

Symptom Cause Fix
Black screen "Display output is not active" Known graphics bug in the Kali installer Install via the serial console (④)
"Cannot import this VM" Corrupt VM config file Don't hand-write the config; use UTM's proper wizard, or base it on the config of a working existing VM
ISO download is slow Slow mirror Switch to a different mirror
Grabbed the x86 build, extremely slow Wrong architecture Use the ARM64 (Apple Silicon) ISO
Text screen is garbled No Japanese font support Choose English as the installer language

💡 These are the pitfalls I actually hit when I set up a Kali VM on Apple Silicon. Follow the steps above and you can avoid them.


Getting AI to help with the setup

A prompt for having AI help you build this VM is in ai-prompts.md.

⚠️ Kali is an OS loaded with a full set of attack tools. Use it only against your own practice targets.