Parallels Desktop Developer's Guide
ProductsSupportDocumentation
  • Introduction
    • Parallels Desktop in Software Development
    • Optimizing Your Virtual Machine for Software Development
    • Download Pre-Configured Virtual Machines
  • Software Development-specific Functions of Parallels Desktop
    • Optimizing Remote Debugging
    • Generating a Core Dump
    • Using VM Names as DNS Names
    • Starting a Debugging Session
    • Establishing a Serial Connection over TCP
    • Using Rosetta to Run x86-64 Linux Software on Apple Silicon Macs
    • Resolving Guest OS DNS Requests Using etc/hosts
    • Changing the Virtual Screen Resolution on the Fly
    • Nested Virtualization Support
    • Simulating Adverse Network Connectivity Conditions
  • DevOps Service
  • AI Development with Parallels Desktop
    • Installing a Dedicated AI Development Virtual Machine
    • Using the Parallels AI Virtual Machine for Development
  • Integrations and Plugins
    • Integration with Chef/Ohai
    • Integration with Packer
    • Visual Studio Code Extension
    • Integration with Terraform
    • Integration with Vagrant
  • Command-Line Interface Utility
    • Manage Parallels Desktop from CLI
      • Display Parallels Desktop Information
      • License Management
        • Sign into Parallels Account
        • Install a Parallels Desktop License
        • Install/Remove a Deferred License
        • Update a License
        • Deactivate a License
      • Parallels Desktop Preferences
      • User List and Virtual Machine Location
      • Virtual Network Information and Settings
      • USB Devices
      • Report a Problem
      • Shut Down Parallels Desktop
      • Error Handling
    • Manage Virtual Machines from CLI
      • General Virtual Machine Management
        • List Virtual Machines
        • Create a Virtual Machine
        • Delete a Virtual Machine
        • Register/Unregister a Virtual Machine
        • Clone a Virtual Machine
        • Convert a Virtual Machine
        • Move Virtual Machine Files
        • Install Parallels Tools
        • Log into a Virtual Machine
        • Execute a Command in a Virtual Machine
        • Send a Keyboard Event to a Virtual Machine
          • List of Parallels Keyboard Key Codes
        • Query the Virtual Machine Status
        • Power Operations
        • Capture a Screen Area
        • Encrypt/Decrypt a Virtual Machine
        • Archive/Unarchive a Virtual Machine
        • Set Password Protection
      • Virtual Machine Configuration Tasks
        • CPU and Memory Parameters
        • Boot Order Parameters
        • Video Parameters
        • Mouse & Keyboard Parameters
        • Virtual Printer Parameters
        • USB & Bluetooth Parameters
        • Startup & Shutdown Parameters
        • Optimization Parameters
        • Sharing Parameters
        • Coherence Parameters
        • Security Parameters
        • Expiration Date Parameters
        • Device Management
          • Common Options
          • Adding/Modifying a Device
          • Virtual Hard Drive
          • Physical Hard Drive
          • Virtual Optical Drive
          • Physical Optical Drive
          • Virtual Floppy Drive
          • Physical Floppy Drive
          • Virtual Network Adapter
          • Virtual Serial Port
          • Virtual Parallel Port
          • Virtual Sound Card
          • Adding USB Support
        • Shared Folders
        • Advanced Settings
        • Miscellaneous
      • Snapshot Management
        • Taking a Virtual Machine Snapshot
        • Deleting a Snapshot
        • Listing Snapshots
        • Reverting to a Snapshot
      • Miscellaneous
        • Generating a Problem Report
        • Using Guest Debugger
        • Creating a VM Dump
      • Virtual Machine Disk Optimization
      • Error Handling
  • Parallels Open Source Initiatives
Powered by GitBook

Other Resources

  • Community Forum
  • Knowledge Base
  • Request Support

Social Media

  • Facebook
  • Twitter/X
  • YouTube
  • LinkedIn

© 2025 Parallels International GmbH. All rights reserved.

On this page
  • Syntax 1
  • Syntax 2
  • Syntax 3
  • Creating a macOS Virtual Machine
  1. Command-Line Interface Utility
  2. Manage Virtual Machines from CLI
  3. General Virtual Machine Management

