---
title: VZMacPlatformConfiguration
framework: virtualization
role: symbol
role_heading: Class
path: virtualization/vzmacplatformconfiguration
---

# VZMacPlatformConfiguration

The platform configuration for booting macOS on Apple silicon.

## Declaration

```swift
class VZMacPlatformConfiguration
```

## Mentioned in

Installing macOS on a Virtual Machine

## Overview

Overview When creating a VM, the hardwareModel and auxiliaryStorage depend on the restore image that you use to install macOS. To choose the hardware model, start from VZMacOSRestoreImage.mostFeaturefulSupportedConfiguration to get a supported configuration, then use its VZMacOSConfigurationRequirements.hardwareModel property to get the hardware model. Use the hardware model to set up VZMacPlatformConfiguration and to initialize a new auxiliary storage with init(creatingStorageAt:hardwareModel:options:). When you save a VM to disk and load it again, you must restore the hardwareModel, machineIdentifier and auxiliaryStorage properties to their original values. If you create multiple VMs from the same configuration, each should have a unique auxiliaryStorage and machineIdentifier.

## Topics

### Creating a platform configuration

- [init()](virtualization/vzmacplatformconfiguration/init().md)

### Getting platform properties

- [auxiliaryStorage](virtualization/vzmacplatformconfiguration/auxiliarystorage.md)
- [hardwareModel](virtualization/vzmacplatformconfiguration/hardwaremodel.md)
- [machineIdentifier](virtualization/vzmacplatformconfiguration/machineidentifier.md)

## Relationships

### Inherits From

- [VZPlatformConfiguration](virtualization/vzplatformconfiguration.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Platform components

- [VZVirtualMachineConfiguration](virtualization/vzvirtualmachineconfiguration.md)
- [VZMacOSVirtualMachineStartOptions](virtualization/vzmacosvirtualmachinestartoptions.md)
- [VZPlatformConfiguration](virtualization/vzplatformconfiguration.md)
- [VZMacHardwareModel](virtualization/vzmachardwaremodel.md)
- [VZMacMachineIdentifier](virtualization/vzmacmachineidentifier.md)
- [VZMacAuxiliaryStorage](virtualization/vzmacauxiliarystorage.md)
