Andrew Cunningham
One of the coolest power-user Mac features of the Apple Silicon era is Apple’s virtualization framework. Normally empowered by paid software such as Parallels Desktop or VMWare Fusion, virtualization allows you to run multiple operating systems simultaneously on a single Mac, which is useful for anyone who wants to use Linux on top of macOS, test an app they are developing in different versions of macOS, or check out the latest macOS Ventura beta without risking their main install.
Apple’s documentation and sample projects provide everything you need to get a simple VM up and running without the need for additional software. Still, some independent developers have built simple, free apps on top of the virtualization framework that provides a GUI for tweaking settings and juggling multiple guest operating systems.
Ready to virtualize
My favorite for running macOS on top of macOS is VirtualBuddy, which streamlines the process of downloading the files you need to get a Monterey or Ventura virtual machine up and running. This is the app we will be using to set up our sample VM in this guide.
Another app worth checking out is UTM, which uses the virtualization framework to run ARM operating systems on top of the ARM version of macOS, but also provides an easy-to-use front-end to the QEMU emulation software. QEMU can emulate other processor architectures, including but not limited to x86 and PowerPC. Like all emulation, this comes with a performance penalty. But it’s an interesting way to run old OSes on a shiny new Mac, and UTM’s VM gallery includes sample VMs for many Linux distributions, classic Mac OS, and Windows XP and Windows 7.
If you want to virtualize macOS Monterey alongside macOS Monterey, you don’t need to download anything else. If you want to virtualize Ventura on top of Monterey, you’ll need to install and run the beta version of Xcode 14 from Apple’s developer site before starting. When I tried this without Xcode installed, macOS tried (and failed) to download additional software to make it work — kind of like macOS has to download extra software when you first run Rosetta. With the Xcode beta installed, everything works as intended (but if you can find a way to get this working without installing a 33GB app that takes over an hour to install, I’d love to know).
Also note the hardware requirements for virtualization. VirtualBuddy and the virtualization framework have no hard and fast requirements other than requiring an Apple Silicon chip for macOS-on-macOS virtualization. But you will be running two completely separate operating systems on the same computer, and that comes with RAM and storage requirements. Personally, I wouldn’t recommend virtualizing macOS on an Apple Silicon Mac with less than 16GB of RAM. And more is better, especially if you also run heavy apps like Xcode next to (or inside) your VM.
By default, VirtualBuddy stores all of its files (including VM disk images) in the Documents folder of your user account. Mac users with limited internal storage may want to change that to an external drive to save space, as the default disk size for new macOS VMs is 64 GB. Any external SSD connected via a 5Gbps or 10Gbps USB connection or the Thunderbolt bus should feel fast enough for most things – I’m using a cheap NVMe SSD in a 10Gbps USB-C case – not exactly this one , but one that looks like it.