Create a Virtual Machine

Syntax 1

prlctl create <vm_name> --ostemplate <name>

Creates a virtual machine from the specified virtual machine template. The --ostemplate <name> parameter specifies the source template name. To obtain the list of available templates, use the prlctl list -t command.

Optional parameters

--dst

A path to the directory where the virtual machine files will be stored. If omitted, the default location will be used.

Syntax 2

prlctl create <vm_name> [-o,--ostype <name | list>]

Creates a virtual machine and optimizes it for the OS type specified in the --ostype option. If the --ostype parameter is omitted, the virtual machine is optimized for Windows 10 by default. If you want to optimize the virtual machine for a different OS type, use the list option to get the list of available OS types: prlctl create vm_name -o list, then select a desired OS type name and use it as a value of the -o parameter.

Syntax 3

prlctl create <vm_name> -d,--distribution <name | list>

Creates a virtual machine and optimizes it for the OS distribution specified in the --distribution option. Use the list option to get the list of available distributions: prlctl create vm_name -d list, then select a desired distribution name and use it as a value of the -o parameter.

Common optional parameters

--no-hdd

Create a virtual machine without hard disk drives.

--lion-recovery

Create a virtual machine from the Lion OS host recovery partition.

Creating a macOS Virtual Machine

prlctl create <macOS_VM_name> -o macos --restore-image <path to the .ipsw file>

E.g., prlctl create "macOS_beta" -o macos --restore-image /Users/{user_account}/Downloads/UniversalMac_14.5_23F79_Restore.ipsw

Creating a macOS Virtual Machine with a Customized Virtual Hard Drive Size

By default, the virtual machine is created with 64GB of disk space. If you want to create a machine with a different disk size, the process is slightly different:

  1. Having downloaded a .ipsw installation file, run the following command: prlctl create <macOS_VM_name> -o macos --no-hdd --restore-image <path to the .ipsw file> This command will create a virtual machine shell with no hard drive.

  2. Start the installation process by executing the following command: prlctl start <macOS_VM_name>

  3. Wait for the installation to complete and follow on-screen instructions to choose language, create a user account, etc.

Creating a macOS Virtual Machine in Parallels Desktop Version 18 and Earlier

  1. Fetch the .ipsw file download URL by executing the following command in the Terminal: /Applications/Parallels\ Desktop.app/Contents/MacOS/prl_macvm_create --getipswurl

  2. Copy the resulting URL and open it in your browser to download the .ipsw file.

  3. Once the file has been downloaded, execute the following command in the Terminal: /Applications/Parallels\ Desktop.app/Contents/MacOS/prl_macvm_create <path_to_ipsw> <path_to_macVM> --disksize <size_in_bytes> E.g., /Applications/Parallels\ Desktop.app/Contents/MacOS/prl_macvm_create ~/Downloads/UniversalMac_13.3_22E252_Restore.ipsw ~/Parallels/macOS.macvm --disksize 80000000000

  4. Wait for the installation process to complete.

  5. Once finished, locate the file in ~/Parallels/ (your home folder > "Parallels"), drag and drop it to Control Center, or open it with Parallels Desktop via Finder.

Note: In this process, once your macOS VM is created, you won't be able to change the size of its virtual hard drive.

PreviousList Virtual MachinesNextDelete a Virtual Machine

Last updated 6 months ago

To create a macOS virtual machine, a .ipsw file with macOS installation image, and execute the command with the following parameters:

Note: Since virtual machines on Apple Silicon Macs only work via Apple's own Virtualization Framework, there are compatibility limitations between different macOS versions on your Mac and virtual machines. The only scenario that is guaranteed to work is running the same major version of macOS on your virtual machine as on your Mac computer. For more information on possible limitations of macOS virtual machines on Apple Silicon Macs, please refer to this .

Use the following command to add a virtual hard drive and specify its size (in megabytes): prlctl set <macOS_VM_name> --device-add hdd --type plain --size <size_in_megabytes> Note that only plain drive type is currently supported for macOS virtual machines on Apple Silicon Macs. For more information on supported virtual drive types, refer to of the guide.

download
knowledge base article
this chapter