Virtualize macOS on a Mac
Configure and run macOS guests on Apple silicon.
Overview
Use the VZVirtualMachineConfiguration to create a VZMacPlatformConfiguration that represents a specific macOS platform configuration (VZMacHardwareModel, number of virtual CPUs, RAM, devices, and so on) that you want to run on your Apple silicon Mac.
The Virtualization framework provides everything you need to macOS on a VM using macOS installation images you download from Apple. Use the latestSupported method of VZMacOSRestoreImage to obtain the URL for the installation media used to install the latest version of macOS. Alternatively, if you’ve already downloaded a macOS release, you can construct a VZMacOSRestoreImage object using that file. The mostFeaturefulSupportedConfiguration property of a VZMacOSRestoreImage object specifies the requirements and recommendations that you use to configure a VZVirtualMachineDelegate to complete this installation. After creating a VZVirtualMachine, use VZMacOSInstaller to install macOS on that virtual machine. You then use this configuration to create a bootable image that, along with a VZMacOSBootLoader, runs in a VZVirtualMachine that you can control.
For more information on running macOS as a guest, see Creating and Running a macOS Virtual Machine.
Topics
Platform components
VZVirtualMachineConfigurationVZMacOSVirtualMachineStartOptionsVZMacPlatformConfigurationVZPlatformConfigurationVZMacHardwareModelVZMacMachineIdentifierVZMacAuxiliaryStorage
Boot images
Installers
See Also
Virtual machine setup
Running macOS in a virtual machine on Apple siliconRunning Linux in a Virtual MachineRunning GUI Linux in a virtual machine on a MacInstalling macOS on a Virtual MachineCreating and Running a Linux Virtual MachineVirtualize Linux on a MacRunning Intel Binaries in Linux VMs with RosettaAccelerating the performance of Rosetta