$Date: 2025-08-11 19:18:47 +0200 (Mon, 11 Aug 2025) $

VBoxManage createvm

VBoxManage-createvm 1
VBoxManage-createvm create a new virtual machine &product-name;
`VBoxManage createvm` --name=name --platform-architecture= x86 arm --basefolder=basefolder --default --groups=group-ID, --ostype=ostype --register --uuid=uuid --cipher=cipher --password-id=password-id --password=file

## Description

The `VBoxManage createvm` command creates a new XML virtual machine (VM) definition file.

You must specify the name of the VM by using `--name name`. This name is used by default as the name of the settings file that has the `.vbox` extension and the machine folder, which is a subfolder of the `$HOME/VirtualBox VMs` directory.

The actual file name may not correspond directly to the VM name if it violates the host OS file name requirements (such as using the path separator or other reserved characters, they will be substituted with a placeholder). If you later rename the VM, the file and folder names will be updated to match the new name automatically.

Also, the intended platform architecture for the VM must be specified by using `--platform-architecturearchitecture` .

## Command Options

In addition to specifying the name or UUID of the VM and the platform architecture, which is required, you can specify any of the following options:

`--basefolder=basefolder`

  Specifies the name of the folder in which to save the machine configuration file for the new VM.

  Note that the names of the file and the folder do not change if you rename the VM.

`--default`

  Applies a default hardware configuration for the specified guest OS. By default, the VM is created with minimal hardware.

`--groups=group-ID[,...]`

  Assigns the VM to the specified groups. If you specify more than one group, separate each group name with a comma.

  Note that each group is identified by a group ID that starts with a slash character (`/`) so that groups can be nested. By default, a VM is always assigned membership to the `/` group.

`--ostype=ostype`

  Specifies the guest OS to run in the VM. Run the `VBoxManage list ostypes` command to see the available OS types.

`--register`

  Registers the VM with your &product-name; installation. By default, the `VBoxManage createvm` command creates only the XML configuration for the VM but does not register the VM. If you do not register the VM at creation, you can run the `VBoxManage registervm` command after you create the VM.

`--uuid=uuid`

  Specifies the Universally Unique Identifier (UUID) of the VM. Ensure that this UUID is unique within the &product-name; namespace of the host or of its VM group memberships if you decide to register the VM. By default, &product-name; provides the UUID.

`--cipher=cipher`

  Specifies the cipher to use for encryption. Valid values are `AES-128` or `AES-256`.

  This option enables you to set up encryption on VM.

`--password-id=password-id`

  Specifies a new password identifier that is used for correct identification when supplying multiple passwords for the VM.

  This option enables you to set up encryption on VM.

`--password=file`

  Use the `--password` to supply the encryption password of the VM. Either specify the absolute pathname of a password file on the host operating system, or `-` to prompt you for the password on the command line.

  This option enables you to set up encryption on VM.

## Examples

The following command creates a VM called `vm2` where you plan to run a 64-bit version of Oracle Linux.

    $ VBoxManage createvm --name "vm2" --ostype "Oracle_64"

The following command creates and registers a VM called `vm3`.

    $ VBoxManage createvm --name "vm3" --register

## See Also

,