---
title: "start(completionHandler:)"
framework: virtualization
role: symbol
role_heading: Instance Method
path: "virtualization/vzvirtualmachine/start(completionhandler:)"
---

# start(completionHandler:)

Starts the VM and notifies the specified completion handler if startup is successful.

## Declaration

```swift
func start(completionHandler: @escaping (Result<Void, any Error>) -> Void)
```

## Parameters

- `completionHandler`: The block to call with the results of the startup attempt. This block has no return value and has one doc://com.apple.documentation/documentation/Foundation/NSError object as its parameter:

## Discussion

Discussion Call this method to start a VM that’s in the VZVirtualMachine.State.stopped or VZVirtualMachine.State.error state. To determine if a VM is in a state that allows you to start it, check the VM’s canStart property.

## See Also

### Starting and stopping the VM

- [start()](virtualization/vzvirtualmachine/start().md)
- [start(options:completionHandler:)](virtualization/vzvirtualmachine/start(options:completionhandler:).md)
- [stop(completionHandler:)](virtualization/vzvirtualmachine/stop(completionhandler:).md)
- [pause(completionHandler:)](virtualization/vzvirtualmachine/pause(completionhandler:).md)
- [requestStop()](virtualization/vzvirtualmachine/requeststop().md)
- [resume(completionHandler:)](virtualization/vzvirtualmachine/resume(completionhandler:).md)
- [pause()](virtualization/vzvirtualmachine/pause().md)
- [resume()](virtualization/vzvirtualmachine/resume().md)
- [VZVirtualMachineStartOptions](virtualization/vzvirtualmachinestartoptions.md)
