<!--
{
  "availability" : [
    "macOS: 12.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Virtualization",
  "identifier" : "/documentation/Virtualization/VZMacPlatformConfiguration",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "Virtualization"
    ],
    "preciseIdentifier" : "c:objc(cs)VZMacPlatformConfiguration"
  },
  "title" : "VZMacPlatformConfiguration"
}
-->

# VZMacPlatformConfiguration

The platform configuration for booting macOS on Apple silicon.

```
class VZMacPlatformConfiguration
```

## Overview

When creating a VM, the [`hardwareModel`](/documentation/Virtualization/VZMacPlatformConfiguration/hardwareModel) and [`auxiliaryStorage`](/documentation/Virtualization/VZMacPlatformConfiguration/auxiliaryStorage) depend on the restore image that you use to install macOS.

To choose the hardware model, start from `VZMacOSRestoreImage`.[`mostFeaturefulSupportedConfiguration`](/documentation/Virtualization/VZMacOSRestoreImage/mostFeaturefulSupportedConfiguration) to get a supported configuration, then use its `VZMacOSConfigurationRequirements`.[`hardwareModel`](/documentation/Virtualization/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:)`](/documentation/Virtualization/VZMacAuxiliaryStorage/init(creatingStorageAt:hardwareModel:options:)).

When you save a VM to disk and load it again, you must restore the [`hardwareModel`](/documentation/Virtualization/VZMacOSConfigurationRequirements/hardwareModel), [`machineIdentifier`](/documentation/Virtualization/VZMacPlatformConfiguration/machineIdentifier) and [`auxiliaryStorage`](/documentation/Virtualization/VZMacPlatformConfiguration/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()`](/documentation/Virtualization/VZMacPlatformConfiguration/init())

Creates a new Mac platform configuration.

### Getting platform properties

[`auxiliaryStorage`](/documentation/Virtualization/VZMacPlatformConfiguration/auxiliaryStorage)

The Mac auxiliary storage.

[`hardwareModel`](/documentation/Virtualization/VZMacPlatformConfiguration/hardwareModel)

The Mac hardware model.

[`machineIdentifier`](/documentation/Virtualization/VZMacPlatformConfiguration/machineIdentifier)

The Mac machine identifier.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)