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
  1. Software Development-specific Functions of Parallels Desktop

Nested Virtualization Support

PreviousChanging the Virtual Screen Resolution on the FlyNextSimulating Adverse Network Connectivity Conditions

Last updated 1 year ago

Nested virtualization implies running a virtual machine inside of another virtual machine.

Note: This functionality is only available on Intel Macs, provided that the host virtual machine is configured to use the Parallels Hypervisor.

To toggle between the Apple's and Parallels's hypervisors, do the following:

  1. Open Parallels Desktop, right-click on the required virtual machine and choose Configure.

  2. Switch to the Hardware tab and choose CPU & Memory from the list on the left.

  3. Click Advanced, and use the Hypervisor drop-down menu to choose Parallels.

  4. Check the Enable nested virtualization box.

  5. Click OK.

Typical Use Scenarios

When enabled, this functionality allows you to run:

  • Hyper-V virtual machines inside Windows 8, Windows 10, and Windows Server 2012 virtual machines;

  • VMware ESXi virtual machines;

  • Xen and kernel-based virtual machines in versions of Linux that support Xen and KVM.

Note: Nested virtualization may dramatically reduce the performance of both host macOS and virtual machines.

If you use Parallels virtual machines to build, debug, and test applications, enable nested virtualization to install and work in:

  • Android emulator for Visual Studio;

  • iPhone emulator for Visual Studio;

  • Xamarin.Android;

  • Android Studio;

  • Embarcadero RAD Studio;

  • Docker for Windows;

  • Microsoft Visual Studio + TwinCat 3 (support for TwinCat 3 is being tested, and there may be some bugs).