---
title: VZBootLoader
framework: virtualization
role: symbol
role_heading: Class
path: virtualization/vzbootloader
---

# VZBootLoader

The base class that defines the management of the initial process of the guest system.

## Declaration

```swift
class VZBootLoader
```

## Overview

Overview The VZBootLoader abstract class defines the common behaviors for booting a guest operating system into a VM. Don’t create instances of this class directly. Instead, instantiate the subclass that corresponds to the type of operating system you plan to load. For example, to create a boot loader object for a Linux kernel, create a VZLinuxBootLoader object; to create a boot loader object for installation using an ISO image create a VZEFIBootLoader. For a macOS system create VZMacOSBootLoader.

## Relationships

### Inherits From

- [NSObject](objectivec/nsobject-swift.class.md)

### Inherited By

- [VZEFIBootLoader](virtualization/vzefibootloader.md)
- [VZLinuxBootLoader](virtualization/vzlinuxbootloader.md)
- [VZMacOSBootLoader](virtualization/vzmacosbootloader.md)

### Conforms To

- [CVarArg](swift/cvararg.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Equatable](swift/equatable.md)
- [Hashable](swift/hashable.md)
- [NSCopying](foundation/nscopying.md)
- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Related Documentation

- [VZEFIBootLoader](virtualization/vzefibootloader.md)
- [VZLinuxBootLoader](virtualization/vzlinuxbootloader.md)

### Boot loaders

- [VZLinuxBootLoader](virtualization/vzlinuxbootloader.md)
- [VZEFIBootLoader](virtualization/vzefibootloader.md)
- [VZEFIVariableStore](virtualization/vzefivariablestore.md)
