software:virtualbox

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
software:virtualbox [2018/04/04 11:22] stsoftware:virtualbox [2020/09/28 19:24] (aktuell) st
Zeile 1: Zeile 1:
 +====== Virtualbox ======
 +
 +VirtualBox ist eine Virtualisierungssoftware des US-amerikanischen Unternehmens Oracle unter der GPL v2.
 +
 +Seit [[linux:Kernel]] 4.16 sind die Gast-Treiber Vboxguest integriert (Copy & Paste zwischen Host und Gas, Durchreichen von OpenGL-Befehlen damit ist die 3D-Beschleunigung des Hosts nutzbar), [[https://www.heise.de/ct/artikel/Die-Neuerungen-von-Linux-4-16-3964466.html?seite=all#vbox|die gemeinsamen Ordner fehlen noch]].
 +
 +
 +===== Befehle =====
 +
 +==== vdi zu raw/qcow2 konvertieren ====
 +
 +:!: VBoxManage gehört zum Virtualbox-paket, vor der Konvertierung muss u.U. die Zuordnung zu einer VM gelöst werden oder man kopiert das vdi auf das Zielsystem und konvertiert dort.
 +
 +<code bash>
 +VBoxManage clonehd --format RAW vboximage.vdi rawimage.raw
 +qemu-img convert -f raw rawimage.raw -O qcow2 image.qcow2
 +# optional resize:
 +# qemu-img resize image.qcow2 +50G
 +</code>
 +Quelle: https://maunium.net/blog/resizing-qcow2-images/
 +
 +==== resize ====
 +
 +:!: vorher ein Backup machen!
 +
 +MY_HD.vdi auf 6000 MiB einstellen:
 +<code bash>VBoxManage modifyhd MY_HD.vdi --resize 6000</code>
 +
 +Möglicherweise kommt der folgende Fehler:
 +<file>Progress state: VBOX_E_NOT_SUPPORTED
 +VBoxManage: error: Resize hard disk operation for this format is not implemented yet!</file>
 +
 +Lösung: das vorhandene Image muss zu einem dynamischen Image konvertiert werden:
 +
 +<code bash>VBoxManage clonehd MY_HD.vdi MY_HD_clone.vdi</code>
 +
 +anschließend der resize (s.o.).
 +
 +
 +===== Konfiguration =====
 +
 +==== virtualbox headless ====
 +
 +<code bash>apt install virtualbox-5.2</code>
 +
 +/sbin/vboxconfig
 +
 +<code bash>
 +wget https://download.virtualbox.org/virtualbox/5.2.16/Oracle_VM_VirtualBox_Extension_Pack-5.2.16.vbox-extpack
 +# bzw. bei neueren Versionen (hier 5.2.30):
 +# wget https://download.virtualbox.org/virtualbox/5.2.30/Oracle_VM_VirtualBox_Extension_Pack-5.2.30.vbox-extpack
 +vboxmanage extpack install Oracle_VM_VirtualBox_Extension_Pack-5.2.16.vbox-extpack
 +</code>
 +
 +-> vboxmanage list extpacks
 +
 +
 +/sbin/vboxconfig
 +
 +
 +-> /etc/default/virtualbox -> hat keinen Effekt auf manchen Systemen (5.1.x-Packages und frühere 5.2.x-Paket, íst zumindest auf Ubuntu mit 5.2.30 nicht mehr nötig, damit sind auch die u.g. workarounds in Sachen user und group hinfällig)
 +
 +''/etc/vbox/vbox.cfg''
 +<file>
 +# Set this to 1 if you would like the virtualbox modules to be loaded by
 +# the init script.
 +LOAD_VBOXDRV_MODULE=1
 +
 +# SHUTDOWN_USERS="foo bar"
 +#   check for running VMs of user 'foo' and user 'bar'
 +#   'all' checks for all active users
 +# SHUTDOWN=poweroff
 +# SHUTDOWN=acpibutton
 +# SHUTDOWN=savestate
 +#   select one of these shutdown methods for running VMs
 +#   acpibutton and savestate causes the init script to wait
 +#   30 seconds for the VMs to shutdown
 +SHUTDOWN_USERS="vbox"
 +SHUTDOWN=savestate 
 +
 +VBOXWEB_USER=vbox
 +</file>
 +
 +<code bash>systemctl start vboxweb-service.service</code>
 +
 +-> vboxwebsr 25104   root   10u  IPv6 752731      0t0  TCP [::1]:18083 (LISTEN)
 +
 +
 +
 +**ohne root-Rechte** : Ggf. muss das unit-file abgeändert werden (Ubuntu 5.1.x, ab 5.2.x nicht mehr)
 +
 +''/lib/systemd/system/vboxweb.service'' (bei neueren Versionen: ''/lib/systemd/system/vboxweb-service.service'')
 +<file>
 +[Unit]
 +Description=VirtualBox Web Service
 +After=virtualbox.service
 +
 +[Service]
 +Type=forking
 +ExecStart=/usr/bin/vboxwebsrv --pidfile /home/vbox/vboxweb.pid  --background
 +PIDFile=/home/vbox/vboxweb.pid
 +User=vbox
 +Group=vboxusers
 +
 +[Install]
 +WantedBy=multi-user.target
 +</file>
 +
 +Debian Jessie: 
 +<file>
 +[Unit]
 +SourcePath=/usr/lib/virtualbox/vboxweb-service.sh
 +Description=
 +Before=runlevel2.target runlevel3.target runlevel4.target runlevel5.target shutdown.target
 +After=vboxdrv.service
 +Conflicts=shutdown.target
 +
 +[Service]
 +Type=forking
 +Restart=no
 +TimeoutSec=5min
 +IgnoreSIGPIPE=no
 +KillMode=process
 +GuessMainPID=no
 +RemainAfterExit=yes
 +ExecStart=/usr/lib/virtualbox/vboxweb-service.sh start
 +ExecStop=/usr/lib/virtualbox/vboxweb-service.sh stop
 +User=vbox
 +Group=vboxusers
 +
 +[Install]
 +WantedBy=multi-user.target
 +</file>
 +
 +<code bash>systemctl daemon-reload</code>
 +
 +<file>
 +diff -u /usr/lib/virtualbox/vboxweb-service.sh /usr/lib/virtualbox/vboxweb-service.sh.dist
 +--- /usr/lib/virtualbox/vboxweb-service.sh 2018-08-05 18:54:29.385292902 +0200
 ++++ /usr/lib/virtualbox/vboxweb-service.sh.dist 2018-08-05 18:48:05.753616307 +0200
 +@@ -146,10 +146,7 @@
 +         fi
 +         # prevent inheriting this setting to VBoxSVC
 +         unset VBOX_RELEASE_LOG_DEST
 +- start-stop-daemon --start --user $VBOXWEB_USER --exec $binary $PARAMS > /dev/null 2>&1
 +-        # does not work:
 +- # start_daemon $VBOXWEB_USER $binary $PARAMS > /dev/null 2>&1
 +-
 ++        start_daemon $VBOXWEB_USER $binary $PARAMS > /dev/null 2>&1
 +         # ugly: wait until the final process has forked
 +         sleep .1
 +         PID=`pidof $binary 2>/dev/null`
 +</file>
 +
 +<code bash>start-stop-daemon --start --user vbox --exec /usr/lib/virtualbox/vboxwebsrv --background</code>
 +
 +<file>
 +Aug 05 18:41:26 server1 vboxweb-service.sh[5257]: + unset VBOX_RELEASE_LOG_DEST
 +Aug 05 18:41:26 server1 vboxweb-service.sh[5257]: + start_daemon vbox /usr/lib/virtualbox/vboxwebsrv --background
 +Aug 05 18:41:26 server1 vboxweb-service.sh[5257]: + sleep .1
 +Aug 05 18:41:26 server1 vboxweb-service.sh[5257]: + pidof /usr/lib/virtualbox/vboxwebsrv
 +</file>
 +
 +<code bash>
 +mkdir /var/lib/vbox
 +chown vbox.vboxusers /var/lib/vbox
 +</code>
 +
 +
 +''/lib/udev/rules.d/20-virtualbox2.rules'':
 +<file>
 +KERNEL=="vboxdrv", NAME="vboxdrv", OWNER="root", GROUP="vboxusers", MODE="0660"
 +KERNEL=="vboxdrvu", NAME="vboxdrvu", OWNER="root", GROUP="vboxusers", MODE="0660"
 +KERNEL=="vboxnetctl", NAME="vboxnetctl", OWNER="root",GROUP="vboxusers", MODE="0660"
 +</file>
 +
 +
 +''/lib/systemd/system/vboxweb.service''
 +-> ggf. public IP setzen: -H 1.2.3.4
 +
 +<code bash>systemctl enable vboxweb-service.service</code>
 +
 +<file>
 + Created symlink from /etc/systemd/system/multi-user.target.wants/vboxweb-service.service to /lib/systemd/system/vboxweb-service.service.
 +</file>
 +
 +Shell setzen nötig??? -> 
 +<code bash>chsh -s /bin/bash vbox</code>
 +
 +LAMP installieren: <code bash>apache2 mysql-server libapache2-mod-php php php-curl php-soap php-xml</code>
 +
 +
 +<file>
 +<VirtualHost *:443>
 +
 +  ServerName Host.domain.tld
 +  ServerAdmin webmaster@domain.tld
 +  DocumentRoot "/srv/www"
 +
 +
 +  SSLEngine On
 +  SSLProtocol ALL -SSLv2 -SSLv3
 +
 +  SSLHonorCipherOrder On
 +  SSLCipherSuite 'EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA:EECDH:EDH+AESGCM:EDH:ECDH+AESGCM:ECDH+AES:ECDH:HIGH:MEDIUM:!RC4:!3DES:!CAMELLIA:!SEED:!aNULL:!MD5:!eNULL:!LOW:!EXP:!DSS:!PSK:!SRP'
 +
 +  <IfModule mod_headers.c>
 +          Header always set Strict-Transport-Security "max-age=15768000"
 +  </IfModule>
 +
 +  SSLCertificateFile /etc/apache2/CERTFILE.crt
 +  SSLCertificateKeyFile /etc/apache2/KEYFILE.net.key
 +  SSLCACertificateFile /etc/apache2/CA-bundle.crt
 +
 +  ErrorLog ${APACHE_LOG_DIR}/error.log
 +  CustomLog ${APACHE_LOG_DIR}/access.log combined
 +
 +  <Directory "/srv/www" >
 + Options -Indexes -MultiViews +FollowSymLinks +ExecCGI
 + AllowOverride AuthConfig FileInfo Limit Indexes
 + Order allow,deny
 + allow from all
 + # Apache 2.4+: Require all granted
 +        Require all granted
 +   </Directory>
 + 
 + </VirtualHost>
 +</file>
 +
 +phpvirtualbox -> config.php erzeugen
 +
 +Login mit: admin / admin
 +
 +<code bash>
 +mkdir /home/vbox/VirtualBox\ VMs
 +chown vbox.vboxusers /home/vbox/VirtualBox\ VMs
 +
 +mkdir /home/vbox/iso
 +chown vbox.vboxusers /home/vbox/iso
 +</code>
 +
 +**Einschränkungen**:
 +  * Remotedesktop geht nur mit Außen-IP (nicht ::1 127.0.0.1 / localhost): 
 +  * leider basiert das plugin von phpvirtualbox auf flash (funktioniert bei Firefox nicht)
 +
 +''/etc/vbox/vbox.cfg'' neu anlegen:
 +<file>
 +# Set this to 1 if you would like the virtualbox modules to be loaded by
 +# the init script.
 +LOAD_VBOXDRV_MODULE=1
 +
 +# SHUTDOWN_USERS="foo bar"
 +#   check for running VMs of user 'foo' and user 'bar'
 +#   'all' checks for all active users
 +# SHUTDOWN=poweroff
 +# SHUTDOWN=acpibutton
 +# SHUTDOWN=savestate
 +#   select one of these shutdown methods for running VMs
 +#   acpibutton and savestate causes the init script to wait
 +#   30 seconds for the VMs to shutdown
 +SHUTDOWN_USERS="vbox"
 +SHUTDOWN=savestate 
 +
 +VBOXWEB_USER=vbox
 +</file>
 +
 +
 +=== Quellen ===
 +
 +  - https://www.virtualbox.org/wiki/Linux_Downloads
 +  - https://www.thomas-krenn.com/de/wiki/VirtualBox_im_Headless-Modus_starten
 +  - https://www.howtoforge.de/anleitung/vboxheadless-virtuelle-maschinen-mit-virtualbox-4-1-auf-einem-headless-centos-6-2-server/
 +  - Windows: https://sourceforge.net/projects/vboxvmservice/?source=recommended
 +  - https://www.howtoforge.de/anleitung/headless-virtualbox-installation-mit-phpvirtualbox-verwalten-centos-6-2/
 +  - https://askubuntu.com/questions/741564/how-can-i-get-vboxweb-to-start-properly-at-boot
 +  - https://bbs.archlinux.org/viewtopic.php?id=187863
 +  - https://sourceforge.net/p/phpvirtualbox/wiki/vboxweb-service%20Configuration%20in%20Linux/
 +  - https://sourceforge.net/p/phpvirtualbox/wiki/Home/#virtualbox-40-remote-console-access-note
 +
 +
 +
 +=== upgrade-Probleme ===
 +
 +:!: darauf achten das ältere dkms-Pakete deinstalliert wurden und z.B. 5.2.x auch mit dem richtigen Kernelmodul läuft: ''modinfo vboxdrv''; wenn das nicht der Fall ist: purge der alten Pakete und reinstall der neuen incl. Ausführung von ''/sbin/vboxconfig''.
 +Fehlermeldung: <file>virtualbox 5.2 has terminated unexpectedly during startup with exit code 1 (0x1) VBoxManage: error: Details: code NS_ERROR_FAILURE (0x80004005), component MachineWrap, interface IMachine</file>
 +
 +
 +:!: nur wenn o.g. workaround überhaupt nötig ist, wenn der Service immer noch als root läuft kommt diese Fehlermeldung: <file>VBoxManage: error: Failed to initialize COM because the global settings directory '/root/.config/VirtualBox' is not accessible!</file>
 +
 +Nach dem Paket-upgrade von virtualbox wird immer wieder das unit-file zurückgesetzt, danach fehlen die beiden Zeilen:
 +''/etc/systemd/system/multi-user.target.wants/vboxweb-service.service''
 +<file>
 +User=vbox
 +Group=vboxusers
 +</file>
 +
 +cat /lib/systemd/system/vboxweb.service
 +<file>
 +[Unit]
 +Description=VirtualBox Web Service
 +After=virtualbox.service
 +
 +[Service]
 +Type=forking
 +ExecStart=/usr/bin/vboxwebsrv --pidfile /home/vbox/vboxweb.pid  --background
 +PIDFile=/home/vbox/vboxweb.pid
 +User=vbox
 +Group=vboxusers
 +
 +[Install]
 +WantedBy=multi-user.target
 +</file>
 +
 +<code bash>
 +systemctl daemon-reload
 +systemctl restart vboxweb.service
 +</code>
 +Bei upgrades geht (regelmäßig) kaputt:
 +
 +''/etc/systemd/system/multi-user.target.wants/vboxweb-service.service''
 +<file>
 +User=vbox
 +Group=vboxusers
 +</file>
 +
 +Außerdem muss die Datei ''/etc/vbox/vbox.cfg'' wieder neu anlegt werden:
 +<file>
 +# Set this to 1 if you would like the virtualbox modules to be loaded by
 +# the init script.
 +LOAD_VBOXDRV_MODULE=1
 +
 +# SHUTDOWN_USERS="foo bar"
 +#   check for running VMs of user 'foo' and user 'bar'
 +#   'all' checks for all active users
 +# SHUTDOWN=poweroff
 +# SHUTDOWN=acpibutton
 +# SHUTDOWN=savestate
 +#   select one of these shutdown methods for running VMs
 +#   acpibutton and savestate causes the init script to wait
 +#   30 seconds for the VMs to shutdown
 +SHUTDOWN_USERS="vbox"
 +SHUTDOWN=savestate 
 +
 +VBOXWEB_USER=vbox
 +</file>
 +
 +==== phpvirtualbox ====
 +
 +
 +
 +==== CLI ====
 +
 +Config "VirtualBox.xml" liegt in ~/.VirtualBox (früher in .config/VirtualBox/).
 +
 +''su -l vbox
 +VBoxManage list vms''
 +
 +"VM1" {4996bf6c-54b8-4b6f-b8fe-1bace980060a}
 +
 +<file>
 +VBoxManage --help
 +Oracle VM VirtualBox Command Line Management Interface Version 5.0.40_Ubuntu
 +(C) 2005-2017 Oracle Corporation
 +All rights reserved.
 +
 +Usage:
 +
 +  VBoxManage [<general option>] <command>
 + 
 + 
 +General Options:
 + 
 +  [-v|--version]            print version number and exit
 +  [-q|--nologo]             suppress the logo
 +  [--settingspw <pw>      provide the settings password
 +  [--settingspwfile <file>] provide a file containing the settings password
 + 
 + 
 +Commands:
 + 
 +  list [--long|-l]          vms|runningvms|ostypes|hostdvds|hostfloppies|
 +                            intnets|bridgedifs|hostonlyifs|natnets|dhcpservers|
 +                            hostinfo|hostcpuids|hddbackends|hdds|dvds|floppies|
 +                            usbhost|usbfilters|systemproperties|extpacks|
 +                            groups|webcams|screenshotformats
 +
 +  showvminfo                <uuid|vmname> [--details]
 +                            [--machinereadable]
 +  showvminfo                <uuid|vmname> --log <idx>
 +
 +  registervm                <filename>
 +
 +  unregistervm              <uuid|vmname> [--delete]
 +
 +  createvm                  --name <name>
 +                            [--groups <group>, ...]
 +                            [--ostype <ostype>]
 +                            [--register]
 +                            [--basefolder <path>]
 +                            [--uuid <uuid>]
 +
 +  modifyvm                  <uuid|vmname>
 +                            [--name <name>]
 +                            [--groups <group>, ...]
 +                            [--description <desc>]
 +                            [--ostype <ostype>]
 +                            [--iconfile <filename>]
 +                            [--memory <memorysize in MB>]
 +                            [--pagefusion on|off]
 +                            [--vram <vramsize in MB>]
 +                            [--acpi on|off]
 +                            [--pciattach 03:04.0]
 +                            [--pciattach 03:04.0@02:01.0]
 +                            [--pcidetach 03:04.0]
 +                            [--ioapic on|off]
 +                            [--hpet on|off]
 +                            [--triplefaultreset on|off]
 +                            [--paravirtprovider none|default|legacy|minimal|
 +                                                hyperv|kvm]
 +                            [--hwvirtex on|off]
 +                            [--nestedpaging on|off]
 +                            [--largepages on|off]
 +                            [--vtxvpid on|off]
 +                            [--vtxux on|off]
 +                            [--pae on|off]
 +                            [--longmode on|off]
 +                            [--cpuid-portability-level <0..3>
 +                            [--cpuidset <leaf> <eax> <ebx> <ecx> <edx>]
 +                            [--cpuidremove <leaf>]
 +                            [--cpuidremoveall]
 +                            [--hardwareuuid <uuid>]
 +                            [--cpus <number>]
 +                            [--cpuhotplug on|off]
 +                            [--plugcpu <id>]
 +                            [--unplugcpu <id>]
 +                            [--cpuexecutioncap <1-100>]
 +                            [--rtcuseutc on|off]
 +                            [--graphicscontroller none|vboxvga|vmsvga]
 +                            [--monitorcount <number>]
 +                            [--accelerate3d on|off]
 +                            [--accelerate2dvideo on|off]
 +                            [--firmware bios|efi|efi32|efi64]
 +                            [--chipset ich9|piix3]
 +                            [--bioslogofadein on|off]
 +                            [--bioslogofadeout on|off]
 +                            [--bioslogodisplaytime <msec>]
 +                            [--bioslogoimagepath <imagepath>]
 +                            [--biosbootmenu disabled|menuonly|messageandmenu]
 +                            [--biossystemtimeoffset <msec>]
 +                            [--biospxedebug on|off]
 +                            [--boot<1-4> none|floppy|dvd|disk|net>]
 +                            [--nic<1-N> none|null|nat|bridged|intnet|hostonly|
 +                                        generic|natnetwork]
 +                            [--nictype<1-N> Am79C970A|Am79C973|
 +                                            82540EM|82543GC|82545EM|
 +                                            virtio]
 +                            [--cableconnected<1-N> on|off]
 +                            [--nictrace<1-N> on|off]
 +                            [--nictracefile<1-N> <filename>]
 +                            [--nicproperty<1-N> name=[value]]
 +                            [--nicspeed<1-N> <kbps>]
 +                            [--nicbootprio<1-N> <priority>]
 +                            [--nicpromisc<1-N> deny|allow-vms|allow-all]
 +                            [--nicbandwidthgroup<1-N> none|<name>]
 +                            [--bridgeadapter<1-N> none|<devicename>]
 +                            [--hostonlyadapter<1-N> none|<devicename>]
 +                            [--intnet<1-N> <network name>]
 +                            [--nat-network<1-N> <network name>]
 +                            [--nicgenericdrv<1-N> <driver>
 +                            [--natnet<1-N> <network>|default]
 +                            [--natsettings<1-N> [<mtu>],[<socksnd>],
 +                                                [<sockrcv>],[<tcpsnd>],
 +                                                [<tcprcv>]]
 +                            [--natpf<1-N> [<rulename>],tcp|udp,[<hostip>],
 +                                          <hostport>,[<guestip>],<guestport>]
 +                            [--natpf<1-N> delete <rulename>]
 +                            [--nattftpprefix<1-N> <prefix>]
 +                            [--nattftpfile<1-N> <file>]
 +                            [--nattftpserver<1-N> <ip>]
 +                            [--natbindip<1-N> <ip>
 +                            [--natdnspassdomain<1-N> on|off]
 +                            [--natdnsproxy<1-N> on|off]
 +                            [--natdnshostresolver<1-N> on|off]
 +                            [--nataliasmode<1-N> default|[log],[proxyonly],
 +                                                         [sameports]]
 +                            [--macaddress<1-N> auto|<mac>]
 +                            [--mouse ps2|usb|usbtablet|usbmultitouch]
 +                            [--keyboard ps2|usb
 +                            [--uart<1-N> off|<I/O base> <IRQ>]
 +                            [--uartmode<1-N> disconnected|
 +                                             server <pipe>|
 +                                             client <pipe>|
 +                                             tcpserver <port>|
 +                                             tcpclient <hostname:port>|
 +                                             file <file>|
 +                                             <devicename>]
 +                            [--lpt<1-N> off|<I/O base> <IRQ>]
 +                            [--lptmode<1-N> <devicename>]
 +                            [--guestmemoryballoon <balloonsize in MB>]
 +                            [--audio none|null|oss|alsa|pulse]
 +                            [--audiocontroller ac97|hda|sb16]
 +                            [--audiocodec stac9700|ad1980|stac9221|sb16]
 +                            [--clipboard disabled|hosttoguest|guesttohost|
 +                                         bidirectional]
 +                            [--draganddrop disabled|hosttoguest]
 +                            [--vrde on|off]
 +                            [--vrdeextpack default|<name>
 +                            [--vrdeproperty <name=[value]>]
 +                            [--vrdeport <hostport>]
 +                            [--vrdeaddress <hostip>]
 +                            [--vrdeauthtype null|external|guest]
 +                            [--vrdeauthlibrary default|<name>
 +                            [--vrdemulticon on|off]
 +                            [--vrdereusecon on|off]
 +                            [--vrdevideochannel on|off]
 +                            [--vrdevideochannelquality <percent>]
 +                            [--usb on|off]
 +                            [--usbehci on|off]
 +                            [--usbxhci on|off]
 +                            [--usbrename <oldname> <newname>]
 +                            [--snapshotfolder default|<path>]
 +                            [--teleporter on|off]
 +                            [--teleporterport <port>]
 +                            [--teleporteraddress <address|empty>
 +                            [--teleporterpassword <password>]
 +                            [--teleporterpasswordfile <file>|stdin]
 +                            [--tracing-enabled on|off]
 +                            [--tracing-config <config-string>]
 +                            [--tracing-allow-vm-access on|off]
 +                            [--usbcardreader on|off]
 +                            [--autostart-enabled on|off]
 +                            [--autostart-delay <seconds>]
 +                            [--videocap on|off]
 +                            [--videocapscreens all|<screen ID> [<screen ID> ...]]
 +                            [--videocapfile <filename>]
 +                            [--videocapres <width> <height>]
 +                            [--videocaprate <rate>]
 +                            [--videocapfps <fps>]
 +                            [--videocapmaxtime <ms>]
 +                            [--videocapmaxsize <MB>]
 +                            [--videocapopts <key=value> [<key=value> ...]]
 +                            [--defaultfrontend default|<name>]
 +
 +  clonevm                   <uuid|vmname>
 +                            [--snapshot <uuid>|<name>]
 +                            [--mode machine|machineandchildren|all]
 +                            [--options link|keepallmacs|keepnatmacs|
 +                                       keepdisknames]
 +                            [--name <name>]
 +                            [--groups <group>, ...]
 +                            [--basefolder <basefolder>]
 +                            [--uuid <uuid>]
 +                            [--register]
 +
 +  import                    <ovfname/ovaname>
 +                            [--dry-run|-n]
 +                            [--options keepallmacs|keepnatmacs|importtovdi]
 +                            [more options]
 +                            (run with -n to have options displayed
 +                             for a particular OVF)
 +
 +  export                    <machines> --output|-o <name>.<ovf/ova>
 +                            [--legacy09|--ovf09|--ovf10|--ovf20]
 +                            [--manifest]
 +                            [--iso]
 +                            [--options manifest|iso|nomacs|nomacsbutnat]
 +                            [--vsys <number of virtual system>]
 +                                    [--product <product name>]
 +                                    [--producturl <product url>]
 +                                    [--vendor <vendor name>]
 +                                    [--vendorurl <vendor url>]
 +                                    [--version <version info>]
 +                                    [--description <description info>]
 +                                    [--eula <license text>]
 +                                    [--eulafile <filename>]
 +
 +  startvm                   <uuid|vmname>...
 +                            [--type gui|sdl|headless|separate]
 +
 +  controlvm                 <uuid|vmname>
 +                            pause|resume|reset|poweroff|savestate|
 +                            acpipowerbutton|acpisleepbutton|
 +                            keyboardputscancode <hex> [<hex> ...]|
 +                            setlinkstate<1-N> on|off |
 +                            nic<1-N> null|nat|bridged|intnet|hostonly|generic|
 +                                     natnetwork [<devicename>] |
 +                            nictrace<1-N> on|off |
 +                            nictracefile<1-N> <filename> |
 +                            nicproperty<1-N> name=[value] |
 +                            nicpromisc<1-N> deny|allow-vms|allow-all |
 +                            natpf<1-N> [<rulename>],tcp|udp,[<hostip>],
 +                                        <hostport>,[<guestip>],<guestport> |
 +                            natpf<1-N> delete <rulename> |
 +                            guestmemoryballoon <balloonsize in MB> |
 +                            usbattach <uuid>|<address>
 +                                      [--capturefile <filename>] |
 +                            usbdetach <uuid>|<address> |
 +                            clipboard disabled|hosttoguest|guesttohost|
 +                                      bidirectional |
 +                            draganddrop disabled|hosttoguest |
 +                            vrde on|off |
 +                            vrdeport <port> |
 +                            vrdeproperty <name=[value]> |
 +                            vrdevideochannelquality <percent> |
 +                            setvideomodehint <xres> <yres> <bpp>
 +                                            [[<display>] [<enabled:yes|no> |
 +                                              [<xorigin> <yorigin>]]] |
 +                            screenshotpng <file> [display] |
 +                            videocap on|off |
 +                            videocapscreens all|none|<screen>,[<screen>...] |
 +                            videocapfile <file>
 +                            videocapres <width>x<height>
 +                            videocaprate <rate>
 +                            videocapfps <fps>
 +                            videocapmaxtime <ms>
 +                            videocapmaxsize <MB>
 +                            setcredentials <username>
 +                                           --passwordfile <file> | <password>
 +                                           <domain>
 +                                           [--allowlocallogon <yes|no>] |
 +                            teleport --host <name> --port <port>
 +                                     [--maxdowntime <msec>]
 +                                     [--passwordfile <file> |
 +                                      --password <password>] |
 +                            plugcpu <id> |
 +                            unplugcpu <id> |
 +                            cpuexecutioncap <1-100>
 +                            webcam <attach [path [settings]]> | <detach [path]> | <list>
 +                            addencpassword <id>
 +                                           <password file>|-
 +                                           [--removeonsuspend <yes|no>]
 +                            removeencpassword <id>
 +                            removeallencpasswords
 +
 +  discardstate              <uuid|vmname>
 +
 +  adoptstate                <uuid|vmname> <state_file>
 +
 +  snapshot                  <uuid|vmname>
 +                            take <name> [--description <desc>] [--live]
 +                                 [--uniquename Number,Timestamp,Space,Force] |
 +                            delete <uuid|snapname> |
 +                            restore <uuid|snapname> |
 +                            restorecurrent |
 +                            edit <uuid|snapname>|--current
 +                                 [--name <name>]
 +                                 [--description <desc>] |
 +                            list [--details|--machinereadable]
 +                            showvminfo <uuid|snapname>
 +
 +  closemedium               [disk|dvd|floppy] <uuid|filename>
 +                            [--delete]
 +
 +  storageattach             <uuid|vmname>
 +                            --storagectl <name>
 +                            [--port <number>]
 +                            [--device <number>]
 +                            [--type dvddrive|hdd|fdd]
 +                            [--medium none|emptydrive|additions|
 +                                      <uuid|filename>|host:<drive>|iscsi]
 +                            [--mtype normal|writethrough|immutable|shareable|
 +                                     readonly|multiattach]
 +                            [--comment <text>]
 +                            [--setuuid <uuid>]
 +                            [--setparentuuid <uuid>]
 +                            [--passthrough on|off]
 +                            [--tempeject on|off]
 +                            [--nonrotational on|off]
 +                            [--discard on|off]
 +                            [--hotpluggable on|off]
 +                            [--bandwidthgroup <name>]
 +                            [--forceunmount]
 +                            [--server <name>|<ip>]
 +                            [--target <target>]
 +                            [--tport <port>]
 +                            [--lun <lun>]
 +                            [--encodedlun <lun>]
 +                            [--username <username>]
 +                            [--password <password>]
 +                            [--initiator <initiator>]
 +                            [--intnet]
 +
 +  storagectl                <uuid|vmname>
 +                            --name <name>
 +                            [--add ide|sata|scsi|floppy|sas]
 +                            [--controller LSILogic|LSILogicSAS|BusLogic|
 +                                          IntelAHCI|PIIX3|PIIX4|ICH6|I82078]
 +                            [--portcount <1-n>]
 +                            [--hostiocache on|off]
 +                            [--bootable on|off]
 +                            [--rename <name>]
 +                            [--remove]
 +
 +  bandwidthctl              <uuid|vmname>
 +                            add <name> --type disk|network
 +                                --limit <megabytes per second>[k|m|g|K|M|G] |
 +                            set <name>
 +                                --limit <megabytes per second>[k|m|g|K|M|G] |
 +                            remove <name> |
 +                            list [--machinereadable]
 +                            (limit units: k=kilobit, m=megabit, g=gigabit,
 +                                          K=kilobyte, M=megabyte, G=gigabyte)
 +
 +  showmediuminfo            [disk|dvd|floppy] <uuid|filename>
 +
 +  createmedium              [disk|dvd|floppy] --filename <filename>
 +                            [--size <megabytes>|--sizebyte <bytes>]
 +                            [--diffparent <uuid>|<filename>
 +                            [--format VDI|VMDK|VHD] (default: VDI)
 +                            [--variant Standard,Fixed,Split2G,Stream,ESX]
 +
 +  modifymedium              [disk|dvd|floppy] <uuid|filename>
 +                            [--type normal|writethrough|immutable|shareable|
 +                                    readonly|multiattach]
 +                            [--autoreset on|off]
 +                            [--property <name=[value]>]
 +                            [--compact]
 +                            [--resize <megabytes>|--resizebyte <bytes>]
 +
 +  clonemedium               [disk|dvd|floppy] <uuid|inputfile> <uuid|outputfile>
 +                            [--format VDI|VMDK|VHD|RAW|<other>]
 +                            [--variant Standard,Fixed,Split2G,Stream,ESX]
 +                            [--existing]
 +
 +  mediumproperty            [disk|dvd|floppy] set <uuid|filename>
 +                            <property> <value>
 +
 +                            [disk|dvd|floppy] get <uuid|filename>
 +                            <property>
 +
 +                            [disk|dvd|floppy] delete <uuid|filename>
 +                            <property>
 +
 +  encryptmedium             <uuid|filename>
 +                            [--newpassword <file>|-]
 +                            [--oldpassword <file>|-]
 +                            [--cipher <cipher identifier>]
 +                            [--newpasswordid <password identifier>]
 +
 +  checkmediumpwd            <uuid|filename>
 +                            <pwd file>|-
 +
 +  convertfromraw            <filename> <outputfile>
 +                            [--format VDI|VMDK|VHD]
 +                            [--variant Standard,Fixed,Split2G,Stream,ESX]
 +                            [--uuid <uuid>]
 +  convertfromraw            stdin <outputfile> <bytes>
 +                            [--format VDI|VMDK|VHD]
 +                            [--variant Standard,Fixed,Split2G,Stream,ESX]
 +                            [--uuid <uuid>]
 +
 +  getextradata              global|<uuid|vmname>
 +                            <key>|enumerate
 +
 +  setextradata              global|<uuid|vmname>
 +                            <key>
 +                            [<value>] (no value deletes key)
 +
 +  setproperty               machinefolder default|<folder> |
 +                            hwvirtexclusive on|off |
 +                            vrdeauthlibrary default|<library> |
 +                            websrvauthlibrary default|null|<library> |
 +                            vrdeextpack null|<library> |
 +                            autostartdbpath null|<folder> |
 +                            loghistorycount <value>
 +                            defaultfrontend default|<name>
 +                            logginglevel <log setting>
 +
 +  usbfilter                 add <index,0-N>
 +                            --target <uuid|vmname>|global
 +                            --name <string>
 +                            --action ignore|hold (global filters only)
 +                            [--active yes|no] (yes)
 +                            [--vendorid <XXXX>] (null)
 +                            [--productid <XXXX>] (null)
 +                            [--revision <IIFF>] (null)
 +                            [--manufacturer <string>] (null)
 +                            [--product <string>] (null)
 +                            [--remote yes|no] (null, VM filters only)
 +                            [--serialnumber <string>] (null)
 +                            [--maskedinterfaces <XXXXXXXX>]
 +
 +  usbfilter                 modify <index,0-N>
 +                            --target <uuid|vmname>|global
 +                            [--name <string>]
 +                            [--action ignore|hold] (global filters only)
 +                            [--active yes|no]
 +                            [--vendorid <XXXX>|""]
 +                            [--productid <XXXX>|""]
 +                            [--revision <IIFF>|""]
 +                            [--manufacturer <string>|""]
 +                            [--product <string>|""]
 +                            [--remote yes|no] (null, VM filters only)
 +                            [--serialnumber <string>|""]
 +                            [--maskedinterfaces <XXXXXXXX>]
 +
 +  usbfilter                 remove <index,0-N>
 +                            --target <uuid|vmname>|global
 +
 +  sharedfolder              add <uuid|vmname>
 +                            --name <name> --hostpath <hostpath>
 +                            [--transient] [--readonly] [--automount]
 +
 +  sharedfolder              remove <uuid|vmname>
 +                            --name <name> [--transient]
 +
 +  guestproperty             get <uuid|vmname>
 +                            <property> [--verbose]
 +
 +  guestproperty             set <uuid|vmname>
 +                            <property> [<value> [--flags <flags>]]
 +
 +  guestproperty             delete|unset <uuid|vmname>
 +                            <property>
 +
 +  guestproperty             enumerate <uuid|vmname>
 +                            [--patterns <patterns>]
 +
 +  guestproperty             wait <uuid|vmname> <patterns>
 +                            [--timeout <msec>] [--fail-on-timeout]
 +
 +  guestcontrol              <uuid|vmname> [--verbose|-v] [--quiet|-q]
 +                              [--username <name>] [--domain <domain>]
 +                              [--passwordfile <file> | --password <password>]
 +
 +                              run [common-options]
 +                              [--exe <path to executable>] [--timeout <msec>]
 +                              [-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]
 +                              [--ignore-operhaned-processes] [--no-profile]
 +                              [--no-wait-stdout|--wait-stdout]
 +                              [--no-wait-stderr|--wait-stderr]
 +                              [--dos2unix] [--unix2dos]
 +                              -- <program/arg0> [argument1] ... [argumentN]]
 +
 +                              start [common-options]
 +                              [--exe <path to executable>] [--timeout <msec>]
 +                              [-E|--putenv <NAME>[=<VALUE>]] [--unquoted-args]
 +                              [--ignore-operhaned-processes] [--no-profile]
 +                              -- <program/arg0> [argument1] ... [argumentN]]
 +
 +                              copyfrom [common-options]
 +                              [--dryrun] [--follow] [-R|--recursive]
 +                              <guest-src0> [guest-src1 [...]] <host-dst>
 +
 +                              copyfrom [common-options]
 +                              [--dryrun] [--follow] [-R|--recursive]
 +                              [--target-directory <host-dst-dir>]
 +                              <guest-src0> [guest-src1 [...]]
 +
 +                              copyto [common-options]
 +                              [--dryrun] [--follow] [-R|--recursive]
 +                              <host-src0> [host-src1 [...]] <guest-dst>
 +
 +                              copyto [common-options]
 +                              [--dryrun] [--follow] [-R|--recursive]
 +                              [--target-directory <guest-dst>]
 +                              <host-src0> [host-src1 [...]]
 +
 +                              mkdir|createdir[ectory] [common-options]
 +                              [--parents] [--mode <mode>]
 +                              <guest directory> [...]
 +
 +                              rmdir|removedir[ectory] [common-options]
 +                              [-R|--recursive]
 +                              <guest directory> [...]
 +
 +                              removefile|rm [common-options] [-f|--force]
 +                              <guest file> [...]
 +
 +                              mv|move|ren[ame] [common-options]
 +                              <source> [source1 [...]] <dest>
 +
 +                              mktemp|createtemp[orary] [common-options]
 +                              [--secure] [--mode <mode>] [--tmpdir <directory>]
 +                              <template>
 +
 +                              stat [common-options]
 +                              <file> [...]
 +
 +  guestcontrol              <uuid|vmname> [--verbose|-v] [--quiet|-q]
 +
 +                              list <all|sessions|processes|files> [common-opts]
 +
 +                              closeprocess [common-options]
 +                              <   --session-id <ID>
 +                                | --session-name <name or pattern>
 +                              <PID1> [PID1 [...]]
 +
 +                              closesession [common-options]
 +                              <  --all | --session-id <ID>
 +                                | --session-name <name or pattern> >
 +
 +                              updatega|updateguestadditions|updateadditions
 +                              [--source <guest additions .ISO>]
 +                              [--wait-start] [common-options]
 +                              [-- [<argument1>] ... [<argumentN>]]
 +
 +                              watch [common-options]
 +
 +  debugvm                   <uuid|vmname>
 +                            dumpguestcore --filename <name> |
 +                            info <item> [args] |
 +                            injectnmi |
 +                            log [--release|--debug] <settings> ...|
 +                            logdest [--release|--debug] <settings> ...|
 +                            logflags [--release|--debug] <settings> ...|
 +                            osdetect |
 +                            osinfo |
 +                            osdmesg [--lines|-n <N>] |
 +                            getregisters [--cpu <id>] <reg>|all ... |
 +                            setregisters [--cpu <id>] <reg>=<value> ... |
 +                            show [--human-readable|--sh-export|--sh-eval|
 +                                  --cmd-set] 
 +                                <logdbg-settings|logrel-settings>
 +                                [[opt] what ...] |
 +                            statistics [--reset] [--pattern <pattern>]
 +                            [--descriptions]
 +
 +  metrics                   list [*|host|<vmname> [<metric_list>]]
 +                                                 (comma-separated)
 +
 +  metrics                   setup
 +                            [--period <seconds>] (default: 1)
 +                            [--samples <count>] (default: 1)
 +                            [--list]
 +                            [*|host|<vmname> [<metric_list>]]
 +
 +  metrics                   query [*|host|<vmname> [<metric_list>]]
 +
 +  metrics                   enable
 +                            [--list]
 +                            [*|host|<vmname> [<metric_list>]]
 +
 +  metrics                   disable
 +                            [--list]
 +                            [*|host|<vmname> [<metric_list>]]
 +
 +  metrics                   collect
 +                            [--period <seconds>] (default: 1)
 +                            [--samples <count>] (default: 1)
 +                            [--list]
 +                            [--detach]
 +                            [*|host|<vmname> [<metric_list>]]
 +
 +  natnetwork                add --netname <name>
 +                            --network <network>
 +                            [--enable|--disable]
 +                            [--dhcp on|off]
 +                            [--port-forward-4 <rule>]
 +                            [--loopback-4 <rule>]
 +                            [--ipv6 on|off]
 +                            [--port-forward-6 <rule>]
 +                            [--loopback-6 <rule>]
 +
 +  natnetwork                remove --netname <name>
 +
 +  natnetwork                modify --netname <name>
 +                            [--network <network>]
 +                            [--enable|--disable]
 +                            [--dhcp on|off]
 +                            [--port-forward-4 <rule>]
 +                            [--loopback-4 <rule>]
 +                            [--ipv6 on|off]
 +                            [--port-forward-6 <rule>]
 +                            [--loopback-6 <rule>]
 +
 +  natnetwork                start --netname <name>
 +
 +  natnetwork                stop --netname <name>
 +
 +  hostonlyif                ipconfig <name>
 +                            [--dhcp |
 +                            --ip<ipv4> [--netmask<ipv4> (def: 255.255.255.0)] |
 +                            --ipv6<ipv6> [--netmasklengthv6<length> (def: 64)]]
 +                            create |
 +                            remove <name>
 +
 +  dhcpserver                add|modify --netname <network_name> |
 +                                       --ifname <hostonly_if_name>
 +                            [--ip <ip_address>
 +                            --netmask <network_mask>
 +                            --lowerip <lower_ip>
 +                            --upperip <upper_ip>]
 +                            [--enable | --disable]
 +
 +  dhcpserver                remove --netname <network_name> |
 +                                   --ifname <hostonly_if_name>
 +
 +  Introspection and guest debugging:
 +  VBoxManage debugvm <uuid|vmname> dumpvmcore [--filename=name]
 +  VBoxManage debugvm <uuid|vmname> info <item> [args...]
 +  VBoxManage debugvm <uuid|vmname> injectnmi
 +  VBoxManage debugvm <uuid|vmname> log [[--release] | [--debug]]
 +      [group-settings...]
 +  VBoxManage debugvm <uuid|vmname> logdest [[--release] | [--debug]]
 +      [destinations...]
 +  VBoxManage debugvm <uuid|vmname> logflags [[--release] | [--debug]] [flags...]
 +  VBoxManage debugvm <uuid|vmname> osdetect
 +  VBoxManage debugvm <uuid|vmname> osinfo
 +  VBoxManage debugvm <uuid|vmname> osdmesg [--lines=lines]
 +  VBoxManage debugvm <uuid|vmname> getregisters [--cpu=id] [reg-set.reg-name...]
 +  VBoxManage debugvm <uuid|vmname> setregisters [--cpu=id]
 +      [reg-set.reg-name=value...]
 +  VBoxManage debugvm <uuid|vmname> show [[--human-readable] | [--sh-export] |
 +      [--sh-eval] | [--cmd-set]] [settings-item...]
 +  VBoxManage debugvm <uuid|vmname> statistics [--reset] [--descriptions]
 +      [--pattern=pattern]
 +  Extension package management:
 +
 +  VBoxManage extpack install [--replace] <tarball>
 +  VBoxManage extpack uninstall [--force] <name>
 +  VBoxManage extpack cleanup
 +</file>