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

# VZMacAuxiliaryStorage

An object that contains information the boot loader needs for booting macOS as a guest operating system.

```
class VZMacAuxiliaryStorage
```

## Overview

The Mac auxiliary storage contains data used by the boot loader and the guest operating system. It’s necessary to boot a macOS guest OS.

When creating a new VM, use [`init(creatingStorageAt:hardwareModel:options:)`](/documentation/Virtualization/VZMacAuxiliaryStorage/init(creatingStorageAt:hardwareModel:options:)) to create a default initialized auxiliary storage.

The hardware model you use when creating the new auxiliary storage depends on the restore image that you’ll use for installation. From the restore image, use [`mostFeaturefulSupportedConfiguration`](/documentation/Virtualization/VZMacOSRestoreImage/mostFeaturefulSupportedConfiguration) to get a supported configuration. A configuration has a [`VZMacHardwareModel`](/documentation/Virtualization/VZMacHardwareModel) associated with it.

After initializing the new auxiliary storage, set it on `VZMacPlatformConfiguration`.[`auxiliaryStorage`](/documentation/Virtualization/VZMacPlatformConfiguration/auxiliaryStorage).

The hardware model in `VZMacPlatformConfiguration`.[`hardwareModel`](/documentation/Virtualization/VZMacPlatformConfiguration/hardwareModel) must be identical to the one used to create the empty auxiliary storage., otherwise the behavior isn’t defined.

When installing macOS, the [`VZMacOSInstaller`](/documentation/Virtualization/VZMacOSInstaller) lays out data on the auxiliary storage. After installation, the macOS guest uses the auxiliary storage for every subsequent boot.

When moving or performing a backup of a VM, you must move or copy the file containing the auxiliary storage along with the main disk image.

To boot a VM created with `VZMacOSInstaller`, use [`init(contentsOfURL:)`](/documentation/Virtualization/VZMacAuxiliaryStorage/init(contentsOfURL:)) to set up the auxiliary storage from the existing file used during installation.

When using an existing file, the hardware model of the `VZMacPlatformConfiguration`.[`hardwareModel`](/documentation/Virtualization/VZMacPlatformConfiguration/hardwareModel) must match the hardware model used when creating the original file.

## Topics

### Creating the auxiliary storage

[`init(contentsOfURL:)`](/documentation/Virtualization/VZMacAuxiliaryStorage/init(contentsOfURL:))

Initializes an auxiliary storage object with data from the location at the URL you provide.

[`init(url:)`](/documentation/Virtualization/VZMacAuxiliaryStorage/init(url:)-68cz)

Initializes an auxiliary storage object with data from the location at the URL you provide.

[`init(creatingStorageAt:hardwareModel:options:)`](/documentation/Virtualization/VZMacAuxiliaryStorage/init(creatingStorageAt:hardwareModel:options:))

Creates an initialized Mac auxiliary storage instance that describes a specific hardware model at a URL you specify.

[`VZMacAuxiliaryStorage.InitializationOptions`](/documentation/Virtualization/VZMacAuxiliaryStorage/InitializationOptions)

Options you can set when creating new auxiliary storage.

### Configuring the auxiliary storage location

[`url`](/documentation/Virtualization/VZMacAuxiliaryStorage/url)

The URL of the auxiliary storage on the local file system.

## See Also

[`VZMacOSRestoreImage`](/documentation/Virtualization/VZMacOSRestoreImage)

An object that describes a version of macOS to install on to a virtual machine.

[`VZMacOSConfigurationRequirements`](/documentation/Virtualization/VZMacOSConfigurationRequirements)

An object that describes the parameter constraints required by a specific configuration of macOS.

[`VZMacOSInstaller`](/documentation/Virtualization/VZMacOSInstaller)

An object you use to install macOS on the specified virtual machine.



---

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)