<!--
{
  "availability" : [
    "macOS: 12.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Virtualization",
  "identifier" : "/documentation/Virtualization/VZMacAuxiliaryStorage/init(creatingStorageAt:hardwareModel:options:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "Virtualization"
    ],
    "preciseIdentifier" : "c:objc(cs)VZMacAuxiliaryStorage(im)initCreatingStorageAtURL:hardwareModel:options:error:"
  },
  "title" : "init(creatingStorageAt:hardwareModel:options:)"
}
-->

# init(creatingStorageAt:hardwareModel:options:)

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

```
init(creatingStorageAt URL: URL, hardwareModel: VZMacHardwareModel, options: VZMacAuxiliaryStorage.InitializationOptions = []) throws
```

## Parameters

`URL`

The `URL` to write the auxiliary storage to on the local file system.

`hardwareModel`

The [`VZMacHardwareModel`](/documentation/Virtualization/VZMacHardwareModel) model to use. The auxiliary storage can have different layouts for different hardware models.

`options`

Initialization options from the available [`VZMacAuxiliaryStorage.InitializationOptions`](/documentation/Virtualization/VZMacAuxiliaryStorage/InitializationOptions).

## Return Value

Returns a newly initialized `VZMacAuxiliaryStorage` object on success or `nil` if there was an error. On failure,  `error` contains the `NSError` that describes reason for the failure.

## Discussion

Use this method to create a new auxiliary storage object that describes a specific hardware model. To restore data from a previously saved existing auxiliary storage object, use [`init(contentsOfURL:)`](/documentation/Virtualization/VZMacAuxiliaryStorage/init(contentsOfURL:)).

---

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)