Configuring macOS virtual machines running on a Mac computer with Apple silicon

83 users found this article helpful

If you are running a macOS virtual machine on a Mac with an Apple silicon, you may notice a lack of a cogwheel configuration icon.

This is because, currently, adjusting the configuration of such a virtual machine is only possible by either using the command line interface or, in the case of display resolution, editing a configuration file inside the virtual machine package.

For a macOS virtual machine running on a Mac computer with an Apple silicon, the following settings can be adjusted: 


Note: macOS ARM VM's disk size is 60 GB by default. It can be set to a different value during the manual installation process in Parallels Desktop 18, but once the virtual machine is created, the disk size cannot be changed.


Display resolution 

To adjust the display resolution in the virtual machine, perform the following steps:  

  1. Shut down your virtual machine.
  2. Locate the virtual machine .macvm file: click on the Parallels icon > Control Center > right-click on the virtual machine > Show in Finder
  3. Right-click .macvm bundle > Show package contents.
  4. Locate the config.ini file. If it doesn't exist, open Terminal (Applications > Utilities > Terminal) and execute the following command:
    touch ~/Desktop/config.ini
    This will create a config.ini file on your Mac Desktop. Drag and drop it inside the .macvm bundle.
     
  5. Open the file in TextEdit: right-click config.ini > Open With > Other, check the Enable All Applications option, select Text Edit, and click Open.

  6. Add the following text:
    [Hardware]
    Display.Width=1312
    Display.Height=824
    Display.DPI=226
    

You can change the resolution by adjusting Display.Width and Display.Height and pixel density by changing Display.DPI.

Memory

To adjust the amount of RAM allocated to the virtual machine, open Terminal and execute the following command:

prlctl set <vm_name> --memsize <megabytes>

A command to allocate 4GB of memory to a virtual machine called "macOS 13" would look like this:

prlctl set "macOS 13" --memsize 4096

CPU

Similarly to memory, a command to set the number of CPUs looks like this:

prlctl set <vm_name> --cpus <number>

e.g.:

prlctl set "macOS 13" --cpus 4

Network

List Network Adapters

prlctl list "<vm_name>" -i | Grep -E 'net[0-9] \('

e.g.:

prlctl list "macOS 13" -i | Grep -E 'net[0-9] \('

The output would look like this:

Toggle Shared/Bridged Mode

prlctl set "<vm_name>" --device-set <network_adapter_id> --type <bridged/shared>

e.g.:

prlctl set "macOS 13" --device-set net0 --type bridged

Change MAC Address

prlctl set "<vm_name>" --device-set <network_adapter_id> --mac <mac_address>

e.g.:

prlctl set "macOS 13" --device-set net0 --mac 123456789ABC
 

Add Network Adapter

prlctl set "<vm_name>" --device-add net --type <bridged/shared> --mac <mac_address>

e.g.:

prlctl set "macOS 13" --device-add net --type bridged --mac 123456789ABC

Sample output:

Disable sharing the host machine's home folder with VMs

By default, the host machine's home folder is shared with guest machines and it can be found on your guest macOS VM in Locations > My Shared Files.

To disable it, use the following command: 

prlctl set "<vm name>" --shf-host-defined off


Note: only Parallels Desktop Pro and Business editions support the prlctl command-line utility. If you run Parallels Desktop Standard Edition, you can change most settings by directly editing the config.pvs file. To do that:

  1. Shut down your virtual machine.
  2. Locate the virtual machine .macvm file: click on Parallels icon > Control Center > right-click on the virtual machine > Show in Finder
  3. Right-click on the .macvm bundle > Show package contents.
  4. Locate the config.pvs file and open it in TextEdit: right-click config.pvs > Open With > Other, check the Enable All Applications option, select Text Edit, and click Open.
  5. Locate any required parameters using the Cmd + F keyboard shortcut to open the search bar and change them as you see fit:
     
    • To change the number of CPU cores allocated to the virtual machine, locate the <CustomCpu dyn_lists=""> parameter, and below it, change the number inside the <number>X</number> tag, where X is the currently allocated number of cores.
    • To change the amount of RAM allocated to the virtual machine, locate the <RAM>ABCD</RAM> tag, where ABCD is the currently allocated amount of RAM in megabytes.
      Important: Make sure that the value of neighboring string: <RamAutoSizeEnabled>0</RamAutoSizeEnabled> is indeed 0. If not, change it from 1 to 0, otherwise the new RAM amount won't apply.
    • To toggle the virtual network adapter mode between Shared and Bridged, locate the <EmulatedType>N</EmulatedType> tag, where N = 1 for Shared mode and 2 for Bridged.
    • To assign a specific MAC address to the virtual machine, locate the <MAC></MAC> tag and insert the required MAC address inside the tag, removing the colon marks. E.g., to assign 1A:2B:3C:4D:5E:6F, use <MAC>1A2B3C4D5E6F</MAC>.
    • To disable sharing the host's home folder with guest VMs, locate the <ShareUserHomeDir>X</ShareUserHomeDir> parameter and change it from 1 (enabled) to 0 (disabled). 

Share Mac files with the virtual machine (macOS 12 and older)

If you're running a macOS version 12 and older, we suggest sharing files between the virtual machine and the Mac using the native macOS file-sharing feature as you would between two physical Mac computers.

Add a secondary virtual hard drive

As an advanced step, you may connect a .dmg or .img disk image as a secondary virtual hard drive.

It may be useful, for example, to transfer large amounts of data between two macOS ARM virtual machines or when you need to extend the storage capacity of a virtual machine without having to recreate it.

Create an empty image

To create an empty .dmg image, open Terminal (Applications > Utilities > Terminal) and execute the following command:

hdiutil create -size <size_in_bytes> -fs APFS -type UDIF -volname <volume_name> <output_img_path>

E.g.,

hdiutil create -size 20000000 -fs APFS -type UDIF -volname "MyVolume" ~/Desktop/mydisk.dmg

will create a 20-megabyte mydisk.dmg file on the Desktop. When connected, the volume will show up as "MyVolume".

Create a read-only image from a directory

To turn a macOS directory into a read-only .dmg image, open Terminal and execute the following command:

hdiutil makehybrid -hfs -hfs-volume-name <volume_name> -o <output_img_name> <directory_path>

E.g.,

hdiutil makehybrid -hfs -hfs-volume-name "MyVolume" -o ~/Desktop/mydisk1.dmg ~/Desktop/EmailTemplates

Connect image

To connect such an image, put it inside the .macvm bundle next to the config.ini file, and in the config.ini, add the following line:

Disk1.Path=<name_of_image_file>

In the case of the example above, that would be:

Disk1.Path=mydisk.dmg

Once you boot up the virtual machine, you will see the image available in the virtual machine's Finder.

And in case of an empty image, you can transfer data to it.

Once the virtual machine is shut down, you can mount the image to your main system by double-clicking on it.

 

Change the name of the virtual machine

To change the name of your macOS virtual machine, open Terminal and execute the command below:

prlctl set "macOS 13" --name "macOS 13 New Name"

where macOS 13 is the current name of your virtual machine.

Additional functionality added in Parallels Desktop 18 and newer

Please note that starting with Parallels Desktop 18, you can register your macOS virtual machine in Control Center, which will bring additional functionality to the operations with the virtual machine:

- create clones of the VM;

- use prlctl start, stop, register, destroy, and clone commands to work with the virtual machine from the Terminal.

- use prlctl set <VM_UUID> --startup-view headless command to set the virtual machine to launch in the background.

Was this article helpful?

Tell us how we can improve it.