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

# VZVirtioBlockDeviceConfiguration

The configuration object that requests the creation of a virtual storage device in the guest system.

```
class VZVirtioBlockDeviceConfiguration
```

## Overview

Use a [`VZVirtioBlockDeviceConfiguration`](/documentation/Virtualization/VZVirtioBlockDeviceConfiguration) object to create an emulated storage device in your virtual machine. When you add this object to your virtual machine configuration, the virtual machine creates an emulated disk for the guest operating system to use to read and write files. The emulated storage device conforms to the Virtio Block Device specification.

When you create a [`VZVirtioBlockDeviceConfiguration`](/documentation/Virtualization/VZVirtioBlockDeviceConfiguration) object, specify the attachment object that implements the underlying storage. For example, specify a [`VZDiskImageStorageDeviceAttachment`](/documentation/Virtualization/VZDiskImageStorageDeviceAttachment) object to configure the storage device using a disk image in the local file system. Assign your configuration object to the [`storageDevices`](/documentation/Virtualization/VZVirtualMachineConfiguration/storageDevices) property of your [`VZVirtualMachineConfiguration`](/documentation/Virtualization/VZVirtualMachineConfiguration) object before creating your virtual machine.

## Topics

### Creating the configuration object

[`init(attachment:)`](/documentation/Virtualization/VZVirtioBlockDeviceConfiguration/init(attachment:))

Creates a block device configuration object that uses the specified storage medium.

### Identifying a block device

[`blockDeviceIdentifier`](/documentation/Virtualization/VZVirtioBlockDeviceConfiguration/blockDeviceIdentifier)

The string that identifies the VIRTIO block device.

### Validating device identifiers

[`validateBlockDeviceIdentifier(_:)`](/documentation/Virtualization/VZVirtioBlockDeviceConfiguration/validateBlockDeviceIdentifier(_:))

Checks the validity of a block device 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)