---
title: "init(creatingStorageAt:hardwareModel:options:)"
framework: virtualization
role: symbol
role_heading: Initializer
path: "virtualization/vzmacauxiliarystorage/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.

## Declaration

```swift
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 doc://com.apple.virtualization/documentation/Virtualization/VZMacHardwareModel model to use. The auxiliary storage can have different layouts for different hardware models.
- `options`: Initialization options from the available doc://com.apple.virtualization/documentation/Virtualization/VZMacAuxiliaryStorage/InitializationOptions.

## Mentioned in

Installing macOS on a Virtual Machine

## Return Value

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

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:).

## See Also

### Creating the auxiliary storage

- [init(contentsOfURL:)](virtualization/vzmacauxiliarystorage/init(contentsofurl:).md)
- [init(url:)](virtualization/vzmacauxiliarystorage/init(url:)-68cz.md)
- [VZMacAuxiliaryStorage.InitializationOptions](virtualization/vzmacauxiliarystorage/initializationoptions.md)
