VirtualBox

source: vbox/trunk/doc/manual/en_US/user_VBoxManage.xml@ 74981

Last change on this file since 74981 was 74003, checked in by vboxsync, 6 years ago

Main: bugref:9231: added ability to set IMedium:location for medium moved by user

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 291.3 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 user_VBoxManage.xml:
4 VBoxManage documentation for the user manual.
5
6 This XML document is also be used for generating the help text
7 built into VBoxManage as well as manpages (hacking in progress).
8
9 Copyright (C) 2006-2018 Oracle Corporation
10
11 This file is part of VirtualBox Open Source Edition (OSE), as
12 available from http://www.virtualbox.org. This file is free software;
13 you can redistribute it and/or modify it under the terms of the GNU
14 General Public License (GPL) as published by the Free Software
15 Foundation, in version 2 as it comes in the "COPYING" file of the
16 VirtualBox OSE distribution. VirtualBox OSE is distributed in the
17 hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18 -->
19<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
20 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
21<!ENTITY % all.entities SYSTEM "all-entities.ent">
22%all.entities;
23]>
24<chapter id="vboxmanage">
25
26 <title>VBoxManage</title>
27
28 <sect1 id="vboxmanage-intro">
29
30 <title>Introduction</title>
31
32 <para>
33 As briefly mentioned in <xref linkend="frontends" />, VBoxManage
34 is the command-line interface to VirtualBox. With it, you can
35 completely control VirtualBox from the command line of your host
36 operating system. VBoxManage supports all the features that the
37 graphical user interface gives you access to, but it supports a
38 lot more than that. It exposes really all the features of the
39 virtualization engine, even those that cannot (yet) be accessed
40 from the GUI.
41 </para>
42
43 <para>
44 You will need to use the command line if you want to do the
45 following:
46 </para>
47
48 <itemizedlist>
49
50 <listitem>
51 <para>
52 Use a different user interface than the main GUI. For example,
53 VBoxSDL or the VBoxHeadless server.
54 </para>
55 </listitem>
56
57 <listitem>
58 <para>
59 Control some of the more advanced and experimental
60 configuration settings for a VM.
61 </para>
62 </listitem>
63
64 </itemizedlist>
65
66 <para>
67 There are two main things to keep in mind when using
68 <computeroutput>VBoxManage</computeroutput>: First,
69 <computeroutput>VBoxManage</computeroutput> must always be used
70 with a specific "subcommand", such as "list" or "createvm" or
71 "startvm". All the subcommands that
72 <computeroutput>VBoxManage</computeroutput> supports are described
73 in detail in <xref linkend="vboxmanage" />.
74 </para>
75
76 <para>
77 Second, most of these subcommands require that you specify a
78 particular virtual machine after the subcommand. There are two
79 ways you can do this:
80 </para>
81
82 <itemizedlist>
83
84 <listitem>
85 <para>
86 You can specify the VM name, as it is shown in the VirtualBox
87 GUI. Note that if that name contains spaces, then you must
88 enclose the entire name in double quotes (as it is always
89 required with command line arguments that contain spaces).
90 </para>
91
92 <para>
93 For example:
94
95<screen>VBoxManage startvm "Windows XP"</screen>
96 </para>
97 </listitem>
98
99 <listitem>
100 <para>
101 You can specify the UUID, which is the internal unique
102 identifier that VirtualBox uses to refer to the virtual
103 machine. Assuming that the aforementioned VM called "Windows
104 XP" has the UUID shown below, the following command has the
105 same effect as the previous:
106
107<screen>VBoxManage startvm 670e746d-abea-4ba6-ad02-2a3b043810a5</screen>
108 </para>
109 </listitem>
110
111 </itemizedlist>
112
113 <para>
114 You can type <computeroutput>VBoxManage list vms</computeroutput>
115 to have all currently registered VMs listed with all their
116 settings, including their respective names and UUIDs.
117 </para>
118
119 <para>
120 Some typical examples of how to control VirtualBox from the
121 command line are listed below:
122 </para>
123
124 <itemizedlist>
125
126 <listitem>
127 <para>
128 To create a new virtual machine from the command line and
129 immediately register it with VirtualBox, use
130 <computeroutput>VBoxManage createvm</computeroutput> with the
131 <computeroutput>--register</computeroutput> option,
132
133 <footnote>
134
135 <para>
136 For details, see
137 <xref
138 linkend="vboxmanage-createvm" />.
139 </para>
140
141 </footnote>
142
143 like this:
144 </para>
145
146<screen>$ VBoxManage createvm --name "SUSE 10.2" --register
147VirtualBox Command Line Management Interface Version <replaceable>version-number</replaceable>
148(C) 2005-2018 Oracle Corporation
149All rights reserved.
150
151Virtual machine 'SUSE 10.2' is created.
152UUID: c89fc351-8ec6-4f02-a048-57f4d25288e5
153Settings file: '/home/username/.config/VirtualBox/Machines/SUSE 10.2/SUSE 10.2.xml'</screen>
154
155 <para>
156 As can be seen from the above output, a new virtual machine
157 has been created with a new UUID and a new XML settings file.
158 </para>
159 </listitem>
160
161 <listitem>
162 <para>
163 To show the configuration of a particular VM, use
164 <computeroutput>VBoxManage showvminfo</computeroutput>. See
165 <xref
166 linkend="vboxmanage-showvminfo" /> for details
167 and an example.
168 </para>
169 </listitem>
170
171 <listitem>
172 <para>
173 To change settings while a VM is powered off, use
174 <computeroutput>VBoxManage modifyvm</computeroutput>. For
175 example:
176
177<screen>VBoxManage modifyvm "Windows XP" --memory 512</screen>
178 </para>
179
180 <para>
181 For details, see <xref linkend="vboxmanage-modifyvm" />.
182 </para>
183 </listitem>
184
185 <listitem>
186 <para>
187 To change the storage configuration (e.g. to add a storage
188 controller and then a virtual disk), use
189 <computeroutput>VBoxManage storagectl</computeroutput> and
190 <computeroutput>VBoxManage storageattach</computeroutput>. See
191 <xref
192 linkend="vboxmanage-storagectl" /> and
193 <xref
194 linkend="vboxmanage-storageattach" />.
195 </para>
196 </listitem>
197
198 <listitem>
199 <para>
200 To control VM operation, use one of the following:
201 </para>
202
203 <itemizedlist>
204
205 <listitem>
206 <para>
207 To start a VM that is currently powered off, use
208 <computeroutput>VBoxManage startvm</computeroutput>. See
209 <xref
210 linkend="vboxmanage-startvm" />.
211 </para>
212 </listitem>
213
214 <listitem>
215 <para>
216 To pause or save a VM that is currently running or change
217 some of its settings, use <computeroutput>VBoxManage
218 controlvm</computeroutput>. See
219 <xref
220 linkend="vboxmanage-controlvm" />.
221 </para>
222 </listitem>
223
224 </itemizedlist>
225 </listitem>
226
227 </itemizedlist>
228
229 </sect1>
230
231 <sect1 id="vboxmanage-cmd-overview">
232
233 <title>Commands Overview</title>
234
235 <para>
236 When running VBoxManage without parameters or when supplying an
237 invalid command line, the below syntax diagram will be shown. Note
238 that the output will be slightly different depending on the host
239 platform; when in doubt, check the output of
240 <computeroutput>VBoxManage</computeroutput> for the commands
241 available on your particular host.
242 </para>
243
244 <xi:include href="user_VBoxManage_CommandsOverview.xml" xpointer="xpointer(/sect1/*)"
245 xmlns:xi="http://www.w3.org/2001/XInclude" />
246
247 <para>
248 Each time VBoxManage is invoked, only one command can be executed.
249 However, a command might support several subcommands which then
250 can be invoked in one single call. The following sections provide
251 detailed reference information on the different commands.
252 </para>
253
254 </sect1>
255
256 <sect1 id="vboxmanage-general">
257
258 <title>General Options</title>
259
260 <itemizedlist>
261
262 <listitem>
263 <para>
264 <computeroutput>-v|--version</computeroutput>: show the
265 version of this tool and exit.
266 </para>
267 </listitem>
268
269 <listitem>
270 <para>
271 <computeroutput>--nologo</computeroutput>: suppress the output
272 of the logo information (useful for scripts)
273 </para>
274 </listitem>
275
276 <listitem>
277 <para>
278 <computeroutput>--settingspw</computeroutput>: specifiy a
279 settings password
280 </para>
281 </listitem>
282
283 <listitem>
284 <para>
285 <computeroutput>--settingspwfile</computeroutput>: specify a
286 file containing the settings password.
287 </para>
288 </listitem>
289
290 </itemizedlist>
291
292 <para>
293 The settings password is used for certain settings which need to
294 be stored encrypted for security reasons. At the moment, the only
295 encrypted setting is the iSCSI initiator secret (see
296 <xref linkend="vboxmanage-storageattach" /> for details). As long
297 as no settings password is specified, this information is stored
298 in <emphasis role="bold">plain text</emphasis>. After using the
299 <computeroutput>--settingspw|--settingspwfile</computeroutput>
300 option once, it must be always used, otherwise the encrypted
301 setting cannot be unencrypted.
302 </para>
303
304 </sect1>
305
306 <sect1 id="vboxmanage-list">
307
308 <title>VBoxManage list</title>
309
310 <para>
311 The <computeroutput>list</computeroutput> command gives relevant
312 information about your system and information about VirtualBox's
313 current settings.
314 </para>
315
316 <para>
317 The following subcommands are available with
318 <computeroutput>VBoxManage list</computeroutput>:
319 </para>
320
321 <itemizedlist>
322
323 <listitem>
324 <para>
325 <computeroutput>vms</computeroutput> lists all virtual
326 machines currently registered with VirtualBox. By default this
327 displays a compact list with each VM's name and UUID; if you
328 also specify <computeroutput>--long</computeroutput> or
329 <computeroutput>-l</computeroutput>, this will be a detailed
330 list as with the <computeroutput>showvminfo</computeroutput>
331 command (see below).
332 </para>
333 </listitem>
334
335 <listitem>
336 <para>
337 <computeroutput>runningvms</computeroutput> lists all
338 currently running virtual machines by their unique identifiers
339 (UUIDs) in the same format as with
340 <computeroutput>vms</computeroutput>.
341 </para>
342 </listitem>
343
344 <listitem>
345 <para>
346 <computeroutput>ostypes</computeroutput> lists all guest
347 operating systems presently known to VirtualBox, along with
348 the identifiers used to refer to them with the
349 <computeroutput>modifyvm</computeroutput> command.
350 </para>
351 </listitem>
352
353 <listitem>
354 <para>
355 <computeroutput>hostdvds</computeroutput>,
356 <computeroutput>hostfloppies</computeroutput>, respectively,
357 list DVD, floppy, bridged networking and host-only networking
358 interfaces on the host, along with the name used to access
359 them from within VirtualBox.
360 </para>
361 </listitem>
362
363 <listitem>
364 <para>
365 <computeroutput>intnets</computeroutput> displays information
366 about the internal networks.
367 </para>
368 </listitem>
369
370 <listitem>
371 <para>
372 <computeroutput>bridgedifs</computeroutput>,
373 <computeroutput>hostonlyifs</computeroutput>,
374 <computeroutput>natnets</computeroutput> and
375 <computeroutput>dhcpservers</computeroutput>, respectively,
376 list bridged network interfaces, host-only network interfaces,
377 NAT network interfaces and DHCP servers currently available on
378 the host. Please see
379 <xref
380 linkend="networkingdetails" /> for details on
381 these.
382 </para>
383 </listitem>
384
385 <listitem>
386 <para>
387 <computeroutput>hostinfo</computeroutput> displays information
388 about the host system, such as CPUs, memory size and operating
389 system version.
390 </para>
391 </listitem>
392
393 <listitem>
394 <para>
395 <computeroutput>hostcpuids</computeroutput> dumps the CPUID
396 parameters for the host CPUs. This can be used for a more fine
397 grained analyis of the host's virtualization capabilities.
398 </para>
399 </listitem>
400
401 <listitem>
402 <para>
403 <computeroutput>hddbackends</computeroutput> lists all known
404 virtual disk back-ends of VirtualBox. For each such format
405 (such as VDI, VMDK or RAW), this lists the back-end's
406 capabilities and configuration.
407 </para>
408 </listitem>
409
410 <listitem>
411 <para>
412 <computeroutput>hdds</computeroutput>,
413 <computeroutput>dvds</computeroutput> and
414 <computeroutput>floppies</computeroutput> all give you
415 information about virtual disk images currently in use by
416 VirtualBox, including all their settings, the unique
417 identifiers (UUIDs) associated with them by VirtualBox and all
418 files associated with them. This is the command-line
419 equivalent of the Virtual Media Manager. See
420 <xref
421 linkend="vdis" />.
422 </para>
423 </listitem>
424
425 <listitem>
426 <para>
427 <computeroutput>usbhost</computeroutput> supplies information
428 about USB devices attached to the host, notably information
429 useful for constructing USB filters and whether they are
430 currently in use by the host.
431 </para>
432 </listitem>
433
434 <listitem>
435 <para>
436 <computeroutput>usbfilters</computeroutput> lists all global
437 USB filters registered with VirtualBox -- that is, filters for
438 devices which are accessible to all virtual machines -- and
439 displays the filter parameters.
440 </para>
441 </listitem>
442
443 <listitem>
444 <para>
445 <computeroutput>systemproperties</computeroutput> displays
446 some global VirtualBox settings, such as minimum and maximum
447 guest RAM and virtual hard disk size, folder settings and the
448 current authentication library in use.
449 </para>
450 </listitem>
451
452 <listitem>
453 <para>
454 <computeroutput>extpacks</computeroutput> displays all
455 VirtualBox extension packs currently installed. See
456 <xref
457 linkend="intro-installing" /> and
458 <xref
459 linkend="vboxmanage-extpack" />.
460 </para>
461 </listitem>
462
463 <listitem>
464 <para>
465 <computeroutput>groups</computeroutput> displays details of
466 the VM Groups. See <xref linkend="gui-vmgroups" />.
467 </para>
468 </listitem>
469
470 <listitem>
471 <para>
472 <computeroutput>webcams</computeroutput> displays a list of
473 webcams attached to the running VM. The output format is a
474 list of absolute paths or aliases that were used for attaching
475 the webcams to the VM using the webcam attach command.
476 </para>
477 </listitem>
478
479 <listitem>
480 <para>
481 <computeroutput>screenshotformats</computeroutput> displays a
482 list of available screenshot formats.
483 </para>
484 </listitem>
485
486 </itemizedlist>
487
488 </sect1>
489
490 <sect1 id="vboxmanage-showvminfo">
491
492 <title>VBoxManage showvminfo</title>
493
494 <para>
495 The <computeroutput>showvminfo</computeroutput> command shows
496 information about a particular virtual machine. This is the same
497 information as <computeroutput>VBoxManage list vms
498 --long</computeroutput> would show for all virtual machines.
499 </para>
500
501 <para>
502 You will get information that resembles the following example.
503 </para>
504
505 <para>
506<screen>$ VBoxManage showvminfo "Windows XP"
507VirtualBox Command Line Management Interface Version <replaceable>version-number</replaceable>
508(C) 2005-2018 Oracle Corporation
509All rights reserved.
510
511Name: Windows XP
512Guest OS: Other/Unknown
513UUID: 1bf3464d-57c6-4d49-92a9-a5cc3816b7e7
514Config file: /home/username/.config/VirtualBox/Machines/Windows XP/Windows XP.xml
515Memory size: 512MB
516VRAM size: 12MB
517Number of CPUs: 2
518Boot menu mode: message and menu
519Boot Device (1): DVD
520Boot Device (2): HardDisk
521Boot Device (3): Not Assigned
522Boot Device (4): Not Assigned
523ACPI: on
524IOAPIC: on
525...
526 </screen>
527 </para>
528
529 <para>
530 Use the <computeroutput>--machinereadable</computeroutput> option
531 to produce the same output, but in machine readable format:
532 property="value" on a line by line basis, e.g.:
533 </para>
534
535 <para>
536<screen>
537name="VBoxSDL --startvm OL7.2"
538groups="/"
539ostype="Oracle (64-bit)"
540UUID="457af700-bc0a-4258-aa3c-13b03da171f2"
541...
542 </screen>
543 </para>
544
545 </sect1>
546
547 <sect1 id="vboxmanage-registervm">
548
549 <title>VBoxManage registervm/unregistervm</title>
550
551 <para>
552 The <computeroutput>registervm</computeroutput> command allows you
553 to import a virtual machine definition in an XML file into
554 VirtualBox. The machine must not conflict with one already
555 registered in VirtualBox and it may not have any hard or removable
556 disks attached. It is advisable to place the definition file in
557 the machines folder before registering it.
558
559 <note>
560 <para>
561 When creating a new virtual machine with
562 <computeroutput>VBoxManage createvm</computeroutput> (see
563 below), you can directly specify the
564 <computeroutput>--register</computeroutput> option to avoid
565 having to register it separately.
566 </para>
567 </note>
568 </para>
569
570 <para>
571 The <computeroutput>unregistervm</computeroutput> command
572 unregisters a virtual machine. If
573 <computeroutput>--delete</computeroutput> is also specified, the
574 following files will automatically be deleted as well:
575 </para>
576
577 <orderedlist>
578
579 <listitem>
580 <para>
581 All hard disk image files, including differencing files, which
582 are used by the machine and not shared with other machines.
583 </para>
584 </listitem>
585
586 <listitem>
587 <para>
588 Saved state files that the machine created. One if the machine
589 was in "saved" state and one for each online snapshot.
590 </para>
591 </listitem>
592
593 <listitem>
594 <para>
595 The machine XML file and its backups,
596 </para>
597 </listitem>
598
599 <listitem>
600 <para>
601 The machine log files.
602 </para>
603 </listitem>
604
605 <listitem>
606 <para>
607 The machine directory, if it is empty after having deleted all
608 of the above files.
609 </para>
610 </listitem>
611
612 </orderedlist>
613
614 </sect1>
615
616 <sect1 id="vboxmanage-createvm">
617
618 <title>VBoxManage createvm</title>
619
620 <para>
621 This command creates a new XML virtual machine definition file.
622 </para>
623
624 <para>
625 The <computeroutput>--name &lt;name&gt;</computeroutput> parameter
626 is required and must specify the name of the machine. Since this
627 name is used by default as the file name of the settings file
628 (with the extension <computeroutput>.xml</computeroutput>) and the
629 machine folder (a subfolder of the
630 <computeroutput>.config/VirtualBox/Machines</computeroutput>
631 folder - this folder name may vary depending on the operating
632 system and the version of VirtualBox which you are using), it must
633 conform to your host operating system's requirements for file name
634 specifications. If the VM is later renamed, the file and folder
635 names will change automatically.
636 </para>
637
638 <para>
639 However, if the <computeroutput>--basefolder
640 &lt;path&gt;</computeroutput> option is used, the machine folder
641 will be named <computeroutput>&lt;path&gt;</computeroutput>. In
642 this case, the names of the file and the folder will not change if
643 the virtual machine is renamed.
644 </para>
645
646 <para>
647 If the <computeroutput>--group &lt;group&gt;, ...</computeroutput>
648 option is used, the machine will be assigned membership of the
649 specified VM groups in the list. Note that group ids always start
650 with a <computeroutput>/</computeroutput> and can be nested. By
651 default, VMs are always assigned membership of the group
652 <computeroutput>/</computeroutput>.
653 </para>
654
655 <para>
656 If the <computeroutput>--ostype &lt;ostype&gt;</computeroutput>:
657 option is used, &lt;ostype&gt; specifies the guest operating
658 system to run in the VM. To learn about the available OS options,
659 run <computeroutput>VBoxManage list ostypes</computeroutput> .
660 </para>
661
662 <para>
663 If the <computeroutput>--uuid &lt;uuid&gt;</computeroutput>:
664 option is used, &lt;uuid&gt; specifies the VM uuid. This must be
665 unique within the namespace of the host, or that of the VM Group
666 if it is assigned to a VM group membership. By default, a unique
667 uuid within the appropriate namespace is automatically generated.
668 </para>
669
670 <para>
671 If the <computeroutput>--default</computeroutput> option is used,
672 default hardware configuration for specified guest operation
673 system will be applied. By default, VM is created with minimal
674 hardware.
675 </para>
676
677 <para>
678 By default, this command only creates the XML file without
679 automatically registering the VM with your VirtualBox
680 installation. To register the VM instantly, use the optional
681 <computeroutput>--register</computeroutput> option, or run
682 <computeroutput>VBoxManage registervm</computeroutput> separately
683 afterwards.
684 </para>
685
686 </sect1>
687
688 <sect1 id="vboxmanage-modifyvm">
689
690 <title>VBoxManage modifyvm</title>
691
692 <para>
693 This command changes the properties of a registered virtual
694 machine which is not running. Most of the properties that this
695 command makes available correspond to the VM settings that
696 VirtualBox graphical user interface displays in each VM's
697 "Settings" dialog. These were described in
698 <xref linkend="BasicConcepts" />. Some of the more advanced
699 settings, however, are only available through the
700 <computeroutput>VBoxManage</computeroutput> interface.
701 </para>
702
703 <para>
704 These commands require that the machine is powered off (neither
705 running nor in "saved" state). Some machine settings can also be
706 changed while a machine is running; those settings will then have
707 a corresponding subcommand with the <computeroutput>VBoxManage
708 controlvm</computeroutput> subcommand. See
709 <xref linkend="vboxmanage-controlvm" />.
710 </para>
711
712 <sect2 id="vboxmanage-modifyvm-general">
713
714 <title>General Settings</title>
715
716 <para>
717 The following general settings are available through
718 <computeroutput>VBoxManage modifyvm</computeroutput>:
719 </para>
720
721 <itemizedlist>
722
723 <listitem>
724 <para>
725 <computeroutput>--name &lt;name&gt;</computeroutput>: This
726 changes the VM's name and can be used to rename the internal
727 virtual machine files, as described in
728 <xref linkend="vboxmanage-createvm"/>.
729 </para>
730 </listitem>
731
732 <listitem>
733 <para>
734 <computeroutput>--groups &lt;group&gt;,
735 ...</computeroutput>: This changes the group membership of a
736 VM. Groups always start with a
737 <computeroutput>/</computeroutput> and can be nested. By
738 default VMs are in group <computeroutput>/</computeroutput>.
739 </para>
740 </listitem>
741
742 <listitem>
743 <para>
744 <computeroutput>--description &lt;desc&gt;</computeroutput>:
745 This changes the VM's description, which is a way to record
746 details about the VM in a way which is meaningful for the
747 user. The GUI interprets HTML formatting, the command line
748 allows arbitrary strings potentially containing multiple
749 lines.
750 </para>
751 </listitem>
752
753 <listitem>
754 <para>
755 <computeroutput>--ostype &lt;ostype&gt;</computeroutput>:
756 This specifies what guest operating system is supposed to
757 run in the VM. To learn about the various identifiers that
758 can be used here, use <computeroutput>VBoxManage list
759 ostypes</computeroutput>.
760 </para>
761 </listitem>
762
763 <listitem>
764 <para>
765 <computeroutput>--iconfile
766 &lt;filename&gt;</computeroutput>: This specifies the
767 absolute path on the host file system for the VirtualBox
768 icon to be displayed in the VM.
769 </para>
770 </listitem>
771
772 <listitem>
773 <para>
774 <computeroutput>--memory
775 &lt;memorysize&gt;</computeroutput>: This sets the amount of
776 RAM, in MB, that the virtual machine should allocate for
777 itself from the host. See <xref linkend="gui-createvm" />.
778 </para>
779 </listitem>
780
781 <listitem>
782 <para>
783 <computeroutput>--pagefusion on|off</computeroutput>:
784 Enables/disables (default) the Page Fusion feature. The Page
785 Fusion feature minimises memory duplication between VMs with
786 similar configurations running on the same host. See
787 <xref linkend="guestadd-pagefusion" />.
788 </para>
789 </listitem>
790
791 <listitem>
792 <para>
793 <computeroutput>--vram &lt;vramsize&gt;</computeroutput>:
794 This sets the amount of RAM that the virtual graphics card
795 should have. See <xref linkend="settings-display" />.
796 </para>
797 </listitem>
798
799 <listitem>
800 <para>
801 <computeroutput>--acpi on|off</computeroutput> and
802 <computeroutput>--ioapic on|off</computeroutput>: These
803 settings determine whether the VM should have ACPI and I/O
804 APIC support, respectively. See
805 <xref linkend="settings-motherboard" />.
806 </para>
807 </listitem>
808
809 <listitem>
810 <para>
811 <computeroutput>--pciattach &lt;host PCI address [@ guest
812 PCI bus address]&gt;</computeroutput>: Attaches a specified
813 PCI network controller on the host to a specified PCI bus on
814 the guest. See <xref linkend="pcipassthrough" />.
815 </para>
816 </listitem>
817
818 <listitem>
819 <para>
820 <computeroutput>--pcidetach &lt;host PCI
821 address&gt;</computeroutput>: Detaches a specified PCI
822 network controller on the host from the attached PCI bus on
823 the guest. See <xref linkend="pcipassthrough" />.
824 </para>
825 </listitem>
826
827 <listitem>
828 <para>
829 <computeroutput>--hardwareuuid
830 &lt;uuid&gt;</computeroutput>: The UUID presented to the
831 guest via memory tables (DMI/SMBIOS), hardware and guest
832 properties. By default this is the same as the VM uuid.
833 Useful when cloning a VM. Teleporting takes care of this
834 automatically.
835 </para>
836 </listitem>
837
838 <listitem>
839 <para>
840 <computeroutput>--cpus &lt;cpucount&gt;</computeroutput>:
841 This sets the number of virtual CPUs for the virtual
842 machine, see <xref linkend="settings-processor" />. If CPU
843 hot-plugging is enabled, this then sets the
844 <emphasis>maximum</emphasis> number of virtual CPUs that can
845 be plugged into the virtual machines.
846 </para>
847 </listitem>
848
849 <listitem>
850 <para>
851 <computeroutput>--cpuhotplug on|off</computeroutput>: This
852 enables CPU hot-plugging. When enabled, virtual CPUs can be
853 added to and removed from a virtual machine while it is
854 running. See <xref linkend="cpuhotplug" />.
855 </para>
856 </listitem>
857
858 <listitem>
859 <para>
860 <computeroutput>--plugcpu|unplugcpu
861 &lt;id&gt;</computeroutput>: If CPU hot-plugging is enabled,
862 this adds or removes a virtual CPU on the virtual machine.
863 <computeroutput>&lt;id&gt;</computeroutput> specifies the
864 index of the virtual CPU to be added or removed and must be
865 a number from 0 to the maximum no. of CPUs configured with
866 the <computeroutput>--cpus</computeroutput> option. CPU 0
867 can never be removed.
868 </para>
869 </listitem>
870
871 <listitem>
872 <para>
873 <computeroutput>--cpuexecutioncap
874 &lt;1-100&gt;</computeroutput>: This setting controls how
875 much CPUtime a virtual CPU can use. A value of 50 implies a
876 single virtual CPU can use up to 50% of a single host CPU.
877 </para>
878 </listitem>
879
880 <listitem>
881 <para>
882 <computeroutput>--pae on|off</computeroutput>: This
883 enables/disables PAE. See
884 <xref linkend="settings-processor" />.
885 </para>
886 </listitem>
887
888 <listitem>
889 <para>
890 <computeroutput>--longmode on|off</computeroutput>: This
891 enables/disables long mode. See
892 <xref linkend="settings-processor" />.
893 </para>
894 </listitem>
895
896 <listitem>
897 <para>
898 <computeroutput>--spec-ctrl on|off</computeroutput>: This
899 setting enables/disables exposing speculation control
900 interfaces to the guest, provided they are available on the
901 host. Depending on the host CPU and workload, enabling
902 speculation control may significantly reduce performance.
903 </para>
904 </listitem>
905
906 <listitem>
907 <para>
908 <computeroutput>--cpu-profile &lt;host|intel
909 80[86|286|386]&gt;</computeroutput>: This enables
910 specification of a profile for guest CPU emulation. Specify
911 either one based on the host system CPU (host), or one from
912 a number of older Intel Micro-architectures - 8086, 80286,
913 80386.
914 </para>
915 </listitem>
916
917 <listitem>
918 <para>
919 <computeroutput>--hpet on|off</computeroutput>: This
920 enables/disables a High Precision Event Timer (HPET) which
921 can replace the legacy system timers. This is turned off by
922 default. Note that Windows supports a HPET only from Vista
923 onwards.
924 </para>
925 </listitem>
926
927 <listitem>
928 <para>
929 <computeroutput>--hwvirtex on|off</computeroutput>: This
930 enables or disables the use of hardware virtualization
931 extensions (Intel VT-x or AMD-V) in the processor of your
932 host system. See <xref linkend="hwvirt" />.
933 </para>
934 </listitem>
935
936 <listitem>
937 <para>
938 <computeroutput>--triplefaultreset on|off</computeroutput>:
939 This setting enables resetting of the guest instead of
940 triggering a Guru Meditation. Some guests raise a triple
941 fault to reset the CPU so sometimes this is desired
942 behavior. Works only for non-SMP guests.
943 </para>
944 </listitem>
945
946 <listitem>
947 <para>
948 <computeroutput>--apic on|off</computeroutput>: This setting
949 enables(default)/disables IO APIC. With I/O APIC, operating
950 systems can use more than 16 interrupt requests (IRQs) thus
951 avoiding IRQ sharing for improved reliability. See
952 <xref linkend="settings-motherboard" />.
953 </para>
954 </listitem>
955
956 <listitem>
957 <para>
958 <computeroutput>--x2apic on|off</computeroutput>: This
959 setting enables(default)/disables CPU x2APIC support. CPU
960 x2APIC support helps operating systems run more efficiently
961 on high core count configurations, and optimizes interrupt
962 distribution in virtualized environments. Disable when using
963 host/guest operating systems incompatible with x2APIC
964 support.
965 </para>
966 </listitem>
967
968 <listitem>
969 <para>
970 <computeroutput>--paravirtprovider
971 none|default|legacy|minimal|hyperv|kvm</computeroutput>:
972 This setting specifies which paravirtualization interface to
973 provide to the guest operating system. Specifying
974 <computeroutput>none</computeroutput> explicitly turns off
975 exposing any paravirtualization interface. The option
976 <computeroutput>default</computeroutput>, will pick an
977 appropriate interface depending on the guest OS type while
978 starting the VM. This is the default option chosen while
979 creating new VMs. The
980 <computeroutput>legacy</computeroutput> option is chosen for
981 VMs which were created with older VirtualBox versions and
982 will pick a paravirtualization interface while starting the
983 VM with VirtualBox 5.0 and newer. The
984 <computeroutput>minimal</computeroutput> provider is
985 mandatory for Mac OS X guests, while
986 <computeroutput>kvm</computeroutput> and
987 <computeroutput>hyperv</computeroutput> are recommended for
988 Linux and Windows guests respectively. These options are
989 explained in <xref linkend="gimproviders" />.
990 </para>
991 </listitem>
992
993 <listitem>
994 <para>
995 <computeroutput>--paravirtdebug &lt;key=value&gt;
996 [,&lt;key=value&gt; ...]</computeroutput>: This setting
997 specifies debugging options specific to the
998 paravirtualization provider configured for this VM. See the
999 provider specific options in <xref linkend="gimdebug" /> for
1000 a list of supported key-value pairs for each provider.
1001 </para>
1002 </listitem>
1003
1004 <listitem>
1005 <para>
1006 <computeroutput>--nestedpaging on|off</computeroutput>: If
1007 hardware virtualization is enabled, this additional setting
1008 enables or disables the use of the nested paging feature in
1009 the processor of your host system. See
1010 <xref
1011 linkend="hwvirt" />.
1012 </para>
1013 </listitem>
1014
1015 <listitem>
1016 <para>
1017 <computeroutput>--largepages on|off</computeroutput>: If
1018 hardware virtualization <emphasis>and</emphasis> nested
1019 paging are enabled, for Intel VT-x only, an additional
1020 performance improvement of up to 5% can be obtained by
1021 enabling this setting. This causes the hypervisor to use
1022 large pages to reduce TLB use and overhead.
1023 </para>
1024 </listitem>
1025
1026 <listitem>
1027 <para>
1028 <computeroutput>--vtxvpid on|off</computeroutput>: If
1029 hardware virtualization is enabled, for Intel VT-x only,
1030 this additional setting enables or disables the use of the
1031 tagged TLB (VPID) feature in the processor of your host
1032 system. See <xref
1033 linkend="hwvirt" />.
1034 </para>
1035 </listitem>
1036
1037 <listitem>
1038 <para>
1039 <computeroutput>--vtxux on|off</computeroutput>: If hardware
1040 virtualization is enabled, for Intel VT-x only, this setting
1041 enables or disables the use of the unrestricted guest mode
1042 feature for executing your guest.
1043 </para>
1044 </listitem>
1045
1046 <listitem>
1047 <para>
1048 <computeroutput>--accelerate3d on|off</computeroutput>: If
1049 the Guest Additions are installed, this setting enables or
1050 disables hardware 3D acceleration. See
1051 <xref
1052 linkend="guestadd-3d" />.
1053 </para>
1054 </listitem>
1055
1056 <listitem>
1057 <para>
1058 <computeroutput>--accelerate2dvideo on|off</computeroutput>:
1059 If the Guest Additions are installed, this setting enables
1060 or disables 2D video acceleration. See
1061 <xref
1062 linkend="guestadd-2d" />.
1063 </para>
1064 </listitem>
1065
1066 <listitem>
1067 <para>
1068 <computeroutput>--chipset piix3|ich9</computeroutput>: By
1069 default VirtualBox emulates an Intel PIIX3 chipset. Usually
1070 there is no reason to change the default setting unless this
1071 is required to relax some of its constraints. See
1072 <xref
1073 linkend="settings-motherboard" />.
1074 </para>
1075 </listitem>
1076
1077 <listitem>
1078 <para>
1079 You can influence the BIOS logo that is displayed when a
1080 virtual machine starts up with a number of settings. By
1081 default, a VirtualBox logo is displayed.
1082 </para>
1083
1084 <para>
1085 With <computeroutput>--bioslogofadein
1086 on|off</computeroutput> and
1087 <computeroutput>--bioslogofadeout on|off</computeroutput>,
1088 you can determine whether the logo should fade in and out,
1089 respectively.
1090 </para>
1091
1092 <para>
1093 With <computeroutput>--bioslogodisplaytime
1094 &lt;msec&gt;</computeroutput> you can set how long the logo
1095 should be visible, in milliseconds.
1096 </para>
1097
1098 <para>
1099 With <computeroutput>--bioslogoimagepath
1100 &lt;imagepath&gt;</computeroutput> you can, if you are so
1101 inclined, replace the image that is shown, with your own
1102 logo. The image must be an uncompressed 256 color BMP file
1103 without color space information (Windows 3.0 format). The
1104 image must not be bigger than 640 x 480.
1105 </para>
1106 </listitem>
1107
1108 <listitem>
1109 <para>
1110 <computeroutput>--biosbootmenu
1111 disabled|menuonly|messageandmenu</computeroutput>: This
1112 specifies whether the BIOS allows the user to select a
1113 temporary boot device.
1114 <computeroutput>menuonly</computeroutput> suppresses the
1115 message, but the user can still press F12 to select a
1116 temporary boot device.
1117 </para>
1118 </listitem>
1119
1120 <listitem>
1121 <para>
1122 <computeroutput>--biosapic
1123 x2apic|apic|disabled</computeroutput>: This specifies the
1124 firmware APIC level to be used. Options are: x2apic, apic or
1125 disabled (no apic or x2apic) respectively.
1126 </para>
1127
1128 <para>
1129 Note that if x2apic is specified and x2apic is unsupported
1130 by the VCPU, biosapic downgrades to apic, if supported -
1131 otherwise down to 'disabled'. Similarly, if apic is
1132 specified, and apic is unsupported a downgrade to 'disabled'
1133 results.
1134 </para>
1135 </listitem>
1136
1137 <listitem>
1138 <para>
1139 <computeroutput>--biossystemtimeoffset
1140 &lt;ms&gt;</computeroutput>: This specifies a fixed time
1141 offset (milliseconds) of the guest relative to the host
1142 time. If the offset is positive, the guest time runs ahead
1143 of the host time.
1144 </para>
1145 </listitem>
1146
1147 <listitem>
1148 <para>
1149 <computeroutput>--biospxedebug on|off</computeroutput>: This
1150 option enables additional debugging output when using the
1151 Intel PXE boot ROM. The output will be written to the
1152 release log file (<xref linkend="collect-debug-info" />.
1153 </para>
1154 </listitem>
1155
1156 <listitem>
1157 <para>
1158 <computeroutput>--boot&lt;1-4&gt;
1159 none|floppy|dvd|disk|net</computeroutput>: This specifies
1160 the boot order for the virtual machine. There are four
1161 "slots", which the VM will try to access from 1 to 4, and
1162 for each of which you can set a device that the VM should
1163 attempt to boot from.
1164 </para>
1165 </listitem>
1166
1167 <listitem>
1168 <para>
1169 <computeroutput>--rtcuseutc on|off</computeroutput>: This
1170 option lets the real-time clock (RTC) operate in UTC time.
1171 See <xref linkend="settings-motherboard" />.
1172 </para>
1173 </listitem>
1174
1175 <listitem>
1176 <para>
1177 <computeroutput>--graphicscontroller
1178 none|vboxvga|vmsvga</computeroutput>: This option specifies
1179 use of a graphics controller, and type chosen from vboxvga
1180 or vmsvga. <xref linkend="settings-motherboard" />).
1181 </para>
1182 </listitem>
1183
1184 <listitem>
1185 <para>
1186 <computeroutput>--snapshotfolder
1187 default|&lt;path&gt;</computeroutput>: This option specifies
1188 the folder in which snapshots will be kept for a virtual
1189 machine.
1190 </para>
1191 </listitem>
1192
1193 <listitem>
1194 <para>
1195 <computeroutput>--firmware
1196 bios|efi|efi32|efi64</computeroutput>: This option specifies
1197 which firmware to be used to boot the VM: Available options
1198 are: BIOS, or one of the EFI options: efi, efi32 or efi64.
1199 Use EFI options with care.
1200 </para>
1201 </listitem>
1202
1203 <listitem>
1204 <para>
1205 <computeroutput>--guestmemoryballoon
1206 &lt;size&gt;</computeroutput> This option sets the default
1207 size of the guest memory balloon, that is, memory allocated
1208 by the VirtualBox Guest Additions from the guest operating
1209 system and returned to the hypervisor for re-use by other
1210 virtual machines.
1211 <computeroutput>&lt;size&gt;</computeroutput> must be
1212 specified in megabytes. The default size is 0 megabytes. See
1213 <xref linkend="guestadd-balloon" />.
1214 </para>
1215 </listitem>
1216
1217 <listitem>
1218 <para>
1219 <computeroutput>--defaultfrontend
1220 default|&lt;name&gt;</computeroutput>: This option specifies
1221 the default frontend to be used when starting this VM. See
1222 <xref linkend="vboxmanage-startvm" />.
1223 </para>
1224 </listitem>
1225
1226 </itemizedlist>
1227
1228 </sect2>
1229
1230 <sect2 id="vboxmanage-modifyvm-networking">
1231
1232 <title>Networking Settings</title>
1233
1234 <para>
1235 The following networking settings are available through
1236 <computeroutput>VBoxManage modifyvm</computeroutput>. With all
1237 these settings, the decimal number directly following the option
1238 name ("1-N" in the list below) specifies the virtual network
1239 adapter whose settings should be changed.
1240 </para>
1241
1242 <itemizedlist>
1243
1244 <listitem>
1245 <para>
1246 <computeroutput>--nic&lt;1-N&gt;
1247 none|null|nat|natnetwork|bridged|intnet|hostonly|generic</computeroutput>:
1248 You can configure for each of the VM's virtual network
1249 cards, what type of networking should be available. Options
1250 are: not present (<computeroutput>none</computeroutput>),
1251 not connected to the host
1252 (<computeroutput>null</computeroutput>), use network address
1253 translation (<computeroutput>nat</computeroutput>), use the
1254 new network address translation engine
1255 (<computeroutput>natnetwork</computeroutput>), bridged
1256 networking (<computeroutput>bridged</computeroutput>), or
1257 use internal networking
1258 (<computeroutput>intnet</computeroutput>), host-only
1259 networking (<computeroutput>hostonly</computeroutput>), or
1260 access rarely used sub-modes
1261 (<computeroutput>generic</computeroutput>). These options
1262 correspond to the modes described in
1263 <xref
1264 linkend="networkingmodes" />.
1265 </para>
1266 </listitem>
1267
1268 <listitem>
1269 <para>
1270 <computeroutput>--nictype&lt;1-N&gt;
1271 Am79C970A|Am79C973|82540EM|82543GC|82545EM|virtio</computeroutput>:
1272 This enables you to specify which networking hardware
1273 VirtualBox presents to the guest for a specified VM virtual
1274 network card. See <xref linkend="nichardware" />.
1275 </para>
1276 </listitem>
1277
1278 <listitem>
1279 <para>
1280 <computeroutput>--cableconnected&lt;1-N&gt;
1281 on|off</computeroutput>: This enables you to temporarily
1282 disconnect a virtual network interface, as if a network
1283 cable had been pulled from a real network card. This might
1284 be useful e.g. for resetting certain software components in
1285 the VM.
1286 </para>
1287 </listitem>
1288
1289 <listitem>
1290 <para>
1291 With the "nictrace" options, you can optionally trace
1292 network traffic by dumping it to a file, for debugging
1293 purposes.
1294 </para>
1295
1296 <para>
1297 With <computeroutput>--nictrace&lt;1-N&gt;
1298 on|off</computeroutput>, you can enable network tracing for
1299 a particular virtual network card.
1300 </para>
1301
1302 <para>
1303 If enabled, you must specify with
1304 <computeroutput>--nictracefile&lt;1-N&gt;
1305 &lt;filename&gt;</computeroutput> the absolute path of the
1306 file the trace should be logged to.
1307 </para>
1308 </listitem>
1309
1310 <listitem>
1311 <para>
1312 <computeroutput>--nicproperty&lt;1-N&gt;
1313 &lt;paramname&gt;="paramvalue"</computeroutput>: This
1314 option, in combination with "nicgenericdrv" allows you to
1315 pass parameters to rarely-used network backends.
1316 </para>
1317
1318 <para>
1319 These parameters are backend engine-specific, and are
1320 different between UDP Tunnel and the VDE backend drivers.
1321 For examples, please see
1322 <xref linkend="network_udp_tunnel" />.
1323 </para>
1324 </listitem>
1325
1326 <listitem>
1327 <para>
1328 <computeroutput>--nicspeed&lt;1-N&gt;
1329 &lt;kbps&gt;</computeroutput>: If generic networking has
1330 been enabled for a particular virtual network card (see the
1331 <computeroutput>--nic</computeroutput> option above -
1332 otherwise this setting has no effect), this mode enables
1333 access to rarely used networking sub-modes, such as VDE
1334 network or UDP Tunnel. This option specifies the throughput
1335 rate in KBytes/sec.
1336 </para>
1337 </listitem>
1338
1339 <listitem>
1340 <para>
1341 <computeroutput>--nicbootprio&lt;1-N&gt;
1342 &lt;priority&gt;</computeroutput>: This specifies the order
1343 in which NICs are tried for booting over the network (using
1344 PXE). The priority is an integer in the 0 to 4 range.
1345 Priority 1 is the highest, priority 4 is low. Priority 0,
1346 which is the default unless otherwise specified, is the
1347 lowest.
1348 </para>
1349
1350 <para>
1351 Note that this option only has effect when the Intel PXE
1352 boot ROM is used.
1353 </para>
1354 </listitem>
1355
1356 <listitem>
1357 <para>
1358 <computeroutput>--nicpromisc&lt;1-N&gt;
1359 deny|allow-vms|allow-all</computeroutput>: This ernables you
1360 to specify how the promiscuous mode is handled for the
1361 specified VM virtual network card. This setting is only
1362 relevant for bridged networking.
1363 <computeroutput>deny</computeroutput> (default setting)
1364 hides any traffic not intended for this VM.
1365 <computeroutput>allow-vms</computeroutput> hides all host
1366 traffic from this VM but allows the VM to see traffic
1367 from/to other VMs.
1368 <computeroutput>allow-all</computeroutput> removes this
1369 restriction completely.
1370 </para>
1371 </listitem>
1372
1373 <listitem>
1374 <para>
1375 <computeroutput>--nicbandwidthgroup&lt;1-N&gt;
1376 none|&lt;name&gt;</computeroutput>: This removes/adds an
1377 assignment of a bandwidth group from/to the specified
1378 virtual network interface. Specifying
1379 <computeroutput>none</computeroutput> removes any current
1380 bandwidth group assignment from the specified virtual
1381 network interface. Specifying
1382 <computeroutput>&lt;name&gt;</computeroutput> adds an
1383 assignment of a bandwidth group to the specified virtual
1384 network interface.
1385 </para>
1386
1387 <para>
1388 For details, please see
1389 <xref linkend="network_bandwidth_limit" />.
1390 </para>
1391 </listitem>
1392
1393 <listitem>
1394 <para>
1395 <computeroutput>--bridgeadapter&lt;1-N&gt;
1396 none|&lt;devicename&gt;</computeroutput>: If bridged
1397 networking has been enabled for a virtual network card (see
1398 the <computeroutput>--nic</computeroutput> option above),
1399 otherwise this setting has no effect. Use this option to
1400 specify which host interface the given virtual network
1401 interface will use. For details, please see
1402 <xref linkend="network_bridged" />.
1403 </para>
1404 </listitem>
1405
1406 <listitem>
1407 <para>
1408 <computeroutput>--hostonlyadapter&lt;1-N&gt;
1409 none|&lt;devicename&gt;</computeroutput>: If host-only
1410 networking has been enabled for a virtual network card (see
1411 the <computeroutput>--nic</computeroutput> option above),
1412 otherwise this setting has no effect. Use this option to
1413 specify which host-only networking interface the given
1414 virtual network interface will use. For details, please see
1415 <xref
1416 linkend="network_hostonly" />.
1417 </para>
1418 </listitem>
1419
1420 <listitem>
1421 <para>
1422 <computeroutput>--intnet&lt;1-N&gt;
1423 network</computeroutput>: If internal networking has been
1424 enabled for a virtual network card (see the
1425 <computeroutput>--nic</computeroutput> option above),
1426 otherwise this setting has no effect. Ue this option to
1427 specify the name of the internal network (see
1428 <xref
1429 linkend="network_internal" />).
1430 </para>
1431 </listitem>
1432
1433 <listitem>
1434 <para>
1435 <computeroutput>--nat-network&lt;1-N&gt; &lt;network
1436 name&gt;</computeroutput>: If the networking type is set to
1437 <computeroutput>natnetwork</computeroutput> (not
1438 <computeroutput>nat</computeroutput>) then this setting
1439 specifies the name of the NAT network this adapter is
1440 connected to. Optional.
1441 </para>
1442 </listitem>
1443
1444 <listitem>
1445 <para>
1446 <computeroutput>--nicgenericdrv&lt;1-N&gt; &lt;backend
1447 driver&gt;</computeroutput>: If generic networking has been
1448 enabled for a virtual network card (see the
1449 <computeroutput>--nic</computeroutput> option above),
1450 otherwise this setting has no effect. This mode allows you
1451 to access rarely used networking sub-modes, such as VDE
1452 network or UDP Tunnel.
1453 </para>
1454 </listitem>
1455
1456 <listitem>
1457 <para>
1458 <computeroutput>--macaddress&lt;1-N&gt;
1459 auto|&lt;mac&gt;</computeroutput>: With this option you can
1460 set the MAC address of a particular network adapter on the
1461 VM. Normally, each network adapter is assigned a random
1462 address by VirtualBox at VM creation.
1463 </para>
1464 </listitem>
1465
1466 </itemizedlist>
1467
1468 <sect3 id="vboxmanage-modifyvm-networking-nat">
1469
1470 <title>NAT Networking Settings</title>
1471
1472 <para>
1473 The following NAT networking settings are available through
1474 <computeroutput>VBoxManage modifyvm</computeroutput>. With all
1475 these settings, the decimal number directly following the
1476 option name ("1-N" in the list below) specifies the virtual
1477 network adapter whose settings should be changed.
1478 </para>
1479
1480 <itemizedlist>
1481
1482 <listitem>
1483 <para>
1484 <computeroutput>--natnet&lt;1-N&gt;
1485 &lt;network&gt;|default</computeroutput>: If the
1486 networking type is set to
1487 <computeroutput>nat</computeroutput> (not
1488 <computeroutput>natnetwork</computeroutput>) then this
1489 setting specifies the IP address range to be used for this
1490 network. See <xref linkend="changenat" /> for an example.
1491 </para>
1492 </listitem>
1493
1494 <listitem>
1495 <para>
1496 <computeroutput>--natpf&lt;1-N&gt;
1497 [&lt;name&gt;],tcp|udp,[&lt;hostip&gt;],&lt;hostport&gt;,[&lt;guestip&gt;],
1498 &lt;guestport&gt;</computeroutput>: This setting defines a
1499 NAT port-forwarding rule. See
1500 <xref linkend="natforward" />.
1501 </para>
1502 </listitem>
1503
1504 <listitem>
1505 <para>
1506 <computeroutput>--natpf&lt;1-N&gt; delete
1507 &lt;name&gt;</computeroutput>: This setting deletes a NAT
1508 port-forwarding rule. See <xref linkend="natforward" />.
1509 </para>
1510 </listitem>
1511
1512 <listitem>
1513 <para>
1514 <computeroutput>--nattftpprefix&lt;1-N&gt;
1515 &lt;prefix&gt;</computeroutput>: This setting defines a
1516 prefix for the built-in TFTP server, i.e. where the boot
1517 file is located. See <xref linkend="nat-tftp" /> and
1518 <xref
1519 linkend="nat-adv-tftp" />.
1520 </para>
1521 </listitem>
1522
1523 <listitem>
1524 <para>
1525 <computeroutput>--nattftpfile&lt;1-N&gt;
1526 &lt;bootfile&gt;</computeroutput>: This setting defines
1527 the TFT boot file. See <xref linkend="nat-adv-tftp" />.
1528 </para>
1529 </listitem>
1530
1531 <listitem>
1532 <para>
1533 <computeroutput>--nattftpserver&lt;1-N&gt;
1534 &lt;tftpserver&gt;</computeroutput>: This setting defines
1535 the TFTP server address to boot from. See
1536 <xref
1537 linkend="nat-adv-tftp" />.
1538 </para>
1539 </listitem>
1540
1541 <listitem>
1542 <para>
1543 <computeroutput>--nattbindip&lt;1-N&gt;
1544 &lt;ip;&gt;</computeroutput>: VirtualBox's NAT engine
1545 normally routes TCP/IP packets through the default
1546 interface assigned by the host's TCP/IP stack. Use this
1547 setting to instruct the NAT engine to bind to a specified
1548 IP address instead. See
1549 <xref
1550 linkend="nat-adv-settings" />.
1551 </para>
1552 </listitem>
1553
1554 <listitem>
1555 <para>
1556 <computeroutput>--natdnspassdomain&lt;1-N&gt;
1557 on|off</computeroutput>: This setting specifies whether
1558 the built-in DHCP server passes the domain name for
1559 network name resolution.
1560 </para>
1561 </listitem>
1562
1563 <listitem>
1564 <para>
1565 <computeroutput>--natdnsproxy&lt;1-N&gt;
1566 on|off</computeroutput>: This setting makes the NAT engine
1567 proxy all guest DNS requests to the host's DNS servers.
1568 See <xref linkend="nat-adv-dns" />.
1569 </para>
1570 </listitem>
1571
1572 <listitem>
1573 <para>
1574 <computeroutput>--natdnshostresolver&lt;1-N&gt;
1575 on|off</computeroutput>: This setting makes the NAT engine
1576 use the host's resolver mechanisms to handle DNS requests.
1577 See <xref linkend="nat-adv-dns" />.
1578 </para>
1579 </listitem>
1580
1581 <listitem>
1582 <para>
1583 <computeroutput>--natsettings&lt;1-N&gt;
1584 [&lt;mtu&gt;],[&lt;socksnd&gt;],[&lt;sockrcv&gt;],[&lt;tcpsnd&gt;],
1585 [&lt;tcprcv&gt;]</computeroutput>: This setting controls
1586 several NAT settings. See
1587 <xref linkend="nat-adv-settings" />.
1588 </para>
1589 </listitem>
1590
1591 <listitem>
1592 <para>
1593 <computeroutput>--nataliasmode&lt;1-N&gt;
1594 default|[log],[proxyonly],[sameports]</computeroutput>:
1595 This setting defines behaviour of NAT engine core: log -
1596 enables logging, proxyonly - switches of aliasing mode
1597 makes NAT transparent, sameports enforces NAT engine to
1598 send packets via the same port as they originated on,
1599 default - disable all mentioned modes above. See
1600 <xref
1601 linkend="nat-adv-alias" />.
1602 </para>
1603 </listitem>
1604
1605 </itemizedlist>
1606
1607 </sect3>
1608
1609 </sect2>
1610
1611 <sect2 id="vboxmanage-modifyvm-other">
1612
1613 <title>Miscellaneous Settings</title>
1614
1615 <para>
1616 The following hardware settings, such as serial port, audio,
1617 clipboard, drag and drop, monitor and USB settings are available
1618 through <computeroutput>VBoxManage modifyvm</computeroutput>:
1619 </para>
1620
1621 <itemizedlist>
1622
1623 <listitem>
1624 <para>
1625 <computeroutput>--mouse
1626 &lt;ps2|usb|usbtablet|usbmultitouch&gt;</computeroutput>:
1627 Specifies the mode of the mouse to be used in the VM.
1628 Available options are: ps2, usb, usbtablet, usbmultitouch.
1629 </para>
1630 </listitem>
1631
1632 <listitem>
1633 <para>
1634 <computeroutput>--keyboard &lt;ps2|usb&gt;</computeroutput>:
1635 Specifies the mode of the keyboard to be used in the VM.
1636 Available options are: ps2, usb.
1637 </para>
1638 </listitem>
1639
1640 <listitem>
1641 <para>
1642 <computeroutput>--uart&lt;1-N&gt; off|&lt;I/O base&gt;
1643 &lt;IRQ&gt;</computeroutput>: With this setting you can
1644 configure virtual serial ports for the VM. See
1645 <xref
1646 linkend="serialports" />.
1647 </para>
1648 </listitem>
1649
1650 <listitem>
1651 <para>
1652 <computeroutput>--uartmode&lt;1-N&gt;
1653 &lt;arg&gt;</computeroutput>: This setting controls how
1654 VirtualBox connects a given virtual serial port (previously
1655 configured with the <computeroutput>--uartX</computeroutput>
1656 setting, see above) to the host on which the virtual machine
1657 is running. As described in <xref linkend="serialports" />,
1658 for each such port, you can specify
1659 <computeroutput>&lt;arg&gt;</computeroutput> as one of the
1660 following options:
1661 </para>
1662
1663 <itemizedlist>
1664
1665 <listitem>
1666 <para>
1667 <computeroutput>disconnected</computeroutput>: Even
1668 though the serial port is shown to the guest, it has no
1669 "other end". This is like a real COM port without a
1670 cable.
1671 </para>
1672 </listitem>
1673
1674 <listitem>
1675 <para>
1676 <computeroutput>server
1677 &lt;pipename&gt;</computeroutput>: On a Windows host,
1678 this tells VirtualBox to create a named pipe on the host
1679 named <computeroutput>&lt;pipename&gt;</computeroutput>
1680 and connect the virtual serial device to it. Note that
1681 Windows requires that the name of a named pipe begin
1682 with <computeroutput>\\.\pipe\</computeroutput>.
1683 </para>
1684
1685 <para>
1686 On a Linux host, instead of a named pipe, a local domain
1687 socket is used.
1688 </para>
1689 </listitem>
1690
1691 <listitem>
1692 <para>
1693 <computeroutput>client
1694 &lt;pipename&gt;</computeroutput>: This operates just
1695 like <computeroutput>server ...</computeroutput>, except
1696 that the pipe, or local domain socket, is not created by
1697 VirtualBox, but assumed to exist already.
1698 </para>
1699 </listitem>
1700
1701 <listitem>
1702 <para>
1703 <computeroutput>tcpserver &lt;port&gt;</computeroutput>:
1704 This tells VirtualBox to create a TCP socket on the host
1705 with TCP <computeroutput>&lt;port&gt;</computeroutput>
1706 and connect the virtual serial device to it. Note that
1707 UNIX-like systems require ports over 1024 for normal
1708 users.
1709 </para>
1710 </listitem>
1711
1712 <listitem>
1713 <para>
1714 <computeroutput>tcpclient
1715 &lt;hostname:port&gt;</computeroutput>: This operates
1716 just like <computeroutput>tcpserver
1717 ...</computeroutput>, except that the TCP socket is not
1718 created by VirtualBox, but assumed to exist already.
1719 </para>
1720 </listitem>
1721
1722 <listitem>
1723 <para>
1724 <computeroutput>file &lt;file&gt;</computeroutput>: This
1725 redirects the serial port output to a raw file
1726 &lt;file&gt; specified by its absolute path on the host
1727 file system.
1728 </para>
1729 </listitem>
1730
1731 <listitem>
1732 <para>
1733 <computeroutput>&lt;devicename&gt;</computeroutput>: If,
1734 instead of the above, the device name of a physical
1735 hardware serial port of the host is specified, the
1736 virtual serial port is connected to that hardware port.
1737 On a Windows host, the device name will be a COM port
1738 such as <computeroutput>COM1</computeroutput>; on a
1739 Linux host, the device name will look like
1740 <computeroutput>/dev/ttyS0</computeroutput>. This allows
1741 you to "wire" a real serial port to a virtual machine.
1742 </para>
1743 </listitem>
1744
1745 </itemizedlist>
1746 </listitem>
1747
1748 <listitem>
1749 <para>
1750 <computeroutput>--lptmode&lt;1-N&gt;
1751 &lt;Device&gt;</computeroutput>: Specifies the Device Name
1752 of the parallel port that the Parallel Port feature will be
1753 using. Use this <emphasis>before</emphasis>
1754 <computeroutput>--lpt</computeroutput>. This feature is host
1755 operating system specific. For Windows hosts, use a device
1756 name like <emphasis>lpt1</emphasis> while on Linux hosts you
1757 have to use a device name like <emphasis>/dev/lp0</emphasis>
1758 </para>
1759 </listitem>
1760
1761 <listitem>
1762 <para>
1763 <computeroutput>--lpt&lt;1-N&gt; &lt;I/O base&gt;
1764 &lt;IRQ&gt;</computeroutput>: Specifies the I/O address of
1765 the parallel port and the IRQ number that the Parallel Port
1766 feature will be using. Optional. Use this
1767 <emphasis>after</emphasis>
1768 <computeroutput>--lptmod</computeroutput>. I/O base address
1769 and IRQ are the values that guest sees. For example, the
1770 values avalable under guest Device Manager.
1771 </para>
1772 </listitem>
1773
1774 <listitem>
1775 <para>
1776 <computeroutput>--audio
1777 none|null|dsound|oss|alsa|pulse|coreaudio</computeroutput>:
1778 With this setting, you can specify whether the VM should
1779 have audio support, and &ndash; if so &ndash; which type.
1780 The list of supported audio types depends on the host and
1781 can be determined with <computeroutput>VBoxManage
1782 modifyvm</computeroutput>.
1783 </para>
1784 </listitem>
1785
1786 <listitem>
1787 <para>
1788 <computeroutput>--audiocontroller
1789 ac97|hda|sb16</computeroutput>: With this setting, you can
1790 specify the audio controller to be used with this VM.
1791 </para>
1792 </listitem>
1793
1794 <listitem>
1795 <para>
1796 <computeroutput>--audiocodec
1797 stac9700|ad1980|stac9221|sb16</computeroutput>: With this
1798 setting, you can specify the audio codec to be used with
1799 this VM.
1800 </para>
1801 </listitem>
1802
1803 <listitem>
1804 <para>
1805 <computeroutput>--audioin on</computeroutput>: With this
1806 setting, you can specify whether capturing audio from the
1807 host is enabled or disabled.
1808 </para>
1809 </listitem>
1810
1811 <listitem>
1812 <para>
1813 <computeroutput>--audioout on</computeroutput>: With this
1814 setting, you can specify whether audio playback from the
1815 guest is enabled or disabled.
1816 </para>
1817 </listitem>
1818
1819 <listitem>
1820 <para>
1821 <computeroutput>--clipboard
1822 disabled|hosttoguest|guesttohost|bidirectional</computeroutput>:
1823 With this setting, you can select if and how the guest or
1824 host operating system's clipboard should be shared with the
1825 host or guest. See <xref linkend="generalsettings" />. This
1826 requires that the Guest Additions be installed in the
1827 virtual machine.
1828 </para>
1829 </listitem>
1830
1831 <listitem>
1832 <para>
1833 <computeroutput>--draganddrop
1834 disabled|hosttoguest|guesttohost|bidirectional</computeroutput>:
1835 With this setting, you can specify the current drag and drop
1836 mode being used between the host and the virtual machine.
1837 See <xref linkend="guestadd-dnd" />. This requires that the
1838 Guest Additions be installed in the virtual machine.
1839 </para>
1840 </listitem>
1841
1842 <listitem>
1843 <para>
1844 <computeroutput>--monitorcount
1845 &lt;count&gt;</computeroutput>: This enables multi-monitor
1846 support. See <xref linkend="settings-display" />.
1847 </para>
1848 </listitem>
1849
1850 <listitem>
1851 <para>
1852 <computeroutput>--usb on|off</computeroutput>: This setting
1853 enables or disables the VM's virtual USB controller. See
1854 <xref
1855 linkend="settings-usb" />.
1856 </para>
1857 </listitem>
1858
1859 <listitem>
1860 <para>
1861 <computeroutput>--usbehci on|off</computeroutput>: This
1862 setting enables or disables the VM's virtual USB 2.0
1863 controller. See <xref linkend="settings-usb" />.
1864 </para>
1865 </listitem>
1866
1867 <listitem>
1868 <para>
1869 <computeroutput>--usbxhci on|off</computeroutput>: This
1870 setting enables or disables the VM's virtual USB 3.0
1871 controller. See <xref linkend="settings-usb" />.
1872 </para>
1873 </listitem>
1874
1875 <listitem>
1876 <para>
1877 <computeroutput>--usbrename &lt;oldname&gt;
1878 &lt;newname&gt;</computeroutput>: This setting enables
1879 renaming of the VM's virtual USB controller from
1880 &lt;oldname&gt; to &lt;newname&gt;.
1881 </para>
1882 </listitem>
1883
1884 </itemizedlist>
1885
1886 </sect2>
1887
1888 <sect2 id="vboxmanage-modifyvm-videocap">
1889
1890 <title>Video Capture Settings</title>
1891
1892 <para>
1893 The following settings for changing video recording parameters
1894 are available through <computeroutput>VBoxManage
1895 modifyvm</computeroutput>.
1896 </para>
1897
1898 <itemizedlist>
1899
1900 <listitem>
1901 <para>
1902 <computeroutput>--videocap on|off</computeroutput>: This
1903 option enables or disables recording a VM session into a
1904 WebM/VP8 file. If this option is enabled, recording will
1905 start when the VM session is started.
1906 </para>
1907 </listitem>
1908
1909 <listitem>
1910 <para>
1911 <computeroutput>--videocapscreens all|&lt;screen ID&gt;
1912 [&lt;screen ID&gt; ...]</computeroutput>: This option allows
1913 to specify which screens of the VM are being recorded. Each
1914 screen is recorded into a separate file.
1915 </para>
1916 </listitem>
1917
1918 <listitem>
1919 <para>
1920 <computeroutput>--videocapfile
1921 &lt;filename&gt;</computeroutput>: This option sets the
1922 filename VirtualBox uses to save the recorded content.
1923 </para>
1924 </listitem>
1925
1926 <listitem>
1927 <para>
1928 <computeroutput>--videocapres
1929 &lt;width&gt;x&lt;height&gt;</computeroutput>: This option
1930 sets the resolution (in pixels) of the recorded video.
1931 </para>
1932 </listitem>
1933
1934 <listitem>
1935 <para>
1936 <computeroutput>--videocaprate
1937 &lt;rate&gt;</computeroutput>: This option sets the bitrate
1938 in kilobits (kb) per second. Increasing this value makes the
1939 video look better for the cost of an increased file size.
1940 </para>
1941 </listitem>
1942
1943 <listitem>
1944 <para>
1945 <computeroutput>--videocapfps &lt;fps&gt;</computeroutput>:
1946 This option sets the maximum number of frames per second
1947 (FPS) to be recorded. Frames with a higher frequency will be
1948 skipped. Reducing this value increases the number of skipped
1949 frames and reduces the file size.
1950 </para>
1951 </listitem>
1952
1953 <listitem>
1954 <para>
1955 <computeroutput>--videocapmaxtime
1956 &lt;ms&gt;</computeroutput>: This option sets the maximum
1957 time in milliseconds the video capturing will be enabled
1958 since activation. The capturing stops when the defined time
1959 interval has elapsed. If this value is zero the capturing is
1960 not limited by time.
1961 </para>
1962 </listitem>
1963
1964 <listitem>
1965 <para>
1966 <computeroutput>--videocapmaxsize
1967 &lt;MB&gt;</computeroutput>: This option limits the maximum
1968 size of the captured video file (in MB). The capturing stops
1969 when the file size has reached the specified size. If this
1970 value is zero the capturing will not be limited by file
1971 size.
1972 </para>
1973 </listitem>
1974
1975 <listitem>
1976 <para>
1977 <computeroutput>--videocapopts &lt;key=value&gt;
1978 [,&lt;key=value&gt; ...]</computeroutput>: This format can
1979 be used to specify additional video capturing options. These
1980 options only are for advanced users and must be specified in
1981 a comma-separated key=value format. For example:
1982 <computeroutput>foo=bar,a=b</computeroutput>.
1983 </para>
1984
1985 <para>
1986 The following keys and their corresponding values are
1987 available:
1988 </para>
1989
1990 <itemizedlist>
1991
1992 <listitem>
1993 <para>
1994 <computeroutput>ac_enabled</computeroutput>: Enables
1995 audio recording when set to
1996 <computeroutput>true</computeroutput>, otherwise set to
1997 <computeroutput>false</computeroutput> to disable. This
1998 feature is considered being experimental.
1999 </para>
2000 </listitem>
2001
2002 </itemizedlist>
2003 </listitem>
2004
2005 </itemizedlist>
2006
2007 </sect2>
2008
2009 <sect2 id="vboxmanage-modifyvm-vrde">
2010
2011 <title>Remote Machine Settings</title>
2012
2013 <para>
2014 The following settings that affect remote machine behavior are
2015 available through <computeroutput>VBoxManage
2016 modifyvm</computeroutput>:
2017 </para>
2018
2019 <itemizedlist>
2020
2021 <listitem>
2022 <para>
2023 <computeroutput>--vrde on|off</computeroutput>: This enables
2024 or disables the VirtualBox remote desktop extension (VRDE)
2025 server.
2026 </para>
2027 </listitem>
2028
2029 <listitem>
2030 <para>
2031 <computeroutput>--vrdeproperty
2032 "TCP/Ports|Address=&lt;value&gt;"</computeroutput> sets the
2033 port number(s) and IP address on the VM that the VRDE server
2034 can bind to.
2035 </para>
2036
2037 <itemizedlist>
2038
2039 <listitem>
2040 <para>
2041 For TCP/Ports, &lt;value&gt; should be a port or a range
2042 of ports that the VRDE server can bind to; "default" or
2043 "0" means port 3389, the standard port for RDP. See the
2044 description for the
2045 <computeroutput>--vrdeport</computeroutput> option in
2046 <xref
2047 linkend="vboxmanage-modifyvm-vrde" />.
2048 </para>
2049 </listitem>
2050
2051 <listitem>
2052 <para>
2053 For TCP/Address, &lt;value&gt; should be the IP address
2054 of the host network interface that the VRDE server will
2055 bind to. If specified, the server will accept
2056 connections only on the specified host network
2057 interface. See the description for the
2058 <computeroutput>--vrdeaddress</computeroutput> option in
2059 <xref
2060 linkend="vboxmanage-modifyvm-vrde" />.
2061 </para>
2062 </listitem>
2063
2064 </itemizedlist>
2065 </listitem>
2066
2067 <listitem>
2068 <para>
2069 <computeroutput>--vrdeproperty
2070 "VideoChannel/Enabled|Quality|DownscaleProtection=&lt;value&gt;"</computeroutput>
2071 sets the VRDP video redirection properties.
2072 </para>
2073
2074 <itemizedlist>
2075
2076 <listitem>
2077 <para>
2078 For VideoChannel/Enabled, &lt;value&gt; can be set to
2079 "1" switching the VRDP video channel on. For details,
2080 see <xref linkend="vrde-videochannel" />.
2081 </para>
2082 </listitem>
2083
2084 <listitem>
2085 <para>
2086 For VideoChannel/Quality, &lt;value&gt; should be set
2087 between 10 and 100% inclusive, representing a JPEG
2088 compression level on the VRDE server video channel.
2089 Lower values mean lower quality but higher compression.
2090 See <xref linkend="vrde-videochannel" />.
2091 </para>
2092 </listitem>
2093
2094 <listitem>
2095 <para>
2096 For VideoChannel/DownscaleProtection, &lt;value&gt; can
2097 be set to "1" to enable the videochannel downscale
2098 protection feature. When enabled, if a video's size
2099 equals the shadow buffer size, then it is regarded as a
2100 full screen video, and is displayed. But if its size is
2101 between fullscreen and the downscale threshold then it
2102 is <emphasis>not</emphasis> displayed, as it could be an
2103 application window, which would be unreadable when
2104 downscaled. When the downscale protection feature is
2105 disabled, an attempt is always made to display videos.
2106 </para>
2107 </listitem>
2108
2109 </itemizedlist>
2110 </listitem>
2111
2112 <listitem>
2113 <para>
2114 <computeroutput>--vrdeproperty
2115 "Client/DisableDisplay|DisableInput|DisableAudio|DisableUSB=1"</computeroutput>
2116 </para>
2117
2118 <para>
2119 Disables one of the VRDE server features: Display, Input,
2120 Audio or USB respectively. To reenable a feature, use
2121 "Client/DisableDisplay=" for example. See
2122 <xref linkend="vrde-customization" />.
2123 </para>
2124 </listitem>
2125
2126 <listitem>
2127 <para>
2128 <computeroutput>--vrdeproperty
2129 "Client/DisableClipboard|DisableUpstreamAudio=1"</computeroutput>
2130 </para>
2131
2132 <para>
2133 Disables one of the VRDE server features: Clipboard or
2134 UpstreamAudio respectively. To reenable a feature, use
2135 "Client/DisableClipboard=" for example. See
2136 <xref linkend="vrde-customization" />.
2137 </para>
2138 </listitem>
2139
2140 <listitem>
2141 <para>
2142 <computeroutput>--vrdeproperty
2143 "Client/DisableRDPDR=1"</computeroutput>
2144 </para>
2145
2146 <para>
2147 Disables the VRDE server feature: RDP device redirection for
2148 smart cards. To reenable this feature, use
2149 "Client/DisableRDPR=".
2150 </para>
2151 </listitem>
2152
2153 <listitem>
2154 <para>
2155 <computeroutput>--vrdeproperty
2156 "H3DRedirect/Enabled=1"</computeroutput>
2157 </para>
2158
2159 <para>
2160 Enables the VRDE server feature: 3D redirection. To disable
2161 this feature, use "H3DRedirect/Enabled=".
2162 </para>
2163 </listitem>
2164
2165 <listitem>
2166 <para>
2167 <computeroutput>--vrdeproperty
2168 "Security/Method|ServerCertificate|ServerPrivateKey|CACertificate=&lt;value&gt;"</computeroutput>
2169 sets the desired security method/Path of server certificate,
2170 path of server private key, path of CA certificate, used for
2171 a connection.
2172 </para>
2173
2174 <itemizedlist>
2175
2176 <listitem>
2177 <para>
2178 <computeroutput>--vrdeproperty
2179 "Security/Method=&lt;value&gt;"</computeroutput> sets
2180 the desired security method, which is used for a
2181 connection. Valid values are:
2182 </para>
2183
2184 <itemizedlist>
2185
2186 <listitem>
2187 <para>
2188 <computeroutput>Negotiate</computeroutput> - both
2189 Enhanced (TLS) and Standard RDP Security connections
2190 are allowed. The security method is negotiated with
2191 the client. This is the default setting.
2192 </para>
2193 </listitem>
2194
2195 <listitem>
2196 <para>
2197 <computeroutput>RDP</computeroutput> - only Standard
2198 RDP Security is accepted.
2199 </para>
2200 </listitem>
2201
2202 <listitem>
2203 <para>
2204 <computeroutput>TLS</computeroutput> - only Enhanced
2205 RDP Security is accepted. The client must support
2206 TLS.
2207 </para>
2208 </listitem>
2209
2210 </itemizedlist>
2211
2212 <para>
2213 See <xref linkend="vrde-crypt" />.
2214 </para>
2215 </listitem>
2216
2217 <listitem>
2218 <para>
2219 <computeroutput>--vrdeproperty
2220 "Security/ServerCertificate=&lt;value&gt;"</computeroutput>
2221 where &lt;value&gt; is the absolute path of the server
2222 certificate. Ssee <xref linkend="vrde-crypt" />.
2223 </para>
2224 </listitem>
2225
2226 <listitem>
2227 <para>
2228 <computeroutput>--vrdeproperty
2229 "Security/ServerPrivateKey=&lt;value&gt;"</computeroutput>
2230 where &lt;value&gt; is the absolute path of the server
2231 private key. See <xref linkend="vrde-crypt" />.
2232 </para>
2233 </listitem>
2234
2235 <listitem>
2236 <para>
2237 <computeroutput>--vrdeproperty
2238 "Security/CACertificate=&lt;value&gt;"</computeroutput>
2239 where &lt;value&gt; is the absolute path of the CA self
2240 signed certificate. See <xref linkend="vrde-crypt" />.
2241 </para>
2242 </listitem>
2243
2244 </itemizedlist>
2245 </listitem>
2246
2247 <listitem>
2248 <para>
2249 <computeroutput>--vrdeproperty
2250 "Audio/RateCorrectionMode|LogPath=&lt;value&gt;"</computeroutput>
2251 sets the Audio connection mode, or Path of the audio
2252 logfile.
2253 </para>
2254
2255 <itemizedlist>
2256
2257 <listitem>
2258 <para>
2259 <computeroutput>--vrdeproperty
2260 "Audio/RateCorrectionMode=&lt;value&gt;"</computeroutput>
2261 where &lt;value&gt; is the desired rate correction mode,
2262 allowed values are:
2263 </para>
2264
2265 <itemizedlist>
2266
2267 <listitem>
2268 <para>
2269 <computeroutput>VRDP_AUDIO_MODE_VOID</computeroutput>
2270 - no mode specified, use to unset any Audio mode
2271 already set.
2272 </para>
2273 </listitem>
2274
2275 <listitem>
2276 <para>
2277 <computeroutput>VRDP_AUDIO_MODE_RC</computeroutput>
2278 - rate correction mode.
2279 </para>
2280 </listitem>
2281
2282 <listitem>
2283 <para>
2284 <computeroutput>VRDP_AUDIO_MODE_LPF</computeroutput>
2285 - low pass filter mode.
2286 </para>
2287 </listitem>
2288
2289 <listitem>
2290 <para>
2291 <computeroutput>VRDP_AUDIO_MODE_CS</computeroutput>
2292 - client sync mode to prevent under/overflow of the
2293 client queue.
2294 </para>
2295 </listitem>
2296
2297 </itemizedlist>
2298 </listitem>
2299
2300 <listitem>
2301 <para>
2302 <computeroutput>--vrdeproperty
2303 "Audio/LogPath=&lt;value&gt;"</computeroutput> where
2304 &lt;value&gt; is the absolute path of the Audio log
2305 file.
2306 </para>
2307 </listitem>
2308
2309 </itemizedlist>
2310 </listitem>
2311
2312 <listitem>
2313 <para>
2314 <computeroutput>--vrdeextpack
2315 default|&lt;name&gt;</computeroutput>: Enables specification
2316 of the library for accessing the VM remotely. The default is
2317 to use the RDP code which is part of the Oracle VM
2318 VirtualBox Extension Pack.
2319 </para>
2320 </listitem>
2321
2322 <listitem>
2323 <para>
2324 <computeroutput>--vrdeport
2325 default|&lt;ports&gt;</computeroutput>: A port or a range of
2326 ports the VRDE server can bind to; "default" or "0" means
2327 port 3389, the standard port for RDP. You can specify a
2328 comma-separated list of ports or ranges of ports. Use a dash
2329 between two port numbers to specify a range. The VRDE server
2330 will bind to
2331 <emphasis
2332 role="bold">one</emphasis> of the
2333 available ports from the specified list. Only one machine
2334 can use a given port at a time. For example, the option
2335 <computeroutput> --vrdeport 5000,5010-5012</computeroutput>
2336 will tell the server to bind to one of following ports:
2337 5000, 5010, 5011 or 5012.
2338 </para>
2339 </listitem>
2340
2341 <listitem>
2342 <para>
2343 <computeroutput>--vrdeaddress &lt;IP
2344 address&gt;</computeroutput>: The IP address of the host
2345 network interface the VRDE server will bind to. If
2346 specified, the server will accept connections only on the
2347 specified host network interface.
2348 </para>
2349
2350 <para>
2351 The setting can be used to specify whether the VRDP server
2352 should accept either IPv4, IPv6 or both connections:
2353 </para>
2354
2355 <itemizedlist>
2356
2357 <listitem>
2358 <para>
2359 Only IPv4: <computeroutput>--vrdeaddress "0.0.0.0"
2360 </computeroutput>
2361 </para>
2362 </listitem>
2363
2364 <listitem>
2365 <para>
2366 Only IPv6: <computeroutput>--vrdeaddress "::"
2367 </computeroutput>
2368 </para>
2369 </listitem>
2370
2371 <listitem>
2372 <para>
2373 Both IPv6 and IPv4 (default):
2374 <computeroutput>--vrdeaddress "" </computeroutput>
2375 </para>
2376 </listitem>
2377
2378 </itemizedlist>
2379 </listitem>
2380
2381 <listitem>
2382 <para>
2383 <computeroutput>--vrdeauthtype
2384 null|external|guest</computeroutput>: This enables you to
2385 indicate use of authorization, and specify how authorization
2386 will be performed. See <xref linkend="vbox-auth" />.
2387 </para>
2388 </listitem>
2389
2390 <listitem>
2391 <para>
2392 <computeroutput>--vrdeauthlibrary
2393 default|&lt;name&gt;</computeroutput>: This specifies the
2394 library used for RDP authentication. See
2395 <xref
2396 linkend="vbox-auth" />.
2397 </para>
2398 </listitem>
2399
2400 <listitem>
2401 <para>
2402 <computeroutput>--vrdemulticon on|off</computeroutput>: This
2403 enables multiple connections to be made to the same VRDE
2404 server, if the server supports this feature. See
2405 <xref
2406 linkend="vrde-multiconnection" />.
2407 </para>
2408 </listitem>
2409
2410 <listitem>
2411 <para>
2412 <computeroutput>--vrdereusecon on|off</computeroutput>: This
2413 specifies the VRDE server behavior when multiple connections
2414 are disabled. When this option is enabled, the server will
2415 allow a new client to connect and will drop the existing
2416 connection. When this option is disabled, the default
2417 setting, a new connection will not be accepted if there is
2418 already a client connected to the server.
2419 </para>
2420 </listitem>
2421
2422 <listitem>
2423 <para>
2424 <computeroutput>--vrdevideochannel on|off</computeroutput>:
2425 This enables video redirection, if it is supported by the
2426 VRDE server. See <xref linkend="vrde-videochannel" />.
2427 </para>
2428 </listitem>
2429
2430 <listitem>
2431 <para>
2432 <computeroutput>--vrdevideochannelquality
2433 &lt;percent&gt;</computeroutput>: Specifies the image
2434 quality for video redirection. See
2435 <xref
2436 linkend="vrde-videochannel" />.
2437 </para>
2438 </listitem>
2439
2440 </itemizedlist>
2441
2442 </sect2>
2443
2444 <sect2 id="vboxmanage-modifyvm-teleport">
2445
2446 <title>Teleporting Settings</title>
2447
2448 <para>
2449 With the following commands for <computeroutput>VBoxManage
2450 modifyvm</computeroutput> you can configure a machine to be a
2451 target for teleporting. See <xref linkend="teleporting" />.
2452 </para>
2453
2454 <itemizedlist>
2455
2456 <listitem>
2457 <para>
2458 <computeroutput>--teleporter on|off</computeroutput>: This
2459 setting enables/disables the teleporter feature whereby when
2460 the machine is started, it waits to receieve a teleporting
2461 request from the network instead of booting normally.
2462 Teleporting requests are received on the port and address
2463 specified using the following parameters.
2464 </para>
2465 </listitem>
2466
2467 <listitem>
2468 <para>
2469 <computeroutput>--teleporterport
2470 &lt;port&gt;</computeroutput>,
2471 <computeroutput>--teleporteraddress
2472 &lt;address&gt;</computeroutput>: These settings must be
2473 used with --teleporter and they specify the port and address
2474 the virtual machine should listen to to receive a
2475 teleporting request sent from another virtual machine.
2476 <computeroutput>&lt;port&gt;</computeroutput> can be any
2477 free TCP/IP port number, such as 6000.
2478 <computeroutput>&lt;address&gt;</computeroutput> can be any
2479 IP address or hostname and specifies the TCP/IP socket to
2480 bind to. The default is "0.0.0.0", which means any address.
2481 </para>
2482 </listitem>
2483
2484 <listitem>
2485 <para>
2486 <computeroutput>--teleporterpassword
2487 &lt;password&gt;</computeroutput>: If this optional setting
2488 is given, then the teleporting request will only succeed if
2489 the source machine specifies the same password as the one
2490 given with this command.
2491 </para>
2492 </listitem>
2493
2494 <listitem>
2495 <para>
2496 <computeroutput>--teleporterpasswordfile
2497 &lt;password&gt;</computeroutput>: If this optional setting
2498 is given, then the teleporting request will only succeed if
2499 the source machine specifies the same password as the one
2500 specified in the file give with this command. Use
2501 <computeroutput>stdin</computeroutput> to read the password
2502 from stdin.
2503 </para>
2504 </listitem>
2505
2506 <listitem>
2507 <para>
2508 <computeroutput>--cpuid &lt;leaf&gt; &lt;eax&gt; &lt;ebx&gt;
2509 &lt;ecx&gt; &lt;edx&gt;</computeroutput>: Advanced users can
2510 use this setting before a teleporting operation to restrict
2511 the virtual CPU capabilities that VirtualBox presents to the
2512 guest operating system. This must be run on both the source
2513 and the target machines involved in the teleporting and will
2514 then modify what the guest sees when it executes the
2515 <computeroutput>CPUID</computeroutput> machine instruction.
2516 This might help with misbehaving applications that wrongly
2517 assume that certain CPU capabilities are present. The
2518 meaning of the parameters is hardware dependent, refer to
2519 the AMD or Intel processor documentation.
2520 </para>
2521 </listitem>
2522
2523 </itemizedlist>
2524
2525 </sect2>
2526
2527 <sect2 id="vboxmanage-modifyvm-debugging">
2528
2529 <title>Debugging Settings</title>
2530
2531 <para>
2532 The following settings are only relevant for low-level VM
2533 debugging. Regular users will never need these settings.
2534 </para>
2535
2536 <itemizedlist>
2537
2538 <listitem>
2539 <para>
2540 <computeroutput>--tracing-enabled on|off</computeroutput>:
2541 Enable the tracebuffer. This consumes some memory for the
2542 tracebuffer and adds extra overhead.
2543 </para>
2544 </listitem>
2545
2546 <listitem>
2547 <para>
2548 <computeroutput>--tracing-config
2549 &lt;config-string&gt;</computeroutput>: Enables tracing
2550 configuration. In particular, this defines which group of
2551 tracepoints are enabled.
2552 </para>
2553 </listitem>
2554
2555 <listitem>
2556 <para>
2557 <computeroutput>--tracing-allow-vm-access
2558 on|off</computeroutput>: Enables/disables (default) VM
2559 access to the tracebuffer.
2560 </para>
2561 </listitem>
2562
2563 </itemizedlist>
2564
2565 </sect2>
2566
2567 <sect2 id="vboxmanage-usbcardreader">
2568
2569 <title>USB Card Reader Settings</title>
2570
2571 <para>
2572 The following setting defines access to a USB Card Reader by the
2573 guest environment. USB card readers are typically used for
2574 accessing data on memory cards such as CompactFlash (CF), Secure
2575 Digital (SD), or MultiMediaCard (MMC).
2576 </para>
2577
2578 <itemizedlist>
2579
2580 <listitem>
2581 <para>
2582 <computeroutput>--usbcardreader on|off</computeroutput>:
2583 Enables/disables the USB card reader interface.
2584 </para>
2585 </listitem>
2586
2587 </itemizedlist>
2588
2589 </sect2>
2590
2591 <sect2 id="vboxmanage-autostart">
2592
2593 <title>Autostarting VMs During Host System Boot</title>
2594
2595 <para>
2596 These settings configure the VM autostart feature, which
2597 automatically starts the VM at host system boot-up. Note that
2598 there are prerequisites that need to be addressed before using
2599 this feature. See <xref linkend="autostart" />.
2600 </para>
2601
2602 <itemizedlist>
2603
2604 <listitem>
2605 <para>
2606 <computeroutput>--autostart on|off</computeroutput>:
2607 Enables/disables VM autostart at host system boot-up, using
2608 specified user name.
2609 </para>
2610 </listitem>
2611
2612 <listitem>
2613 <para>
2614 <computeroutput>--autostart-delay
2615 &lt;seconds&gt;</computeroutput>: Specifies a delay
2616 (seconds) following host system boot-up, before VM
2617 autostarts.
2618 </para>
2619 </listitem>
2620
2621 </itemizedlist>
2622
2623 </sect2>
2624
2625 </sect1>
2626
2627 <sect1 id="vboxmanage-clonevm">
2628
2629 <title>VBoxManage clonevm</title>
2630
2631 <para>
2632 This command creates a full or linked copy of an existing virtual
2633 machine.
2634 </para>
2635
2636 <para>
2637 The <computeroutput>clonevm</computeroutput> subcommand takes at
2638 least the name of the virtual machine which should be cloned. The
2639 following additional settings can be used to further configure the
2640 clone VM operation:
2641 </para>
2642
2643 <itemizedlist>
2644
2645 <listitem>
2646 <para>
2647 <computeroutput>--snapshot
2648 &lt;uuid&gt;|&lt;name&gt;</computeroutput>: Select a specific
2649 snapshot where the clone operation should refer to. Default is
2650 referring to the current state.
2651 </para>
2652 </listitem>
2653
2654 <listitem>
2655 <para>
2656 <computeroutput>--mode
2657 machine|machineandchildren|all</computeroutput>: Selects the
2658 cloning mode of the operation. If
2659 <computeroutput>machine</computeroutput> is selected (the
2660 default), the current state of the VM without any snapshots is
2661 cloned. In the
2662 <computeroutput>machineandchildren</computeroutput> mode the
2663 snapshot provided by
2664 <computeroutput>--snapshot</computeroutput> and all child
2665 snapshots are cloned. If <computeroutput>all</computeroutput>
2666 is the selected mode all snapshots and the current state are
2667 cloned.
2668 </para>
2669 </listitem>
2670
2671 <listitem>
2672 <para>
2673 <computeroutput>--options
2674 link|keepallmacs|keepnatmacs|keepdisknames|keephwuuids</computeroutput>:
2675 Allows additional fine tuning of the clone operation. The
2676 first option defines that a linked clone should be created,
2677 which is only possible for a machine cloned from a snapshot.
2678 The next two options enable specification of the handling of
2679 MAC addresses of every virtual network card. They can either
2680 be reinitialized (the default), left unchanged
2681 (<computeroutput>keepallmacs</computeroutput>) or left
2682 unchanged when the network type is NAT
2683 (<computeroutput>keepnatmacs</computeroutput>). If you add
2684 <computeroutput>keepdisknames</computeroutput> all new disk
2685 images are called like the original ones, otherwise they are
2686 renamed. If you add <computeroutput>keephwuuids</computeroutput>
2687 source hardware IDs will be preserved.
2688 </para>
2689 </listitem>
2690
2691 <listitem>
2692 <para>
2693 <computeroutput>--name &lt;name&gt;</computeroutput>: Select a
2694 new name for the new virtual machine. Default is "Original
2695 Name Clone".
2696 </para>
2697 </listitem>
2698
2699 <listitem>
2700 <para>
2701 <computeroutput>--groups &lt;group&gt;, ...</computeroutput>
2702 Enables the clone to be assigned membership of the specified
2703 VM groups in the list. Note that group ids always start with a
2704 <computeroutput>/</computeroutput> and can be nested. By
2705 default, clones are always assigned membership of the group
2706 <computeroutput>/</computeroutput>.
2707 </para>
2708 </listitem>
2709
2710 <listitem>
2711 <para>
2712 <computeroutput>--basefolder
2713 &lt;basefolder&gt;</computeroutput>: Select the folder where
2714 the new virtual machine configuration should be saved in.
2715 </para>
2716 </listitem>
2717
2718 <listitem>
2719 <para>
2720 <computeroutput>--uuid &lt;uuid&gt;</computeroutput>: Select
2721 the UUID the new VM should have. This ID has to be unique in
2722 the VirtualBox instance this clone should be registered.
2723 Default is creating a new UUID.
2724 </para>
2725 </listitem>
2726
2727 <listitem>
2728 <para>
2729 <computeroutput>--register</computeroutput>: Automatically
2730 register the new clone in this VirtualBox installation. If you
2731 manually want to register the new VM later, see
2732 <xref linkend="vboxmanage-registervm" />.
2733 </para>
2734 </listitem>
2735
2736 </itemizedlist>
2737
2738 </sect1>
2739
2740 <sect1 id="vboxmanage-import">
2741
2742 <title>VBoxManage import</title>
2743
2744 <para>
2745 This command imports a virtual appliance in OVF format by copying
2746 the virtual disk images and creating virtual machines in
2747 VirtualBox. See <xref linkend="ovf" /> for an introduction to
2748 appliances.
2749 </para>
2750
2751 <para>
2752 The <computeroutput>import</computeroutput> subcommand takes at
2753 least the path name of an OVF file as input and expects the disk
2754 images, if needed, in the same directory as the OVF file. A lot of
2755 additional command-line options are supported to control in detail
2756 what is being imported and modify the import parameters, but the
2757 details depend on the content of the OVF file.
2758 </para>
2759
2760 <para>
2761 It is therefore recommended to first run the import subcommand
2762 with the <computeroutput>--dry-run</computeroutput> or
2763 <computeroutput>-n</computeroutput> option. This will then print a
2764 description of the appliance's contents to the screen how it would
2765 be imported into VirtualBox, together with the optional
2766 command-line options to influence the import behavior.
2767 </para>
2768
2769 <para>
2770 Use of the <computeroutput>--options
2771 keepallmacs|keepnatmacs|keepdisknames</computeroutput>:
2772 option enables additional fine tuning of the clone operation. The
2773 first two options enable specification of how the MAC addresses of
2774 every virtual network card should be handled. They can either be
2775 reinitialized (the default), left unchanged
2776 (<computeroutput>keepallmacs</computeroutput>) or left unchanged
2777 when the network type is NAT
2778 (<computeroutput>keepnatmacs</computeroutput>). If you add
2779 <computeroutput>keepdisknames</computeroutput> all new disk images
2780 are assigned the same names as the originals, otherwise they are
2781 renamed.
2782 </para>
2783
2784 <para>
2785 As an example, here is the screen output with a sample appliance
2786 containing a Windows XP guest:
2787 </para>
2788
2789<screen>VBoxManage import WindowsXp.ovf --dry-run
2790Interpreting WindowsXp.ovf...
2791OK.
2792Virtual system 0:
2793 0: Suggested OS type: "WindowsXP"
2794 (change with "--vsys 0 --ostype &lt;type&gt;"; use "list ostypes" to list all)
2795 1: Suggested VM name "Windows XP Professional_1"
2796 (change with "--vsys 0 --vmname &lt;name&gt;")
2797 2: Suggested VM group "/"
2798 (change with "--vsys 0 --group &lt;group&gt;")
2799 3: Suggested VM settings file name "/home/klaus/VirtualBox VMs/dummy2 2/dummy2 2.vbox"
2800 (change with "--vsys 0 --settingsfile &lt;filename&gt;")
2801 4: Suggested VM base folder "/home/klaus/VirtualBox VMs"
2802 (change with "--vsys 0 --basefolder &lt;path&gt;")
2803 5: End-user license agreement
2804 (display with "--vsys 0 --eula show";
2805 accept with "--vsys 0 --eula accept")
2806 6: Number of CPUs: 1
2807 (change with "--vsys 0 --cpus &lt;n&gt;")
2808 7: Guest memory: 956 MB (change with "--vsys 0 --memory &lt;MB&gt;")
2809 8: Sound card (appliance expects "ensoniq1371", can change on import)
2810 (disable with "--vsys 0 --unit 5 --ignore")
2811 9: USB controller
2812 (disable with "--vsys 0 --unit 6 --ignore")
281310: Network adapter: orig bridged, config 2, extra type=bridged
281411: Floppy
2815 (disable with "--vsys 0 --unit 8 --ignore")
281612: SCSI controller, type BusLogic
2817 (change with "--vsys 0 --unit 9 --scsitype {BusLogic|LsiLogic}";
2818 disable with "--vsys 0 --unit 9 --ignore")
281913: IDE controller, type PIIX4
2820 (disable with "--vsys 0 --unit 10 --ignore")
282114: Hard disk image: source image=WindowsXp.vmdk,
2822 target path=/home/user/disks/WindowsXp.vmdk, controller=9;channel=0
2823 (change controller with "--vsys 0 --unit 11 --controller &lt;id&gt;";
2824 disable with "--vsys 0 --unit 11 --ignore")</screen>
2825
2826 <para>
2827 The individual configuration items are numbered, and depending on
2828 their type support different command-line options. The import
2829 subcommand can be directed to ignore many such items with a
2830 <computeroutput>--vsys X --unit Y --ignore</computeroutput>
2831 option, where X is the number of the virtual system (zero unless
2832 there are several virtual system descriptions in the appliance)
2833 and Y the item number, as printed on the screen.
2834 </para>
2835
2836 <para>
2837 In the above example, Item #1 specifies the name of the target
2838 machine in VirtualBox. Items #9 and #10 specify hard disk
2839 controllers, respectively. Item #11 describes a hard disk image;
2840 in this case, the additional
2841 <computeroutput>--controller</computeroutput> option indicates
2842 which item the disk image should be connected to, with the default
2843 coming from the OVF file.
2844 </para>
2845
2846 <para>
2847 You can combine several items for the same virtual system behind
2848 the same <computeroutput>--vsys</computeroutput> option. For
2849 example, to import a machine as described in the OVF, but without
2850 the sound card and without the USB controller, and with the disk
2851 image connected to the IDE controller instead of the SCSI
2852 controller, use this command:
2853 </para>
2854
2855<screen>VBoxManage import WindowsXp.ovf
2856 --vsys 0 --unit 5 --ignore --unit 6 --ignore --unit 11 --controller 10</screen>
2857
2858 </sect1>
2859
2860 <sect1 id="vboxmanage-export">
2861
2862 <title>VBoxManage export</title>
2863
2864 <para>
2865 This command exports one or more virtual machines from VirtualBox
2866 into a virtual appliance in OVF format, including copying their
2867 virtual disk images to compressed VMDK. See <xref linkend="ovf" />
2868 for an introduction to appliances.
2869 </para>
2870
2871 <para>
2872 The <computeroutput>export</computeroutput> command is simple to
2873 use: list the machine (or the machines) that you would like to
2874 export to the same OVF file and specify the target OVF file after
2875 an additional <computeroutput>--output</computeroutput> or
2876 <computeroutput>-o</computeroutput> option. Note that the
2877 directory of the target OVF file will also receive the exported
2878 disk images in the compressed VMDK format (regardless of the
2879 original format) and should have enough disk space left for them.
2880 </para>
2881
2882 <para>
2883 Beside a simple export of a given virtual machine, you can append
2884 several product information to the appliance file. Use
2885 <computeroutput>--product</computeroutput>,
2886 <computeroutput>--producturl</computeroutput>,
2887 <computeroutput>--vendor</computeroutput>,
2888 <computeroutput>--vendorurl</computeroutput>,
2889 <computeroutput>--version</computeroutput> and
2890 <computeroutput>--description</computeroutput> to specify this
2891 additional information. For legal reasons you may add a license
2892 text or the content of a license file by using the
2893 <computeroutput>--eula</computeroutput> and
2894 <computeroutput>--eulafile</computeroutput> option respectively.
2895 As with OVF import, you must use the <computeroutput>--vsys
2896 X</computeroutput> option to direct the previously mentioned
2897 options to the correct virtual machine.
2898 </para>
2899
2900 <para>
2901 For virtualization products which are not fully compatible with
2902 the OVF standard 1.0 you can enable an OVF 0.9 legacy mode with
2903 the <computeroutput>--legacy09</computeroutput> option. Other
2904 options are <computeroutput>--ovf09</computeroutput>,
2905 <computeroutput>--ovf10</computeroutput>,
2906 <computeroutput>--ovf20</computeroutput>.
2907 </para>
2908
2909 <para>
2910 To specify options controlling the exact content of the appliance
2911 file, you can use <computeroutput>--options</computeroutput> to
2912 request the creation of a manifest file, which allows detection of
2913 corrupted appliances on import, the additional export of DVD
2914 images, and the exclusion of MAC addresses. You can specify a list
2915 of options, such as <computeroutput>--options
2916 manifest,nomacs</computeroutput>. For details, check the help
2917 output of <computeroutput>VBoxManage export</computeroutput>.
2918 </para>
2919
2920 </sect1>
2921
2922 <sect1 id="vboxmanage-startvm">
2923
2924 <title>VBoxManage startvm</title>
2925
2926 <para>
2927 This command starts a virtual machine that is currently in the
2928 "Powered off" or "Saved" states.
2929 </para>
2930
2931 <para>
2932 The optional <computeroutput>--type</computeroutput> specifier
2933 determines whether the machine will be started in a window or
2934 whether the output should go through
2935 <computeroutput>VBoxHeadless</computeroutput>, with VRDE enabled
2936 or not. See <xref linkend="vboxheadless" />. The list of types is
2937 subject to change, and it is not guaranteed that all types are
2938 accepted by any product variant.
2939 </para>
2940
2941 <para>
2942 The global or per-VM default value for the VM frontend type will
2943 be taken if the type is not explicitly specified. If none of these
2944 are set, the GUI variant will be started.
2945 </para>
2946
2947 <para>
2948 The following values are allowed:
2949 </para>
2950
2951 <variablelist>
2952
2953 <varlistentry>
2954 <term>
2955 <computeroutput>gui</computeroutput>
2956 </term>
2957
2958 <listitem>
2959 <para>
2960 Starts a VM showing a GUI window. This is the default.
2961 </para>
2962 </listitem>
2963 </varlistentry>
2964
2965 <varlistentry>
2966 <term>
2967 <computeroutput>headless</computeroutput>
2968 </term>
2969
2970 <listitem>
2971 <para>
2972 Starts a VM without a window for remote display only.
2973 </para>
2974 </listitem>
2975 </varlistentry>
2976
2977 <varlistentry>
2978 <term>
2979 <computeroutput>sdl</computeroutput>
2980 </term>
2981
2982 <listitem>
2983 <para>
2984 Starts a VM with a minimal GUI and limited features.
2985 </para>
2986 </listitem>
2987 </varlistentry>
2988
2989 <varlistentry>
2990 <term>
2991 <computeroutput>separate</computeroutput>
2992 </term>
2993
2994 <listitem>
2995 <para>
2996 Starts a VM with detachable UI. Technically, it is a
2997 headless VM with user interface in a separate process. This
2998 is an experimental feature as it lacks certain
2999 functionality, such as 3D acceleration, at the moment.
3000 </para>
3001 </listitem>
3002 </varlistentry>
3003
3004 </variablelist>
3005
3006 <note>
3007 <para>
3008 If you experience problems with starting virtual machines with
3009 particular frontends and there is no conclusive error
3010 information, consider starting virtual machines directly by
3011 running the respective front-end, as this can give additional
3012 error information.
3013 </para>
3014 </note>
3015
3016 </sect1>
3017
3018 <sect1 id="vboxmanage-controlvm">
3019
3020 <title>VBoxManage controlvm</title>
3021
3022 <para>
3023 The <computeroutput>controlvm</computeroutput> subcommand allows
3024 you to change the state of a virtual machine that is currently
3025 running. The following can be specified:
3026 </para>
3027
3028 <itemizedlist>
3029
3030 <listitem>
3031 <para>
3032 <computeroutput>VBoxManage controlvm &lt;vm&gt;
3033 pause</computeroutput> temporarily puts a virtual machine on
3034 hold, without changing its state for good. The VM window will
3035 be painted in gray to indicate that the VM is currently
3036 paused. This is equivalent to selecting the "Pause" item in
3037 the "Machine" menu of the GUI.
3038 </para>
3039 </listitem>
3040
3041 <listitem>
3042 <para>
3043 Use <computeroutput>VBoxManage controlvm &lt;vm&gt;
3044 resume</computeroutput> to undo a previous
3045 <computeroutput>pause</computeroutput> command. This is
3046 equivalent to selecting the "Resume" item in the "Machine"
3047 menu of the GUI.
3048 </para>
3049 </listitem>
3050
3051 <listitem>
3052 <para>
3053 <computeroutput>VBoxManage controlvm &lt;vm&gt;
3054 reset</computeroutput> has the same effect on a virtual
3055 machine as pressing the "Reset" button on a real computer: a
3056 cold reboot of the virtual machine, which will restart and
3057 boot the guest operating system again immediately. The state
3058 of the VM is not saved beforehand, and data may be lost. This
3059 is equivalent to selecting the "Reset" item in the "Machine"
3060 menu of the GUI.
3061 </para>
3062 </listitem>
3063
3064 <listitem>
3065 <para>
3066 <computeroutput>VBoxManage controlvm &lt;vm&gt;
3067 poweroff</computeroutput> has the same effect on a virtual
3068 machine as pulling the power cable on a real computer. Again,
3069 the state of the VM is not saved beforehand, and data may be
3070 lost. This is equivalent to selecting the "Close" item in the
3071 "Machine" menu of the GUI or pressing the window's close
3072 button, and then selecting "Power off the machine" in the
3073 dialog.
3074 </para>
3075
3076 <para>
3077 After this, the VM's state will be "Powered off". From there,
3078 it can be started again. See
3079 <xref
3080 linkend="vboxmanage-startvm" />.
3081 </para>
3082 </listitem>
3083
3084 <listitem>
3085 <para>
3086 <computeroutput>VBoxManage controlvm &lt;vm&gt;
3087 savestate</computeroutput> will save the current state of the
3088 VM to disk and then stop the VM. This is equivalent to
3089 selecting the "Close" item in the "Machine" menu of the GUI or
3090 pressing the window's close button, and then selecting "Save
3091 the machine state" in the dialog.
3092 </para>
3093
3094 <para>
3095 After this, the VM's state will be "Saved". From there, it can
3096 be started again. See <xref linkend="vboxmanage-startvm" />.
3097 </para>
3098 </listitem>
3099
3100 <listitem>
3101 <para>
3102 <computeroutput>VBoxManage controlvm &lt;vm&gt;
3103 acpipowerbutton</computeroutput> will send an ACPI shutdown
3104 signal to the VM, as if the power button on a real computer
3105 had been pressed. So long as the VM is running a fairly modern
3106 guest operating system providing ACPI support, this should
3107 trigger a proper shutdown mechanism from within the VM.
3108 </para>
3109 </listitem>
3110
3111 <listitem>
3112 <para>
3113 <computeroutput>VBoxManage controlvm &lt;vm&gt;
3114 keyboardputscancode &lt;hex&gt;
3115 [&lt;hex&gt;...]</computeroutput> Sends commands using
3116 keycodes to the VM. Keycodes are documented in the public
3117 domain, e.g.
3118 http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html.
3119 </para>
3120 </listitem>
3121
3122 <listitem>
3123 <para>
3124 <computeroutput>VBoxManage controlvm "VM name" teleport
3125 --hostname &lt;name&gt; --port &lt;port&gt; [--passwordfile
3126 &lt;file&gt; | --password &lt;password&gt;]</computeroutput>
3127 makes the machine the source of a teleporting operation and
3128 initiates a teleport to the given target. See
3129 <xref linkend="teleporting" /> for an introduction. If the
3130 optional password is specified, it must match the password
3131 that was given to the
3132 <computeroutput>modifyvm</computeroutput> command for the
3133 target machine. See
3134 <xref linkend="vboxmanage-modifyvm-teleport" />.
3135 </para>
3136 </listitem>
3137
3138 </itemizedlist>
3139
3140 <para>
3141 A few extra options are available with
3142 <computeroutput>controlvm</computeroutput> that do not directly
3143 affect the VM's running state:
3144 </para>
3145
3146 <itemizedlist>
3147
3148 <listitem>
3149 <para>
3150 The <computeroutput>setlinkstate&lt;1-N&gt;</computeroutput>
3151 operation connects or disconnects virtual network cables from
3152 their network interfaces.
3153 </para>
3154 </listitem>
3155
3156 <listitem>
3157 <para>
3158 <computeroutput>nic&lt;1-N&gt;
3159 null|nat|bridged|intnet|hostonly|generic|natnetwork[&lt;devicename&gt;]</computeroutput>:
3160 specifies the type of networking that should be made available
3161 on the specified VM virtual network card. They can be: not
3162 connected to the host (<computeroutput>null</computeroutput>),
3163 use network address translation
3164 (<computeroutput>nat</computeroutput>), bridged networking
3165 (<computeroutput>bridged</computeroutput>) or communicate with
3166 other virtual machines using internal networking
3167 (<computeroutput>intnet</computeroutput>) or host-only
3168 networking (<computeroutput>hostonly</computeroutput>) or
3169 natnetwork networking
3170 (<computeroutput>natnetwork</computeroutput>) or access to
3171 rarely used sub-modes
3172 (<computeroutput>generic</computeroutput>). These options
3173 correspond to the modes which are described in detail in
3174 <xref
3175 linkend="networkingmodes" />.
3176 </para>
3177 </listitem>
3178
3179 <listitem>
3180 <para>
3181 With the "nictrace" options, you can optionally trace network
3182 traffic by dumping it to a file, for debugging purposes.
3183 </para>
3184
3185 <para>
3186 With <computeroutput>nictrace&lt;1-N&gt;
3187 on|off</computeroutput>, you can enable network tracing for a
3188 particular virtual network card.
3189 </para>
3190
3191 <para>
3192 If enabled, you must specify with
3193 <computeroutput>--nictracefile&lt;1-N&gt;
3194 &lt;filename&gt;</computeroutput> the pathname of the file to
3195 which the trace should be logged.
3196 </para>
3197 </listitem>
3198
3199 <listitem>
3200 <para>
3201 <computeroutput>nicpromisc&lt;1-N&gt;
3202 deny|allow-vms|allow-all</computeroutput>: This specifies how
3203 the promiscious mode is handled for the specified VM virtual
3204 network card. This setting is only relevant for bridged
3205 networking. <computeroutput>deny</computeroutput> (default
3206 setting) hides any traffic not intended for this VM.
3207 <computeroutput>allow-vms</computeroutput> hides all host
3208 traffic from this VM but allows the VM to see traffic from/to
3209 other VMs. <computeroutput>allow-all</computeroutput> removes
3210 this restriction completely.
3211 </para>
3212 </listitem>
3213
3214 <listitem>
3215 <para>
3216 <computeroutput>nicproperty&lt;1-N&gt;
3217 &lt;paramname&gt;="paramvalue"</computeroutput>: This option,
3218 in combination with "nicgenericdrv" enables you to pass
3219 parameters to rarely-used network backends.
3220 </para>
3221
3222 <para>
3223 Those parameters are backend engine-specific, and are
3224 different between UDP Tunnel and the VDE backend drivers. For
3225 example, please see <xref linkend="network_udp_tunnel" />.
3226 </para>
3227 </listitem>
3228
3229 <listitem>
3230 <para>
3231 <computeroutput>natpf&lt;1-N&gt;
3232 [&lt;name&gt;],tcp|udp,[&lt;hostip&gt;],&lt;hostport&gt;,[&lt;guestip&gt;],
3233 &lt;guestport&gt;</computeroutput>: This option specifies a
3234 NAT port-forwarding rule. See <xref linkend="natforward"/>.
3235 </para>
3236 </listitem>
3237
3238 <listitem>
3239 <para>
3240 <computeroutput>natpf&lt;1-N&gt; delete
3241 &lt;name&gt;</computeroutput>: This option deletes a NAT
3242 port-forwarding rule. See <xref linkend="natforward"/>.
3243 </para>
3244 </listitem>
3245
3246 <listitem>
3247 <para>
3248 The <computeroutput>guestmemoryballoon&lt;balloon size in
3249 MB&gt;</computeroutput> operation changes the size of the
3250 guest memory balloon, that is, memory allocated by the
3251 VirtualBox Guest Additions from the guest operating system and
3252 returned to the hypervisor for re-use by other virtual
3253 machines. This must be specified in megabytes. See
3254 <xref linkend="guestadd-balloon" />.
3255 </para>
3256 </listitem>
3257
3258 <listitem>
3259 <para>
3260 <computeroutput>usbattach&lt;uuid|address&gt; [--capturefile
3261 &lt;filename&gt;]</computeroutput>
3262 </para>
3263
3264 <para>
3265 and <computeroutput>usbdetach &lt;uuid|address&gt;
3266 [--capturefile &lt;filename&gt;]</computeroutput> make host
3267 USB devices visible/invisible to the virtual machine on the
3268 fly, without the need for creating filters first. The USB
3269 devices can be specified by UUID (unique identifier) or by
3270 address on the host system. Use the --capturefile option to
3271 specify the absolute path of a file for writing activity
3272 logging data.
3273 </para>
3274
3275 <para>
3276 You can use <computeroutput>VBoxManage list
3277 usbhost</computeroutput> to locate this information.
3278 </para>
3279 </listitem>
3280
3281 <listitem>
3282 <para>
3283 <computeroutput>audioin on</computeroutput>: With this
3284 setting, you can select whether capturing audio from the host
3285 is enabled or disabled.
3286 </para>
3287 </listitem>
3288
3289 <listitem>
3290 <para>
3291 <computeroutput>audioout on</computeroutput>: With this
3292 setting, you can select whether audio playback from the guest
3293 is enabled or disabled.
3294 </para>
3295 </listitem>
3296
3297 <listitem>
3298 <para>
3299 <computeroutput>clipboard
3300 disabled|hosttoguest|guesttohost|bidirectional</computeroutput>:
3301 With this setting, you can select if and how the guest or host
3302 operating system's clipboard should be shared with the host or
3303 guest. See <xref linkend="generalsettings" />. This requires
3304 that the Guest Additions be installed in the virtual machine.
3305 </para>
3306 </listitem>
3307
3308 <listitem>
3309 <para>
3310 <computeroutput>draganddrop
3311 disabled|hosttoguest|guesttohost|bidirectional</computeroutput>:
3312 With this setting, you can select the current drag and drop
3313 mode being used between the host and the virtual machine. See
3314 <xref linkend="guestadd-dnd" />. This requires that the Guest
3315 Additions be installed in the virtual machine.
3316 </para>
3317 </listitem>
3318
3319 <listitem>
3320 <para>
3321 <computeroutput>vrde on|off</computeroutput> lets you enable
3322 or disable the VRDE server, if it is installed.
3323 </para>
3324 </listitem>
3325
3326 <listitem>
3327 <para>
3328 <computeroutput>vrdeport
3329 default|&lt;ports&gt;</computeroutput> changes the port or a
3330 range of ports that the VRDE server can bind to; "default" or
3331 "0" means port 3389, the standard port for RDP. See the
3332 description for the
3333 <computeroutput>--vrdeport</computeroutput> option in
3334 <xref
3335 linkend="vboxmanage-modifyvm-vrde" />.
3336 </para>
3337 </listitem>
3338
3339 <listitem>
3340 <para>
3341 <computeroutput>vrdeproperty
3342 "TCP/Ports|Address=&lt;value&gt;"</computeroutput> sets the
3343 port number(s) and IP address on the VM to which the VRDE
3344 server can bind.
3345 </para>
3346
3347 <itemizedlist>
3348
3349 <listitem>
3350 <para>
3351 For TCP/Ports, &lt;value&gt; should be a port or a range
3352 of ports to which the VRDE server can bind; "default" or
3353 "0" means port 3389, the standard port for RDP. See the
3354 description for the
3355 <computeroutput>--vrdeport</computeroutput> option in
3356 <xref
3357 linkend="vboxmanage-modifyvm-vrde" />.
3358 </para>
3359 </listitem>
3360
3361 <listitem>
3362 <para>
3363 For TCP/Address, &lt;value&gt; should be the IP address of
3364 the host network interface that the VRDE server will bind
3365 to. If specified, the server will accept connections only
3366 on the specified host network interface. See the
3367 description for the
3368 <computeroutput>--vrdeaddress</computeroutput> option in
3369 <xref
3370 linkend="vboxmanage-modifyvm-vrde" />.
3371 </para>
3372 </listitem>
3373
3374 </itemizedlist>
3375 </listitem>
3376
3377 <listitem>
3378 <para>
3379 <computeroutput>vrdeproperty
3380 "VideoChannel/Enabled|Quality|DownscaleProtection=&lt;value&gt;"</computeroutput>
3381 sets the VRDP video redirection properties.
3382 </para>
3383
3384 <itemizedlist>
3385
3386 <listitem>
3387 <para>
3388 For VideoChannel/Enabled, &lt;value&gt; can be set to "1"
3389 switching the VRDP video channel on. See
3390 <xref linkend="vrde-videochannel" />.
3391 </para>
3392 </listitem>
3393
3394 <listitem>
3395 <para>
3396 For VideoChannel/Quality, &lt;value&gt; should be set
3397 between 10 and 100% inclusive, representing a JPEG
3398 compression level on the VRDE server video channel. Lower
3399 values mean lower quality but higher compression. For
3400 details, see <xref linkend="vrde-videochannel" />.
3401 </para>
3402 </listitem>
3403
3404 <listitem>
3405 <para>
3406 For VideoChannel/DownscaleProtection, &lt;value&gt; can be
3407 set to "1" to enable the videochannel downscale protection
3408 feature. When enabled, if a video's size equals the shadow
3409 buffer size, then it is regarded as a full screen video,
3410 and is displayed; but if its size is between fullscreen
3411 and the downscale threshold - it is NOT displayed, as it
3412 could be an application window, which would be unreadable
3413 when downscaled. When the downscale protection feature is
3414 disabled, an attempt is always made to display videos.
3415 </para>
3416 </listitem>
3417
3418 </itemizedlist>
3419 </listitem>
3420
3421 <listitem>
3422 <para>
3423 <computeroutput>vrdeproperty
3424 "Client/DisableDisplay|DisableInput|DisableAudio|DisableUSB=1"</computeroutput>
3425 </para>
3426
3427 <para>
3428 disables one of the VRDE server features: Display, Input,
3429 Audio or USB respectively. To reenable a feature, use
3430 "Client/DisableDisplay=" for example. See
3431 <xref linkend="vrde-customization" />.
3432 </para>
3433 </listitem>
3434
3435 <listitem>
3436 <para>
3437 <computeroutput>vrdeproperty
3438 "Client/DisableClipboard|DisableUpstreamAudio=1"</computeroutput>
3439 </para>
3440
3441 <para>
3442 disables one of the VRDE server features: Clipboard or
3443 UpstreamAudio respectively. To reenable a feature, use
3444 "Client/DisableClipboard=" for example. See
3445 <xref linkend="vrde-customization" />.
3446 </para>
3447 </listitem>
3448
3449 <listitem>
3450 <para>
3451 <computeroutput>vrdeproperty
3452 "Client/DisableRDPDR=1"</computeroutput>
3453 </para>
3454
3455 <para>
3456 disables the VRDE server feature: RDP device redirection for
3457 smart cards. To reenable this feature, use
3458 "Client/DisableRDPR=".
3459 </para>
3460 </listitem>
3461
3462 <listitem>
3463 <para>
3464 <computeroutput>vrdeproperty
3465 "H3DRedirect/Enabled=1"</computeroutput>
3466 </para>
3467
3468 <para>
3469 enables the VRDE server feature: 3D redirection. To disable
3470 this feature, use "H3DRedirect/Enabled=".
3471 </para>
3472 </listitem>
3473
3474 <listitem>
3475 <para>
3476 <computeroutput>vrdeproperty
3477 "Security/Method|ServerCertificate|ServerPrivateKey|CACertificate=&lt;value&gt;"</computeroutput>
3478 sets the desired security method/Path of server certificate,
3479 path of server private key, path of CA certificate, used for a
3480 connection.
3481 </para>
3482
3483 <itemizedlist>
3484
3485 <listitem>
3486 <para>
3487 <computeroutput>vrdeproperty
3488 "Security/Method=&lt;value&gt;"</computeroutput> sets the
3489 desired security method, which is used for a connection.
3490 Valid values are:
3491 </para>
3492
3493 <itemizedlist>
3494
3495 <listitem>
3496 <para>
3497 <computeroutput>Negotiate</computeroutput> - both
3498 Enhanced (TLS) and Standard RDP Security connections
3499 are allowed. The security method is negotiated with
3500 the client. This is the default setting.
3501 </para>
3502 </listitem>
3503
3504 <listitem>
3505 <para>
3506 <computeroutput>RDP</computeroutput> - only Standard
3507 RDP Security is accepted.
3508 </para>
3509 </listitem>
3510
3511 <listitem>
3512 <para>
3513 <computeroutput>TLS</computeroutput> - only Enhanced
3514 RDP Security is accepted. The client must support TLS.
3515 </para>
3516 </listitem>
3517
3518 </itemizedlist>
3519
3520 <para>
3521 See <xref linkend="vrde-crypt" />.
3522 </para>
3523 </listitem>
3524
3525 <listitem>
3526 <para>
3527 <computeroutput>vrdeproperty
3528 "Security/ServerCertificate=&lt;value&gt;"</computeroutput>
3529 where &lt;value&gt; is the absolute path of the server
3530 certificate. See <xref linkend="vrde-crypt" />.
3531 </para>
3532 </listitem>
3533
3534 <listitem>
3535 <para>
3536 <computeroutput>vrdeproperty
3537 "Security/ServerPrivateKey=&lt;value&gt;"</computeroutput>
3538 where &lt;value&gt; is the absolute path of the server
3539 private key. See <xref linkend="vrde-crypt" />.
3540 </para>
3541 </listitem>
3542
3543 <listitem>
3544 <para>
3545 <computeroutput>vrdeproperty
3546 "Security/CACertificate=&lt;value&gt;"</computeroutput>
3547 where &lt;value&gt; is the absolute path of the CA self
3548 signed certificate. See <xref linkend="vrde-crypt" />.
3549 </para>
3550 </listitem>
3551
3552 </itemizedlist>
3553 </listitem>
3554
3555 <listitem>
3556 <para>
3557 <computeroutput>vrdeproperty
3558 "Audio/RateCorrectionMode|LogPath=&lt;value&gt;"</computeroutput>
3559 sets the Audio connection mode, or Path of the audio logfile.
3560 </para>
3561
3562 <itemizedlist>
3563
3564 <listitem>
3565 <para>
3566 <computeroutput>vrdeproperty
3567 "Audio/RateCorrectionMode=&lt;value&gt;"</computeroutput>
3568 where &lt;value&gt; is the desired rate correction mode,
3569 allowed values are:
3570 </para>
3571
3572 <itemizedlist>
3573
3574 <listitem>
3575 <para>
3576 <computeroutput>VRDP_AUDIO_MODE_VOID</computeroutput>
3577 - no mode specified, use to unset any Audio mode
3578 already set.
3579 </para>
3580 </listitem>
3581
3582 <listitem>
3583 <para>
3584 <computeroutput>VRDP_AUDIO_MODE_RC</computeroutput> -
3585 rate correction mode.
3586 </para>
3587 </listitem>
3588
3589 <listitem>
3590 <para>
3591 <computeroutput>VRDP_AUDIO_MODE_LPF</computeroutput> -
3592 low pass filter mode.
3593 </para>
3594 </listitem>
3595
3596 <listitem>
3597 <para>
3598 <computeroutput>VRDP_AUDIO_MODE_CS</computeroutput> -
3599 client sync mode to prevent under/overflow of the
3600 client queue.
3601 </para>
3602 </listitem>
3603
3604 </itemizedlist>
3605 </listitem>
3606
3607 <listitem>
3608 <para>
3609 <computeroutput>vrdeproperty
3610 "Audio/LogPath=&lt;value&gt;"</computeroutput> where
3611 &lt;value&gt; is the absolute path of the Audio log file.
3612 </para>
3613 </listitem>
3614
3615 </itemizedlist>
3616 </listitem>
3617
3618 <listitem>
3619 <para>
3620 <computeroutput>vrdevideochannelquality
3621 &lt;percent&gt;</computeroutput>: Sets the image quality for
3622 video redirection. See
3623 <xref
3624 linkend="vrde-videochannel" />.
3625 </para>
3626 </listitem>
3627
3628 <listitem>
3629 <para>
3630 <computeroutput>setvideomodehint</computeroutput> requests
3631 that the guest system change to a particular video mode. This
3632 requires that the Guest Additions be installed, and will not
3633 work for all guest systems.
3634 </para>
3635 </listitem>
3636
3637 <listitem>
3638 <para>
3639 <computeroutput>screenshotpng</computeroutput> takes a
3640 screenshot of the guest display and saves it in PNG format.
3641 </para>
3642 </listitem>
3643
3644 <listitem>
3645 <para>
3646 <computeroutput>videocap on|off</computeroutput> enables or
3647 disables recording a VM session into a WebM/VP8 file.
3648 </para>
3649 </listitem>
3650
3651 <listitem>
3652 <para>
3653 <computeroutput>videocapscreens all|&lt;screen ID&gt;
3654 [&lt;screen ID&gt; ...]]</computeroutput> allows to specify
3655 which screens of the VM are being recorded. This setting
3656 cannot be changed while video capturing is enabled. Each
3657 screen is recorded into a separate file.
3658 </para>
3659 </listitem>
3660
3661 <listitem>
3662 <para>
3663 <computeroutput>videocapfile &lt;file&gt;</computeroutput>
3664 sets the filename VirtualBox uses to save the recorded
3665 content. This setting cannot be changed while video capturing
3666 is enabled.
3667 </para>
3668 </listitem>
3669
3670 <listitem>
3671 <para>
3672 <computeroutput>videocapres &lt;width&gt;
3673 &lt;height&gt;</computeroutput> sets the resolution (in
3674 pixels) of the recorded video. This setting cannot be changed
3675 while video capturing is enabled.
3676 </para>
3677 </listitem>
3678
3679 <listitem>
3680<!-- @todo r=andy Clarify rate. -->
3681
3682 <para>
3683 <computeroutput>videocaprate &lt;rate&gt;</computeroutput>
3684 sets the bitrate in kilobits (kb) per second. Increasing this
3685 value makes the video look better for the cost of an increased
3686 file size. This setting cannot be changed while video
3687 capturing is enabled.
3688 </para>
3689 </listitem>
3690
3691 <listitem>
3692 <para>
3693 <computeroutput>videocapfps &lt;fps&gt;</computeroutput> sets
3694 the maximum number of frames per second (FPS) to be recorded.
3695 Frames with a higher frequency will be skipped. Reducing this
3696 value increases the number of skipped frames and reduces the
3697 file size. This setting cannot be changed while video
3698 capturing is enabled.
3699 </para>
3700 </listitem>
3701
3702 <listitem>
3703<!-- @todo r=andy Clarify time format. -->
3704
3705 <para>
3706 <computeroutput>videocapmaxtime &lt;ms&gt;</computeroutput>
3707 sets the maximum time in milliseconds the video capturing will
3708 be enabled since activation. The capturing stops when the
3709 defined time interval has elapsed. If this value is zero the
3710 capturing is not limited by time. This setting cannot be
3711 changed while video capturing is enabled.
3712 </para>
3713 </listitem>
3714
3715 <listitem>
3716 <para>
3717 <computeroutput>videocapmaxsize &lt;MB&gt;</computeroutput>
3718 limits the maximum size of the captured video file, in MB. The
3719 capturing stops when the file size has reached the specified
3720 size. If this value is zero the capturing will not be limited
3721 by file size. This setting cannot be changed while video
3722 capturing is enabled.
3723 </para>
3724 </listitem>
3725
3726 <listitem>
3727 <para>
3728 <computeroutput>videocapopts
3729 &lt;key=value&gt;[,&lt;key=value&gt; ...]</computeroutput> can
3730 be used to specify additional video capturing options. These
3731 options only are for advanced users and must be specified in a
3732 comma-separated key=value format, e.g.
3733 <computeroutput>foo=bar,a=b</computeroutput>. This setting
3734 cannot be changed while video capturing is enabled.
3735 </para>
3736 </listitem>
3737
3738 <listitem>
3739 <para>
3740 The <computeroutput>setcredentials</computeroutput> operation
3741 is used for remote logons in Windows guests. See
3742 <xref linkend="autologon" />.
3743 </para>
3744 </listitem>
3745
3746 <listitem>
3747 <para>
3748 <computeroutput>teleport --host &lt;name&gt; --port
3749 &lt;port&gt;</computeroutput> can be used to configure a VM as
3750 a target for teleporting. &lt;name&gt; specifies the virtual
3751 machine name. &lt;port&gt; specifies the port on the virtual
3752 machine which should listen for teleporting requests from
3753 other virtual machines. It can be any free TCP/IP port number,
3754 such as 6000. See <xref linkend="teleporting" />.
3755 </para>
3756
3757 <itemizedlist>
3758
3759 <listitem>
3760 <para>
3761 <computeroutput>--maxdowntime
3762 &lt;msec&gt;</computeroutput>: specifies the maximum
3763 downtime (milliseconds) for the teleporting target VM.
3764 Optional.
3765 </para>
3766 </listitem>
3767
3768 <listitem>
3769 <para>
3770 <computeroutput>--password
3771 &lt;password&gt;</computeroutput>: indicates that the
3772 teleporting request will only succeed if the source
3773 machine specifies the same password as the one given with
3774 this command. Optional.
3775 </para>
3776 </listitem>
3777
3778 <listitem>
3779 <para>
3780 <computeroutput>--passwordfile &lt;password
3781 file&gt;</computeroutput>: indicates that the teleporting
3782 request will only succeed if the source machine specifies
3783 the same password as the one specified in the password
3784 file with the path specified with this command. Use
3785 <computeroutput>stdin</computeroutput> to read the
3786 password from stdin. Optional.
3787 </para>
3788 </listitem>
3789
3790 </itemizedlist>
3791 </listitem>
3792
3793 <listitem>
3794 <para>
3795 <computeroutput>plugcpu|unplugcpu &lt;id&gt;</computeroutput>:
3796 If CPU hot-plugging is enabled, this adds a virtual CPU to the
3797 virtual machines (or removes one).
3798 <computeroutput>&lt;id&gt;</computeroutput> specifies the
3799 index of the virtual CPU to be added or removed and must be a
3800 number from 0 to the maximum no. of CPUs configured. CPU 0 can
3801 never be removed.
3802 </para>
3803 </listitem>
3804
3805 <listitem>
3806 <para>
3807 The <computeroutput>cpuexecutioncap
3808 &lt;1-100&gt;</computeroutput>: This operation controls how
3809 much cpu time a virtual CPU can use. A value of 50 implies a
3810 single virtual CPU can use up to 50% of a single host CPU.
3811 </para>
3812 </listitem>
3813
3814 <listitem>
3815 <para>
3816 <computeroutput>webcam attach &lt;path|alias&gt;
3817 [&lt;key=value&gt;[;&lt;key=value&gt;...]]</computeroutput>:
3818 This operation attaches a webcam to a running VM. Specify the
3819 absolute path of the webcam on the host operating system, or
3820 use its alias, obtained by using the command: VBoxManage list
3821 webcams.
3822 </para>
3823
3824 <para>
3825 Note that alias '.0' means default video input device on the
3826 host operating system, '.1', '.2', etc. mean first, second,
3827 etc. video input device. The device order is host-specific.
3828 </para>
3829
3830 <para>
3831 The optional settings parameter is a ';' delimited list of
3832 name/value pairs, enabling configuration of the emulated
3833 webcam device.
3834 </para>
3835
3836 <para>
3837 The following settings are supported:
3838 </para>
3839
3840 <para>
3841 MaxFramerate (default no maximum limit) - this specifies the
3842 highest rate (frames/sec) at which video frames are sent to
3843 the guest. Higher frame rates increase CPU load, so this
3844 setting can be useful when there is a need to reduce CPU load.
3845 Its default 'value' is 'no maximum limit', thus enabling the
3846 guest to use all frame rates supported by the host webcam.
3847 </para>
3848
3849 <para>
3850 MaxPayloadTransferSize (default 3060 bytes) - this specifies
3851 the maximum number of bytes the emulated webcam can send to
3852 the guest in one buffer. The default is used by some webcams.
3853 Higher values can slightly reduce CPU load, if the guest is
3854 able to use larger buffers. Note that higher
3855 MaxPayloadTransferSize values may be not supported by some
3856 guest operating systems.
3857 </para>
3858 </listitem>
3859
3860 <listitem>
3861 <para>
3862 <computeroutput>webcam detach
3863 &lt;path|alias&gt;</computeroutput>: This operation detaches a
3864 webcam from a running VM. Specify the absolute path of the
3865 webcam on the host, or use its alias (obtained from webcam
3866 list below).
3867 </para>
3868
3869 <para>
3870 Note the points below relating to specific Host Operating
3871 Systems:
3872 </para>
3873
3874 <para>
3875 Windows hosts
3876 </para>
3877
3878 <para>
3879 When the webcam device is detached from the host, the emulated
3880 webcam device is automatically detached from the guest.
3881 </para>
3882
3883 <para>
3884 Mac OS X hosts
3885 </para>
3886
3887 <para>
3888 OS X version 10.7 or newer is required.
3889 </para>
3890
3891 <para>
3892 When the webcam device is detached from the host, the emulated
3893 webcam device remains attached to the guest and must be
3894 manually detached using the VBoxManage controlvm "VM name"
3895 webcam detach command.
3896 </para>
3897
3898 <para>
3899 Linux hosts
3900 </para>
3901
3902 <para>
3903 When the webcam is detached from the host, the emulated webcam
3904 device is automatically detached from the guest only if the
3905 webcam is streaming video. If the emulated webcam is inactive,
3906 it should be manually detached using the VBoxManage controlvm
3907 "VM name" webcam detach command.
3908 </para>
3909 </listitem>
3910
3911 <listitem>
3912 <para>
3913 <computeroutput>webcam list</computeroutput>: This operation
3914 lists webcams attached to the running VM. The output is a list
3915 of absolute paths or aliases that were used for attaching the
3916 webcams to the VM using the 'webcam attach' command above.
3917 </para>
3918 </listitem>
3919
3920 <listitem>
3921 <para>
3922 <computeroutput>addencpassword &lt;id&gt; &lt;password
3923 file&gt;|- [--removeonsuspend
3924 &lt;yes|no&gt;]</computeroutput>: This operation supplies an
3925 encrypted VM specified by &lt;id&gt; with the encryption
3926 password to enable a headless start. Either specify the
3927 absolute path of a password file on the host file system:
3928 &lt;password file&gt;, or use a '-' to instruct VBoxManage to
3929 prompt the user for the encryption password.
3930 </para>
3931
3932 <para>
3933 <computeroutput>--removeonsuspend
3934 &lt;yes|no&gt;</computeroutput> specifies whether to
3935 remove/keep the password from/in VM memory when the VM is
3936 suspended. If the VM has been suspended and the password has
3937 been removed, the user needs to resupply the password before
3938 the VM can be resumed. This feature is useful in cases where
3939 the user does not want the password to be stored in VM memory,
3940 and the VM is suspended by a host suspend event.
3941 </para>
3942
3943 <para>
3944 Note: On VirtualBox versions 5.0 and later, data stored on
3945 hard disk images can be transparently encrypted for the guest.
3946 VirtualBox uses the AES algorithm in XTS mode and supports 128
3947 or 256 bit data encryption keys (DEK). The DEK is stored
3948 encrypted in the medium properties, and is decrypted during VM
3949 startup by supplying the encryption password.
3950 </para>
3951
3952 <para>
3953 The "VBoxManage encryptmedium" operation is used to create a
3954 DEK encrypted medium. See
3955 <xref linkend="diskencryption-encryption" />. When starting an
3956 encrypted VM from a VirtualBox GUI app, the user will be
3957 prompted for the encryption password.
3958 </para>
3959
3960 <para>
3961 For a headless encrypted VM start, use:
3962 </para>
3963
3964<screen>
3965 VBoxManage startvm "vmname" --type headless
3966 </screen>
3967
3968 <para>
3969 followed by:
3970 </para>
3971
3972<screen>
3973 VBoxManage "vmname" controlvm "vmname" addencpassword ...
3974 </screen>
3975
3976 <para>
3977 to supply the encryption password required.
3978 </para>
3979 </listitem>
3980
3981 <listitem>
3982 <para>
3983 <computeroutput>removeencpassword &lt;id&gt;</computeroutput>:
3984 This operation removes encryption password authorization for
3985 password &lt;id&gt; for all encrypted media attached to the
3986 VM.
3987 </para>
3988 </listitem>
3989
3990 <listitem>
3991 <para>
3992 <computeroutput>removeallencpasswords</computeroutput>: This
3993 operation removes encryption password authorization for all
3994 passwords for all encrypted media attached to the VM.
3995 </para>
3996 </listitem>
3997
3998 </itemizedlist>
3999
4000 </sect1>
4001
4002 <sect1 id="vboxmanage-discardstate">
4003
4004 <title>VBoxManage discardstate</title>
4005
4006 <para>
4007 This command discards the saved state of a virtual machine which
4008 is not currently running, which will cause its operating system to
4009 restart next time you start it. This is the equivalent of pulling
4010 out the power cable on a physical machine, and should be avoided
4011 if possible.
4012 </para>
4013
4014 </sect1>
4015
4016 <sect1 id="vboxmanage-adoptstate">
4017
4018 <title>VBoxManage adoptstate</title>
4019
4020 <para>
4021 If you have a saved state file
4022 (<computeroutput>.sav</computeroutput>) that is separate from the
4023 VM configuration, you can use this command to "adopt" the file.
4024 This will change the VM to saved state and when you start it,
4025 VirtualBox will attempt to restore it from the saved state file
4026 you indicated. This command should only be used in special setups.
4027 </para>
4028
4029 </sect1>
4030
4031 <sect1 id="vboxmanage-snapshot">
4032
4033 <title>VBoxManage snapshot</title>
4034
4035 <para>
4036 This command is used to control snapshots from the command line. A
4037 snapshot consists of a complete copy of the virtual machine
4038 settings, copied at the time when the snapshot was taken, and
4039 optionally a virtual machine saved state file if the snapshot was
4040 taken while the machine was running. After a snapshot has been
4041 taken, VirtualBox creates differencing hard disk for each normal
4042 hard disk associated with the machine so that when a snapshot is
4043 restored, the contents of the virtual machine's virtual hard disks
4044 can be quickly reset by simply dropping the pre-existing
4045 differencing files.
4046 </para>
4047
4048<screen>VBoxManage snapshot &lt;uuid|vmname&gt;
4049 take &lt;name&gt; [--description &lt;desc&gt;] [--live]
4050 [--uniquename Number,Timestamp,Space,Force] |
4051 delete &lt;uuid|snapname&gt; |
4052 restore &lt;uuid|snapname&gt; |
4053 restorecurrent |
4054 edit &lt;uuid|snapname&gt;|--current
4055 [--name &lt;name&gt;]
4056 [--description &lt;desc&gt;] |
4057 list [--details|--machinereadable]
4058 showvminfo &lt;uuid|snapname&gt;</screen>
4059
4060 <para>
4061 The <computeroutput>take</computeroutput> operation takes a
4062 snapshot of the current state of the virtual machine. You must
4063 supply a name for the snapshot and can optionally supply a
4064 description. The new snapshot is inserted into the snapshots tree
4065 as a child of the current snapshot and then becomes the new
4066 current snapshot. The
4067 <computeroutput>--description</computeroutput> parameter allows to
4068 describe the snapshot. If <computeroutput>--live</computeroutput>
4069 is specified, the VM will not be stopped during the snapshot
4070 creation (live snapshotting).
4071 </para>
4072
4073 <para>
4074 The <computeroutput>delete</computeroutput> operation deletes a
4075 snapshot (specified by name or by UUID). This can take a while to
4076 finish since the differencing images associated with the snapshot
4077 might need to be merged with their child differencing images.
4078 </para>
4079
4080 <para>
4081 The <computeroutput>restore</computeroutput> operation will
4082 restore the given snapshot (specified by name or by UUID) by
4083 resetting the virtual machine's settings and current state to that
4084 of the snapshot. The previous current state of the machine will be
4085 lost. After this, the given snapshot becomes the new "current"
4086 snapshot so that subsequent snapshots are inserted under the
4087 snapshot from which was restored.
4088 </para>
4089
4090 <para>
4091 The <computeroutput>restorecurrent</computeroutput> operation is a
4092 shortcut to restore the current snapshot (i.e. the snapshot from
4093 which the current state is derived). This subcommand is equivalent
4094 to using the "restore" subcommand with the name or UUID of the
4095 current snapshot, except that it avoids the extra step of
4096 determining that name or UUID.
4097 </para>
4098
4099 <para>
4100 With the <computeroutput>edit</computeroutput> operation, you can
4101 change the name or description of an existing snapshot.
4102 </para>
4103
4104 <para>
4105 The <computeroutput>list</computeroutput> operation shows all
4106 snapshots of a virtual machine.
4107 </para>
4108
4109 <para>
4110 With the <computeroutput>showvminfo</computeroutput> operation,
4111 you can view the virtual machine settings that were stored with an
4112 existing snapshot.
4113 </para>
4114
4115 </sect1>
4116
4117 <sect1 id="vboxmanage-closemedium">
4118
4119 <title>VBoxManage closemedium</title>
4120
4121 <para>
4122 This command removes a hard disk, DVD, or floppy image from a
4123 VirtualBox media registry.
4124
4125 <footnote>
4126
4127 <para>
4128 Before VirtualBox 4.0, it was necessary to call VBoxManage
4129 openmedium before a medium could be attached to a virtual
4130 machine; that call "registered" the medium with the global
4131 VirtualBox media registry. With VirtualBox 4.0 this is no
4132 longer necessary; media are added to media registries
4133 automatically. The "closemedium" call has been retained,
4134 however, to allow for explicitly removing a medium from a
4135 registry.
4136 </para>
4137
4138 </footnote>
4139 </para>
4140
4141<screen>VBoxManage closemedium [disk|dvd|floppy] &lt;uuid|filename&gt;
4142 [--delete]</screen>
4143
4144 <para>
4145 Optionally, you can request that the image be deleted. You will
4146 get appropriate diagnostics that the deletion failed, however the
4147 image will become unregistered in any case.
4148 </para>
4149
4150 </sect1>
4151
4152 <sect1 id="vboxmanage-storageattach">
4153
4154 <title>VBoxManage storageattach</title>
4155
4156 <para>
4157 This command attaches/modifies/removes a storage medium connected
4158 to a storage controller that was previously added with the
4159 <computeroutput>storagectl</computeroutput> command. The syntax is
4160 as follows:
4161 </para>
4162
4163<screen>VBoxManage storageattach &lt;uuid|vmname&gt;
4164 --storagectl &lt;name&gt;
4165 [--port &lt;number&gt;]
4166 [--device &lt;number&gt;]
4167 [--type dvddrive|hdd|fdd]
4168 [--medium none|emptydrive|additions|
4169 &lt;uuid&gt;|&lt;filename&gt;|host:&lt;drive&gt;|iscsi]
4170 [--mtype normal|writethrough|immutable|shareable
4171 readonly|multiattach]
4172 [--comment &lt;text&gt;]
4173 [--setuuid &lt;uuid&gt;]
4174 [--setparentuuid &lt;uuid&gt;]
4175 [--passthrough on|off]
4176 [--tempeject on|off]
4177 [--nonrotational on|off]
4178 [--discard on|off]
4179 [--hotpluggable on|off]
4180 [--bandwidthgroup name|none]
4181 [--forceunmount]
4182 [--server &lt;name&gt;|&lt;ip&gt;]
4183 [--target &lt;target&gt;]
4184 [--tport &lt;port&gt;]
4185 [--lun &lt;lun&gt;]
4186 [--encodedlun &lt;lun&gt;]
4187 [--username &lt;username&gt;]
4188 [--password &lt;password&gt;]
4189 [--passwordfile &lt;file&gt;]
4190 [--initiator &lt;initiator&gt;]
4191 [--intnet]</screen>
4192
4193 <para>
4194 A number of parameters are commonly required. The ones at the end
4195 of the list are required only for iSCSI targets, as described
4196 below.
4197 </para>
4198
4199 <para>
4200 The common parameters are:
4201 </para>
4202
4203 <variablelist>
4204
4205 <varlistentry>
4206 <term>
4207 <computeroutput>uuid|vmname</computeroutput>
4208 </term>
4209
4210 <listitem>
4211 <para>
4212 The VM UUID or VM Name. Mandatory.
4213 </para>
4214 </listitem>
4215 </varlistentry>
4216
4217 <varlistentry>
4218 <term>
4219 <computeroutput>--storagectl</computeroutput>
4220 </term>
4221
4222 <listitem>
4223 <para>
4224 Name of the storage controller. Mandatory. The list of the
4225 storage controllers currently attached to a VM can be
4226 obtained with <computeroutput>VBoxManage
4227 showvminfo</computeroutput>. See
4228 <xref linkend="vboxmanage-showvminfo" />.
4229 </para>
4230 </listitem>
4231 </varlistentry>
4232
4233 <varlistentry>
4234 <term>
4235 <computeroutput>--port</computeroutput>
4236 </term>
4237
4238 <listitem>
4239 <para>
4240 The number of the storage controller's port which is to be
4241 modified. Mandatory, unless the storage controller has only
4242 a single port.
4243 </para>
4244 </listitem>
4245 </varlistentry>
4246
4247 <varlistentry>
4248 <term>
4249 <computeroutput>--device</computeroutput>
4250 </term>
4251
4252 <listitem>
4253 <para>
4254 The number of the port's device which is to be modified.
4255 Mandatory, unless the storage controller has only a single
4256 device per port.
4257 </para>
4258 </listitem>
4259 </varlistentry>
4260
4261 <varlistentry>
4262 <term>
4263 <computeroutput>--type</computeroutput>
4264 </term>
4265
4266 <listitem>
4267 <para>
4268 Define the type of the drive to which the medium is being
4269 attached/detached/modified. This argument can only be
4270 omitted if the type of medium can be determined from either
4271 the medium given with the
4272 <computeroutput>--medium</computeroutput> argument or from a
4273 previous medium attachment.
4274 </para>
4275 </listitem>
4276 </varlistentry>
4277
4278 <varlistentry>
4279 <term>
4280 <computeroutput>--medium</computeroutput>
4281 </term>
4282
4283 <listitem>
4284 <para>
4285 Specifies what is to be attached. The following values are
4286 supported:
4287 </para>
4288
4289 <itemizedlist>
4290
4291 <listitem>
4292 <para>
4293 "none": Any existing device should be removed from the
4294 given slot.
4295 </para>
4296 </listitem>
4297
4298 <listitem>
4299 <para>
4300 "emptydrive": For a virtual DVD or floppy drive only,
4301 this makes the device slot behaves like a removeable
4302 drive into which no media has been inserted.
4303 </para>
4304 </listitem>
4305
4306 <listitem>
4307 <para>
4308 "additions": For a virtual DVD drive only, this attaches
4309 the <emphasis>VirtualBox Guest Additions</emphasis>
4310 image to the given device slot.
4311 </para>
4312 </listitem>
4313
4314 <listitem>
4315 <para>
4316 If a UUID is specified, it must be the UUID of a storage
4317 medium that is already known to VirtualBox (e.g. because
4318 it has been attached to another virtual machine). See
4319 <xref linkend="vboxmanage-list" /> for how to list known
4320 media. This medium is then attached to the given device
4321 slot.
4322 </para>
4323 </listitem>
4324
4325 <listitem>
4326 <para>
4327 If a filename is specified, it must be the full path of
4328 an existing disk image (ISO, RAW, VDI, VMDK or other),
4329 which is then attached to the given device slot.
4330 </para>
4331 </listitem>
4332
4333 <listitem>
4334 <para>
4335 "host:&lt;drive&gt;": For a virtual DVD or floppy drive
4336 only, this connects the given device slot to the
4337 specified DVD or floppy drive on the host computer.
4338 </para>
4339 </listitem>
4340
4341 <listitem>
4342 <para>
4343 "iscsi": For virtual hard disks only, this allows for
4344 specifying an iSCSI target. In this case, more
4345 parameters must be given. See the description below.
4346 </para>
4347 </listitem>
4348
4349 </itemizedlist>
4350
4351 <para>
4352 Some of the above changes, in particular for removeable
4353 media (floppies and CDs/DVDs), can be effected while a VM is
4354 running. Others, such as device changes or changes in hard
4355 disk device slots, require the VM to be powered off.
4356 </para>
4357 </listitem>
4358 </varlistentry>
4359
4360 <varlistentry>
4361 <term>
4362 <computeroutput>--mtype</computeroutput>
4363 </term>
4364
4365 <listitem>
4366 <para>
4367 Defines how this medium behaves with respect to snapshots
4368 and write operations. See <xref linkend="hdimagewrites" />
4369 for details.
4370 </para>
4371 </listitem>
4372 </varlistentry>
4373
4374 <varlistentry>
4375 <term>
4376 <computeroutput>--comment</computeroutput>
4377 </term>
4378
4379 <listitem>
4380 <para>
4381 An optional description that you want to have stored with
4382 this medium. For example, for an iSCSI target, "Big storage
4383 server downstairs". This is purely descriptive and not
4384 needed for the medium to function correctly.
4385 </para>
4386 </listitem>
4387 </varlistentry>
4388
4389 <varlistentry>
4390 <term>
4391 <computeroutput>--setuuid, --setparentuuid</computeroutput>
4392 </term>
4393
4394 <listitem>
4395 <para>
4396 Modifies the UUID or parent UUID of a medium before
4397 attaching it to a VM. This is an expert option.
4398 Inappropriate use can make the medium unusable or lead to
4399 broken VM configurations if any other VM is referring to the
4400 same media already. The most frequently used variant is
4401 <code>--setuuid ""</code>, which assigns a new (random) UUID
4402 to an image. This is useful to resolve the duplicate UUID
4403 errors if one duplicated an image using file copy utilities.
4404 </para>
4405 </listitem>
4406 </varlistentry>
4407
4408 <varlistentry>
4409 <term>
4410 <computeroutput>--passthrough</computeroutput>
4411 </term>
4412
4413 <listitem>
4414 <para>
4415 For a virtual DVD drive only, you can enable DVD writing
4416 support. This feature is currently experimental, see
4417 <xref
4418 linkend="storage-cds" />.
4419 </para>
4420 </listitem>
4421 </varlistentry>
4422
4423 <varlistentry>
4424 <term>
4425 <computeroutput>--tempeject</computeroutput>
4426 </term>
4427
4428 <listitem>
4429 <para>
4430 For a virtual DVD drive only, you can configure the behavior
4431 for guest-triggered medium eject. If this is set to "on",
4432 the eject has only temporary effects. If the VM is powered
4433 off and restarted the originally configured medium will be
4434 still in the drive.
4435 </para>
4436 </listitem>
4437 </varlistentry>
4438
4439 <varlistentry>
4440 <term>
4441 <computeroutput>--nonrotational</computeroutput>
4442 </term>
4443
4444 <listitem>
4445 <para>
4446 This switch allows to enable the non-rotational flag for
4447 virtual hard disks. Some guests (i.e. Windows 7+) treat such
4448 disks like SSDs and do not perform disk fragmentation on
4449 such media.
4450 </para>
4451 </listitem>
4452 </varlistentry>
4453
4454 <varlistentry>
4455 <term>
4456 <computeroutput>--discard</computeroutput>
4457 </term>
4458
4459 <listitem>
4460 <para>
4461 This switch enables the auto-discard feature for the virtual
4462 hard disks. This specifies that a VDI image will be shrunk
4463 in response to the trim command from the guest OS. The
4464 following requirements must be met:
4465 </para>
4466
4467 <itemizedlist>
4468
4469 <listitem>
4470 <para>
4471 The disk format must be VDI.
4472 </para>
4473 </listitem>
4474
4475 <listitem>
4476 <para>
4477 The size of the cleared area must be at least 1MB.
4478 </para>
4479 </listitem>
4480
4481 <listitem>
4482 <para>
4483 VirtualBox will only trim whole 1 MB blocks. The VDIs
4484 themselves are organized into 1 MB blocks, so this will
4485 only work if the space being TRIM-ed is at least a 1 MB
4486 contiguous block at a 1 MB boundary. On Windows,
4487 occasional defrag (with "defrag.exe /D"), or under Linux
4488 running "btrfs filesystem defrag" as a background cron
4489 job may be beneficial.
4490 </para>
4491 </listitem>
4492
4493 </itemizedlist>
4494
4495 <para>
4496 Notes: the Guest OS must be configured to issue trim
4497 command, and typically this means that the guest OS is made
4498 to 'see' the disk as an SSD. Ext4 supports -o discard mount
4499 flag; OSX probably requires additional settings. Windows
4500 ought to automatically detect and support SSDs - at least in
4501 versions 7, 8 and 10. Linux exFAT driver (courtesy of
4502 Samsung) supports the trim command.
4503 </para>
4504
4505 <para>
4506 It is unclear whether Microsoft's implementation of exFAT
4507 supports this feature, even though that file system was
4508 originally designed for flash.
4509 </para>
4510
4511 <para>
4512 Alternatively, there are ad hoc methods to issue trim, e.g.
4513 Linux fstrim command, part of util-linux package. Earlier
4514 solutions required a user to zero out unused areas, e.g.
4515 using zerofree, and explicitly compact the disk - only
4516 possible when the VM is offline.
4517 </para>
4518 </listitem>
4519 </varlistentry>
4520
4521 <varlistentry>
4522 <term>
4523 <computeroutput>--bandwidthgroup</computeroutput>
4524 </term>
4525
4526 <listitem>
4527 <para>
4528 Sets the bandwidth group to use for the given device. See
4529 <xref linkend="storage-bandwidth-limit" />.
4530 </para>
4531 </listitem>
4532 </varlistentry>
4533
4534 <varlistentry>
4535 <term>
4536 <computeroutput>--forceunmount</computeroutput>
4537 </term>
4538
4539 <listitem>
4540 <para>
4541 For a virtual DVD or floppy drive only, this forcibly
4542 unmounts the DVD/CD/Floppy or mounts a new DVD/CD/Floppy
4543 even if the previous one is locked down by the guest for
4544 reading. Again, see <xref linkend="storage-cds" /> for
4545 details.
4546 </para>
4547 </listitem>
4548 </varlistentry>
4549
4550 </variablelist>
4551
4552 <para>
4553 When "iscsi" is used with the
4554 <computeroutput>--medium</computeroutput> parameter for iSCSI
4555 support, additional parameters must or can be used. See also
4556 <xref linkend="storage-iscsi" />.
4557 </para>
4558
4559 <variablelist>
4560
4561 <varlistentry>
4562 <term>
4563 <computeroutput>--server</computeroutput>
4564 </term>
4565
4566 <listitem>
4567 <para>
4568 The host name or IP address of the iSCSI target; required.
4569 </para>
4570 </listitem>
4571 </varlistentry>
4572
4573 <varlistentry>
4574 <term>
4575 <computeroutput>--target</computeroutput>
4576 </term>
4577
4578 <listitem>
4579 <para>
4580 Target name string. This is determined by the iSCSI target
4581 and used to identify the storage resource; required.
4582 </para>
4583 </listitem>
4584 </varlistentry>
4585
4586 <varlistentry>
4587 <term>
4588 <computeroutput>--tport</computeroutput>
4589 </term>
4590
4591 <listitem>
4592 <para>
4593 TCP/IP port number of the iSCSI service on the target.
4594 Optional.
4595 </para>
4596 </listitem>
4597 </varlistentry>
4598
4599 <varlistentry>
4600 <term>
4601 <computeroutput>--lun</computeroutput>
4602 </term>
4603
4604 <listitem>
4605 <para>
4606 Logical Unit Number of the target resource. Optional. Often,
4607 this value is zero.
4608 </para>
4609 </listitem>
4610 </varlistentry>
4611
4612 <varlistentry>
4613 <term>
4614 <computeroutput>--encodedlun</computeroutput>
4615 </term>
4616
4617 <listitem>
4618 <para>
4619 Hex encoded Logical Unit Number of the target resource.
4620 Optional. Often, this value is zero.
4621 </para>
4622 </listitem>
4623 </varlistentry>
4624
4625 <varlistentry>
4626 <term>
4627 <computeroutput>--username, --password,
4628 --passwordfile</computeroutput>
4629 </term>
4630
4631 <listitem>
4632 <para>
4633 Username and password (initiator secret) for target
4634 authentication, if required. Optional.
4635
4636 <note>
4637 <para>
4638 Username and password are stored without encryption, in
4639 clear text, in the XML machine configuration file if no
4640 settings password is provided. When a settings password
4641 was specified the first time, the password is stored
4642 encrypted. Alternatively to providing the password on
4643 the command line, a reference to a file containing the
4644 text can be provided instead via the passwordfile
4645 option.
4646 </para>
4647 </note>
4648 </para>
4649 </listitem>
4650 </varlistentry>
4651
4652 <varlistentry>
4653 <term>
4654 <computeroutput>--initiator</computeroutput>
4655 </term>
4656
4657 <listitem>
4658 <para>
4659 iSCSI Initiator (optional).
4660 </para>
4661
4662 <para>
4663 Note: Microsoft iSCSI Initiator is a system, such as a
4664 server that attaches to an IP network and initiates requests
4665 and receives responses from an iSCSI target. The SAN
4666 components in Microsoft iSCSI Initiator are largely
4667 analogous to Fibre Channel SAN components, and they include
4668 the following:
4669 </para>
4670
4671 <para>
4672 To transport blocks of iSCSI commands over the IP network,
4673 an iSCSI driver must be installed on the iSCSI host. An
4674 iSCSI driver is included with Microsoft iSCSI Initiator.
4675 </para>
4676
4677 <para>
4678 A gigabit Ethernet adapter that transmits 1000 megabits per
4679 second (Mbps) is recommended for the connection to an iSCSI
4680 target. Like standard 10/100 adapters, most gigabit adapters
4681 use a pre-existing Category 5 or Category 6E cable. Each
4682 port on the adapter is identified by a unique IP address.
4683 </para>
4684
4685 <para>
4686 An iSCSI target is any device that receives iSCSI commands.
4687 The device can be an end node, such as a storage device, or
4688 it can be an intermediate device, such as a network bridge
4689 between IP and Fibre Channel devices. Each port on the
4690 storage array controller or network bridge is identified by
4691 one or more IP addresses
4692 </para>
4693 </listitem>
4694 </varlistentry>
4695
4696 <varlistentry>
4697 <term>
4698 <computeroutput>--intnet</computeroutput>
4699 </term>
4700
4701 <listitem>
4702 <para>
4703 If specified, connect to the iSCSI target via Internal
4704 Networking. This needs further configuration, see
4705 <xref linkend="iscsi-intnet" />.
4706 </para>
4707 </listitem>
4708 </varlistentry>
4709
4710 </variablelist>
4711
4712 </sect1>
4713
4714 <sect1 id="vboxmanage-storagectl">
4715
4716 <title>VBoxManage storagectl</title>
4717
4718 <para>
4719 This command attaches/modifies/removes a storage controller. After
4720 this, virtual media can be attached to the controller with the
4721 <computeroutput>storageattach</computeroutput> command .
4722 </para>
4723
4724 <para>
4725 The syntax is as follows:
4726 </para>
4727
4728<screen>VBoxManage storagectl &lt;uuid|vmname&gt;
4729 --name &lt;name&gt;
4730 [--add ide|sata|scsi|floppy|sas|usb|pcie]
4731 [--controller LSILogic|LSILogicSAS|BusLogic|
4732 IntelAhci|PIIX3|PIIX4|ICH6|I82078|
4733 USB|NVMe]
4734 [--portcount &lt;1-30&gt;]
4735 [--hostiocache on|off]
4736 [--bootable on|off]
4737 [--rename &lt;name&gt;]
4738 [--remove]</screen>
4739
4740 <para>
4741 where the parameters mean:
4742 </para>
4743
4744 <variablelist>
4745
4746 <varlistentry>
4747 <term>
4748 <computeroutput>uuid|vmname</computeroutput>
4749 </term>
4750
4751 <listitem>
4752 <para>
4753 The VM UUID or VM Name. Mandatory.
4754 </para>
4755 </listitem>
4756 </varlistentry>
4757
4758 <varlistentry>
4759 <term>
4760 <computeroutput>--name</computeroutput>
4761 </term>
4762
4763 <listitem>
4764 <para>
4765 Specifies the name of the storage controller. Mandatory.
4766 </para>
4767 </listitem>
4768 </varlistentry>
4769
4770 <varlistentry>
4771 <term>
4772 <computeroutput>--add</computeroutput>
4773 </term>
4774
4775 <listitem>
4776 <para>
4777 Specifies the type of the system bus to which the storage
4778 controller must be connected.
4779 </para>
4780 </listitem>
4781 </varlistentry>
4782
4783 <varlistentry>
4784 <term>
4785 <computeroutput>--controller</computeroutput>
4786 </term>
4787
4788 <listitem>
4789 <para>
4790 Enables a choice of chipset type being emulated for the
4791 given storage controller.
4792 </para>
4793 </listitem>
4794 </varlistentry>
4795
4796 <varlistentry>
4797 <term>
4798 <computeroutput>--portcount</computeroutput>
4799 </term>
4800
4801 <listitem>
4802 <para>
4803 This specifies the number of ports the storage controller
4804 should support.
4805 </para>
4806 </listitem>
4807 </varlistentry>
4808
4809 <varlistentry>
4810 <term>
4811 <computeroutput>--hostiocache</computeroutput>
4812 </term>
4813
4814 <listitem>
4815 <para>
4816 Configures the use of the host I/O cache for all disk images
4817 attached to this storage controller. See
4818 <xref
4819 linkend="iocaching" />.
4820 </para>
4821 </listitem>
4822 </varlistentry>
4823
4824 <varlistentry>
4825 <term>
4826 <computeroutput>--bootable</computeroutput>
4827 </term>
4828
4829 <listitem>
4830 <para>
4831 Specifies whether this controller is bootable.
4832 </para>
4833 </listitem>
4834 </varlistentry>
4835
4836 <varlistentry>
4837 <term>
4838 <computeroutput>--rename</computeroutput>
4839 </term>
4840
4841 <listitem>
4842 <para>
4843 Specifies a new name for the storage controller.
4844 </para>
4845 </listitem>
4846 </varlistentry>
4847
4848 <varlistentry>
4849 <term>
4850 <computeroutput>--remove</computeroutput>
4851 </term>
4852
4853 <listitem>
4854 <para>
4855 Removes the storage controller from the VM config.
4856 </para>
4857 </listitem>
4858 </varlistentry>
4859
4860 </variablelist>
4861
4862 </sect1>
4863
4864 <sect1 id="vboxmanage-bandwidthctl">
4865
4866 <title>VBoxManage bandwidthctl</title>
4867
4868 <para>
4869 This command creates/deletes/modifies/shows bandwidth groups of
4870 the given virtual machine:
4871
4872<screen>VBoxManage bandwidthctl &lt;uuid|vmname&gt;
4873 add &lt;name&gt; --type disk|network --limit &lt;MBps&gt;[k|m|g|K|M|G] |
4874 set &lt;name&gt; --limit &lt;MBps&gt;[k|m|g|K|M|G] |
4875 remove &lt;name&gt; |
4876 list [--machinereadable]</screen>
4877 </para>
4878
4879 <para>
4880 The following subcommands are available:
4881 </para>
4882
4883 <itemizedlist>
4884
4885 <listitem>
4886 <para>
4887 <computeroutput>add</computeroutput>, creates a new bandwidth
4888 group of a given type.
4889 </para>
4890 </listitem>
4891
4892 <listitem>
4893 <para>
4894 <computeroutput>set</computeroutput>, modifies the limit for
4895 an existing bandwidth group.
4896 </para>
4897 </listitem>
4898
4899 <listitem>
4900 <para>
4901 <computeroutput>remove</computeroutput>, destroys a bandwidth
4902 group.
4903 </para>
4904 </listitem>
4905
4906 <listitem>
4907 <para>
4908 <computeroutput>list</computeroutput>, shows all bandwidth
4909 groups defined for the given VM. Use the
4910 <computeroutput>--machinereadable</computeroutput> option to
4911 produce the same output, but in machine readable format. This
4912 is of the form: name="value" on a line by line basis.
4913 </para>
4914 </listitem>
4915
4916 </itemizedlist>
4917
4918 <para>
4919 The parameters mean the following:
4920 </para>
4921
4922 <variablelist>
4923
4924 <varlistentry>
4925 <term>
4926 <computeroutput>uuid|vmname</computeroutput>
4927 </term>
4928
4929 <listitem>
4930 <para>
4931 The VM UUID or VM Name. Mandatory.
4932 </para>
4933 </listitem>
4934 </varlistentry>
4935
4936 <varlistentry>
4937 <term>
4938 <computeroutput>--name</computeroutput>
4939 </term>
4940
4941 <listitem>
4942 <para>
4943 Name of the bandwidth group. Mandatory.
4944 </para>
4945 </listitem>
4946 </varlistentry>
4947
4948 <varlistentry>
4949 <term>
4950 <computeroutput>--type</computeroutput>
4951 </term>
4952
4953 <listitem>
4954 <para>
4955 Type of the bandwidth group. Mandatory. Two types are
4956 supported: <computeroutput>disk</computeroutput> and
4957 <computeroutput>network</computeroutput>. See
4958 <xref linkend="storage-bandwidth-limit" /> or
4959 <xref linkend="network_bandwidth_limit" /> for the
4960 description of a particular type.
4961 </para>
4962 </listitem>
4963 </varlistentry>
4964
4965 <varlistentry>
4966 <term>
4967 <computeroutput>--limit</computeroutput>
4968 </term>
4969
4970 <listitem>
4971 <para>
4972 Specifies the limit for the given bandwidth group. This can
4973 be changed while the VM is running. The default unit is
4974 megabytes per second. The unit can be changed by specifying
4975 one of the following suffixes:
4976 <computeroutput>k</computeroutput> for kilobits/s,
4977 <computeroutput>m</computeroutput> for megabits/s,
4978 <computeroutput>g</computeroutput> for gigabits/s,
4979 <computeroutput>K</computeroutput> for kilobytes/s,
4980 <computeroutput>M</computeroutput> for megabytes/s,
4981 <computeroutput>G</computeroutput> for gigabytes/s.
4982 </para>
4983 </listitem>
4984 </varlistentry>
4985
4986 </variablelist>
4987
4988 <note>
4989 <para>
4990 The network bandwidth limits apply only to the traffic being
4991 sent by virtual machines. The traffic being received by VMs is
4992 unlimited.
4993 </para>
4994 </note>
4995
4996 <note>
4997 <para>
4998 To remove a bandwidth group it must not be referenced by any
4999 disks or adapters in the running VM.
5000 </para>
5001 </note>
5002
5003 </sect1>
5004
5005 <sect1 id="vboxmanage-showmediuminfo">
5006
5007 <title>VBoxManage showmediuminfo</title>
5008
5009 <para>
5010 This command shows information about a medium, notably its size,
5011 its size on disk, its type and the virtual machines which use it.
5012
5013 <note>
5014 <para>
5015 For compatibility with earlier versions of VirtualBox, the
5016 "showvdiinfo" command is also supported and mapped internally
5017 to the "showmediuminfo" command.
5018 </para>
5019 </note>
5020 </para>
5021
5022<screen>VBoxManage showmediuminfo [disk|dvd|floppy] &lt;uuid|filename&gt;</screen>
5023
5024 <para>
5025 The medium must be specified either by its UUID (if the medium is
5026 registered) or by its filename. Registered images can be listed by
5027 <computeroutput>VBoxManage list hdds</computeroutput>,
5028 <computeroutput>VBoxManage list dvds</computeroutput>, or
5029 <computeroutput>VBoxManage list floppies</computeroutput>, as
5030 appropriate. See <xref linkend="vboxmanage-list" />.
5031 </para>
5032
5033 </sect1>
5034
5035 <sect1 id="vboxmanage-createmedium">
5036
5037 <title>VBoxManage createmedium</title>
5038
5039 <para>
5040 This command creates a new medium. The syntax is as follows:
5041 </para>
5042
5043<screen>VBoxManage createmedium [disk|dvd|floppy] --filename &lt;filename&gt;
5044 [--size &lt;megabytes&gt;|--sizebyte &lt;bytes&gt;]
5045 [--diffparent &lt;uuid&gt;|&lt;filename&gt;
5046 [--format VDI|VMDK|VHD] (default: VDI)
5047 [--variant Standard,Fixed,Split2G,Stream,ESX]</screen>
5048
5049 <para>
5050 where the parameters mean:
5051 </para>
5052
5053 <variablelist>
5054
5055 <varlistentry>
5056 <term>
5057 <computeroutput>--filename &lt;filename&gt;</computeroutput>
5058 </term>
5059
5060 <listitem>
5061 <para>
5062 Specifies a file name &lt;filename&gt; as an absolute path
5063 on the host file system. Mandatory.
5064 </para>
5065 </listitem>
5066 </varlistentry>
5067
5068 <varlistentry>
5069 <term>
5070 <computeroutput>--size &lt;megabytes&gt;</computeroutput>
5071 </term>
5072
5073 <listitem>
5074 <para>
5075 &lt;megabytes&gt; Specifies the image capacity, in 1 MB
5076 units. Optional.
5077 </para>
5078 </listitem>
5079 </varlistentry>
5080
5081 <varlistentry>
5082 <term>
5083 <computeroutput>--diffparent
5084 &lt;uuid&gt;|&lt;filename&gt;</computeroutput>
5085 </term>
5086
5087 <listitem>
5088 <para>
5089 Specifies the differencing image parent, either as a UUID or
5090 by the absolute pathname of the file on the host file
5091 system. Useful for sharing a base box disk image among
5092 several VMs.
5093 </para>
5094 </listitem>
5095 </varlistentry>
5096
5097 <varlistentry>
5098 <term>
5099 <computeroutput>--format VDI|VMDK|VHD</computeroutput>
5100 </term>
5101
5102 <listitem>
5103 <para>
5104 Specifies the file format for the output file. Available
5105 options are VDI, VMDK, VHD. Default is VDI. Optional.
5106 </para>
5107 </listitem>
5108 </varlistentry>
5109
5110 <varlistentry>
5111 <term>
5112 <computeroutput>--variant
5113 Standard,Fixed,Split2G,Stream,ESX</computeroutput>
5114 </term>
5115
5116 <listitem>
5117 <para>
5118 Specifies any required file format variant(s) for the output
5119 file. It is a comma-separated list of variant flags. Not all
5120 combinations are supported, and specifying mutually
5121 incompatible flags results in an error message. Optional.
5122 </para>
5123 </listitem>
5124 </varlistentry>
5125
5126 </variablelist>
5127
5128 <note>
5129 <para>
5130 For compatibility with earlier versions of VirtualBox, the
5131 "createvdi" and "createhd" commands are also supported and
5132 mapped internally to the "createmedium" command.
5133 </para>
5134 </note>
5135
5136 </sect1>
5137
5138 <sect1 id="vboxmanage-modifyvdi">
5139
5140 <title>VBoxManage modifymedium</title>
5141
5142 <para>
5143 With the <computeroutput>modifymedium</computeroutput> command,
5144 you can change the characteristics of a disk image after it has
5145 been created:
5146
5147<screen>VBoxManage modifymedium [disk|dvd|floppy] &lt;uuid|filename&gt;
5148 [--type normal|writethrough|immutable|shareable|
5149 readonly|multiattach]
5150 [--autoreset on|off]
5151 [--property &lt;name=[value]&gt;]
5152 [--compact]
5153 [--resize &lt;megabytes&gt;|--resizebyte &lt;bytes&gt;]
5154 [--move &lt;path&gt;]
5155 [--setlocation &lt;path&gt;]</screen>
5156
5157 <note>
5158 <para>
5159 For compatibility with earlier versions of VirtualBox, the
5160 "modifyvdi" and "modifyhd" commands are also supported and
5161 mapped internally to the "modifymedium" command.
5162 </para>
5163 </note>
5164 </para>
5165
5166 <para>
5167 The disk image to modify must be specified either by its UUID (if
5168 the medium is registered) or by its filename. Registered images
5169 can be listed by <computeroutput>VBoxManage list
5170 hdds</computeroutput>, see <xref linkend="vboxmanage-list" />. A
5171 filename must be specified as a valid path, either as an absolute
5172 path or as a relative path starting from the current directory.
5173 </para>
5174
5175 <para>
5176 The following options are available:
5177 </para>
5178
5179 <itemizedlist>
5180
5181 <listitem>
5182 <para>
5183 With the <computeroutput>--type</computeroutput> argument, you
5184 can change the type of an existing image between the normal,
5185 immutable, write-through and other modes. See
5186 <xref
5187 linkend="hdimagewrites" />.
5188 </para>
5189 </listitem>
5190
5191 <listitem>
5192 <para>
5193 For immutable (differencing) hard disks only, the
5194 <computeroutput>--autoreset on|off</computeroutput> option
5195 determines whether the disk is automatically reset on every VM
5196 startup, see <xref linkend="hdimagewrites" />. The default is
5197 "on".
5198 </para>
5199 </listitem>
5200
5201 <listitem>
5202 <para>
5203 The <computeroutput>--compact</computeroutput> option can be
5204 used to compact disk images, i.e. remove blocks that only
5205 contains zeroes. This will shrink a dynamically allocated
5206 image again; it will reduce the <emphasis>physical</emphasis>
5207 size of the image without affecting the logical size of the
5208 virtual disk. Compaction works both for base images and for
5209 diff images created as part of a snapshot.
5210 </para>
5211
5212 <para>
5213 For this operation to be effective, it is required that free
5214 space in the guest system first be zeroed out using a suitable
5215 software tool. For Windows guests, you can use the
5216 <computeroutput>sdelete</computeroutput> tool provided by
5217 Microsoft. Execute <computeroutput>sdelete -z</computeroutput>
5218 in the guest to zero the free disk space before compressing
5219 the virtual disk image. For Linux, use the
5220 <code>zerofree</code> utility which supports ext2/ext3
5221 filesystems. For Mac OS X guests, use the <code>diskutil
5222 secureErase freespace 0 /</code> command line from an elevated
5223 Terminal.
5224 </para>
5225
5226 <para>
5227 Please note that compacting is currently only available for
5228 VDI images. A similar effect can be achieved by zeroing out
5229 free blocks and then cloning the disk to any other dynamically
5230 allocated format. You can use this workaround until compacting
5231 is also supported for disk formats other than VDI.
5232 </para>
5233 </listitem>
5234
5235 <listitem>
5236 <para>
5237 The <computeroutput>--resize x</computeroutput> option, where
5238 x is the desired new total space in
5239 <emphasis role="bold">megabytes</emphasis> enables you to
5240 change the capacity of an existing image. This adjusts the
5241 <emphasis>logical</emphasis> size of a virtual disk without
5242 affecting the physical size much.
5243
5244 <footnote>
5245
5246 <para>
5247 Image resizing was added with VirtualBox 4.0.
5248 </para>
5249
5250 </footnote>
5251
5252 This currently works only for VDI and VHD formats, and only
5253 for the dynamically allocated variants, and can only be used
5254 to expand (not shrink) the capacity. For example, if you
5255 originally created a 10 GB disk which is now full, you can use
5256 the <computeroutput>--resize 15360</computeroutput> command to
5257 change the capacity to 15 GB (15,360 MB) without having to
5258 create a new image and copy all data from within a virtual
5259 machine. Note however that this only changes the drive
5260 capacity. You will typically next need to use a partition
5261 management tool inside the guest to adjust the main partition
5262 to fill the drive.
5263 </para>
5264
5265 <para>
5266 The <computeroutput>--resizebyte x</computeroutput> option
5267 does almost the same thing, except that x is expressed in
5268 bytes instead of megabytes.
5269 </para>
5270 </listitem>
5271
5272 <listitem>
5273 <para>
5274 The <computeroutput>--move &lt;path&gt;</computeroutput>
5275 option can be used to relocate a medium to a different
5276 location &lt;path&gt; on the host file system. The path can be
5277 either relative to the current directory or absolute.
5278 </para>
5279 </listitem>
5280
5281 <listitem>
5282 <para>
5283 The <computeroutput>--setlocation &lt;path&gt;</computeroutput>
5284 option can be used to set new location &lt;path&gt; of the
5285 medium on the host file system if the medium had been moved
5286 for any reasons. The path can be either relative to the
5287 current directory or absolute.
5288 </para>
5289
5290 <para>
5291 Note, the new location is used as is, without any sanity checks,
5292 so user is responsible to set correct path.
5293 </para>
5294 </listitem>
5295
5296 </itemizedlist>
5297
5298 </sect1>
5299
5300 <sect1 id="vboxmanage-clonevdi">
5301
5302 <title>VBoxManage clonemedium</title>
5303
5304 <para>
5305 This command duplicates a virtual disk/DVD/floppy medium to a new
5306 medium, usually an image file, with a new unique identifier
5307 (UUID). The new image can be transferred to another host system or
5308 reimported into VirtualBox using the Virtual Media Manager. See
5309 <xref linkend="vdis" /> and <xref linkend="cloningvdis" />. The
5310 syntax is as follows:
5311 </para>
5312
5313<screen>VBoxManage clonemedium [disk|dvd|floppy] &lt;uuid|inputfile&gt; &lt;uuid|outputfile&gt;
5314
5315 [--format VDI|VMDK|VHD|RAW|&lt;other&gt;]
5316 [--variant Standard,Fixed,Split2G,Stream,ESX]
5317 [--existing]</screen>
5318
5319 <para>
5320 The medium to clone as well as the target image must be described
5321 either by its UUIDs, if the mediums are registered, or by its
5322 filename. Registered images can be listed by
5323 <computeroutput>VBoxManage list hdds</computeroutput>. See
5324 <xref linkend="vboxmanage-list" />. A filename must be specified
5325 as valid path, either as an absolute path or as a relative path
5326 starting from the current directory.
5327 </para>
5328
5329 <para>
5330 The following options are available:
5331 </para>
5332
5333 <variablelist>
5334
5335 <varlistentry>
5336 <term>
5337 <computeroutput>--format</computeroutput>
5338 </term>
5339
5340 <listitem>
5341 <para>
5342 Allow to choose a file format for the output file different
5343 from the file format of the input file.
5344 </para>
5345 </listitem>
5346 </varlistentry>
5347
5348 <varlistentry>
5349 <term>
5350 <computeroutput>--variant</computeroutput>
5351 </term>
5352
5353 <listitem>
5354 <para>
5355 Allow to choose a file format variant for the output file.
5356 It is a comma-separated list of variant flags. Not all
5357 combinations are supported, and specifying inconsistent
5358 flags will result in an error message.
5359 </para>
5360 </listitem>
5361 </varlistentry>
5362
5363 <varlistentry>
5364 <term>
5365 <computeroutput>--existing</computeroutput>
5366 </term>
5367
5368 <listitem>
5369 <para>
5370 Perform the clone operation to an already existing
5371 destination medium. Only the portion of the source medium
5372 which fits into the destination medium is copied. This means
5373 if the destination medium is smaller than the source only a
5374 part of it is copied, and if the destination medium is
5375 larger than the source the remaining part of the destination
5376 medium is unchanged.
5377 </para>
5378 </listitem>
5379 </varlistentry>
5380
5381 </variablelist>
5382
5383 <note>
5384 <para>
5385 For compatibility with earlier versions of VirtualBox, the
5386 "clonevdi" and "clonehd" commands are still supported and mapped
5387 internally to the "clonehd disk" command.
5388 </para>
5389 </note>
5390
5391 </sect1>
5392
5393 <sect1 id="vboxmanage-mediumproperty">
5394
5395 <title>VBoxManage mediumproperty</title>
5396
5397 <para>
5398 This command sets up, gets or deletes a medium property. The
5399 syntax is as follows:
5400 </para>
5401
5402<screen>VBoxManage mediumproperty [disk|dvd|floppy] set &lt;uuid|filename&gt;
5403 &lt;property&gt; &lt;value&gt;</screen>
5404
5405 <itemizedlist>
5406
5407 <listitem>
5408 <para>
5409 Use <computeroutput>&lt;disk|dvd|floppy&gt;</computeroutput>
5410 to optionally specify the type of medium: disk (hard drive),
5411 dvd or floppy.
5412 </para>
5413 </listitem>
5414
5415 <listitem>
5416 <para>
5417 Use <computeroutput>&lt;uuid|filename&gt;</computeroutput> to
5418 supply either the uuid or absolute path of the medium/image to
5419 be encrypted.
5420 </para>
5421 </listitem>
5422
5423 <listitem>
5424 <para>
5425 Use <computeroutput>&lt;property&gt;</computeroutput> to
5426 supply the name of the property.
5427 </para>
5428 </listitem>
5429
5430 <listitem>
5431 <para>
5432 Use <computeroutput>&lt;value&gt;</computeroutput> to supply
5433 the property value.
5434 </para>
5435 </listitem>
5436
5437 </itemizedlist>
5438
5439<screen>VBoxManage mediumproperty [disk|dvd|floppy] get &lt;uuid|filename&gt;
5440 &lt;property&gt;</screen>
5441
5442 <itemizedlist>
5443
5444 <listitem>
5445 <para>
5446 Use <computeroutput>&lt;disk|dvd|floppy&gt;</computeroutput>
5447 to optionally specify the type of medium: disk (hard drive),
5448 dvd or floppy.
5449 </para>
5450 </listitem>
5451
5452 <listitem>
5453 <para>
5454 Use <computeroutput>&lt;uuid|filename&gt;</computeroutput> to
5455 supply either the uuid or absolute path of the medium/image to
5456 be encrypted.
5457 </para>
5458 </listitem>
5459
5460 <listitem>
5461 <para>
5462 Use <computeroutput>&lt;property&gt;</computeroutput> to
5463 supply the name of the property.
5464 </para>
5465 </listitem>
5466
5467 </itemizedlist>
5468
5469<screen>VBoxManage mediumproperty [disk|dvd|floppy] delete &lt;uuid|filename&gt;
5470 &lt;property&gt;</screen>
5471
5472 <itemizedlist>
5473
5474 <listitem>
5475 <para>
5476 Use <computeroutput>&lt;disk|dvd|floppy&gt;</computeroutput>
5477 to optionally specify the type of medium: disk (hard drive),
5478 dvd or floppy.
5479 </para>
5480 </listitem>
5481
5482 <listitem>
5483 <para>
5484 Use <computeroutput>&lt;uuid|filename&gt;</computeroutput> to
5485 supply either the uuid or absolute path of the medium/image.
5486 </para>
5487 </listitem>
5488
5489 <listitem>
5490 <para>
5491 Use <computeroutput>&lt;property&gt;</computeroutput> to
5492 supply the name of the property.
5493 </para>
5494 </listitem>
5495
5496 </itemizedlist>
5497
5498 </sect1>
5499
5500 <sect1 id="vboxmanage-encryptmedium">
5501
5502 <title>VBoxManage encryptmedium</title>
5503
5504 <para>
5505 This command is used to create a DEK encrypted medium/image. See
5506 <xref linkend="diskencryption-encryption" />.
5507 </para>
5508
5509 <para>
5510 The syntax is as follows:
5511 </para>
5512
5513<screen>VBoxManage encryptmedium &lt;uuid|filename&gt;
5514 [--newpassword &lt;file|-&gt;]
5515 [--oldpassword &lt;file|-&gt;]
5516 [--cipher &lt;cipher id&gt;]
5517 [--newpasswordid &lt;password id&gt;]</screen>
5518
5519 <itemizedlist>
5520
5521 <listitem>
5522 <para>
5523 use <computeroutput>&lt;uuid|filename&gt;</computeroutput> to
5524 supply the uuid or absolute path of the medium/image to be
5525 encrypted.
5526 </para>
5527 </listitem>
5528
5529 <listitem>
5530 <para>
5531 Use <computeroutput>--newpassword
5532 &lt;file|-&gt;</computeroutput> to supply a new encryption
5533 password; either specify the absolute pathname of a password
5534 file on the host operating system, or
5535 <computeroutput>-</computeroutput> to prompt you for the
5536 password on the command line. Always use the
5537 <computeroutput>--newpasswordid</computeroutput> option with
5538 this option.
5539 </para>
5540 </listitem>
5541
5542 <listitem>
5543 <para>
5544 use <computeroutput>--oldpassword
5545 &lt;file|-&gt;</computeroutput> to supply any old encryption
5546 password; either specify the absolute pathname of a password
5547 file on the host operating system, or
5548 <computeroutput>-</computeroutput> to prompt you for the old
5549 password on the command line.
5550 </para>
5551
5552 <para>
5553 Use this option to gain access to an encrypted medium/image to
5554 change its password using
5555 <computeroutput>--newpassword</computeroutput> and/or change
5556 its encryption using
5557 <computeroutput>--cipher</computeroutput>.
5558 </para>
5559 </listitem>
5560
5561 <listitem>
5562 <para>
5563 Use <computeroutput>--cipher &lt;cipher&gt;</computeroutput>
5564 to specify the cipher to use for encryption; this can be
5565 either <computeroutput>AES-XTS128-PLAIN64</computeroutput> or
5566 <computeroutput>AES-XTS256-PLAIN64</computeroutput>.
5567 </para>
5568
5569 <para>
5570 Use this option to change any existing encryption on the
5571 medium/image, or setup new encryption on it for the 1st time.
5572 </para>
5573 </listitem>
5574
5575 <listitem>
5576 <para>
5577 Use <computeroutput>--newpasswordid &lt;password
5578 id&gt;</computeroutput> to supply the new password identifier.
5579 This can be freely chosen by the user, and is used for correct
5580 identification when supplying multiple passwords during VM
5581 startup.
5582 </para>
5583
5584 <para>
5585 If the user uses the same password when encrypting multiple
5586 images and also the same password identifier, the user needs
5587 to supply the password only once during VM startup.
5588 </para>
5589 </listitem>
5590
5591 </itemizedlist>
5592
5593 </sect1>
5594
5595 <sect1 id="vboxmanage-checkmediumpwd">
5596
5597 <title>VBoxManage checkmediumpwd</title>
5598
5599 <para>
5600 This command is used to check the current encryption password on a
5601 DEK encrypted medium/image. See
5602 <xref linkend="diskencryption-encryption" />.
5603 </para>
5604
5605 <para>
5606 The syntax is as follows:
5607 </para>
5608
5609<screen>VBoxManage checkmediumpwd &lt;uuid|filename&gt;
5610 &lt;pwd file|-&gt;</screen>
5611
5612 <itemizedlist>
5613
5614 <listitem>
5615 <para>
5616 Use <computeroutput>&lt;uuid|filename&gt;</computeroutput> to
5617 supply the uuid or absolute path of the medium/image to be
5618 checked.
5619 </para>
5620 </listitem>
5621
5622 <listitem>
5623 <para>
5624 Use <computeroutput>&lt;pwd file|-&gt;</computeroutput> to
5625 supply the password identifier to be checked. Either specify
5626 the absolute pathname of a password file on the host operating
5627 system, or <computeroutput>-</computeroutput> to prompt you
5628 for the password on the command line.
5629 </para>
5630 </listitem>
5631
5632 </itemizedlist>
5633
5634 </sect1>
5635
5636 <sect1 id="vboxmanage-convertfromraw">
5637
5638 <title>VBoxManage convertfromraw</title>
5639
5640 <para>
5641 This command converts a raw disk image to a VirtualBox Disk Image
5642 (VDI) file. The syntax is as follows:
5643 </para>
5644
5645<screen>VBoxManage convertfromraw &lt;filename&gt; &lt;outputfile&gt;
5646 [--format VDI|VMDK|VHD]
5647 [--variant Standard,Fixed,Split2G,Stream,ESX]
5648 [--uuid &lt;uuid&gt;]
5649VBoxManage convertfromraw stdin &lt;outputfile&gt; &lt;bytes&gt;
5650 [--format VDI|VMDK|VHD]
5651 [--variant Standard,Fixed,Split2G,Stream,ESX]
5652 [--uuid &lt;uuid&gt;]</screen>
5653
5654 <para>
5655 where the parameters mean:
5656 </para>
5657
5658 <variablelist>
5659
5660 <varlistentry>
5661 <term>
5662 <computeroutput>--bytes</computeroutput>
5663 </term>
5664
5665 <listitem>
5666 <para>
5667 The size of the image file, in bytes, provided through
5668 stdin.
5669 </para>
5670 </listitem>
5671 </varlistentry>
5672
5673 <varlistentry>
5674 <term>
5675 <computeroutput>--format</computeroutput>
5676 </term>
5677
5678 <listitem>
5679 <para>
5680 Select the disk image format to create. Default is VDI.
5681 Other options are VMDK and VHD.
5682 </para>
5683 </listitem>
5684 </varlistentry>
5685
5686 <varlistentry>
5687 <term>
5688 <computeroutput>--variant</computeroutput>
5689 </term>
5690
5691 <listitem>
5692 <para>
5693 Allow to choose a file format variant for the output file.
5694 It is a comma-separated list of variant flags. Not all
5695 combinations are supported, and specifying inconsistent
5696 flags will result in an error message.
5697 </para>
5698 </listitem>
5699 </varlistentry>
5700
5701 <varlistentry>
5702 <term>
5703 <computeroutput>--uuid</computeroutput>
5704 </term>
5705
5706 <listitem>
5707 <para>
5708 Allow to specifiy the UUID of the output file.
5709 </para>
5710 </listitem>
5711 </varlistentry>
5712
5713 </variablelist>
5714
5715 <para>
5716 The second form forces VBoxManage to read the content for the disk
5717 image from standard input (useful for using that command in a
5718 pipe).
5719 </para>
5720
5721 <para>
5722 <note>
5723 <para>
5724 For compatibility with earlier versions of VirtualBox, the
5725 "convertdd" command is also supported and mapped internally to
5726 the "convertfromraw" command.
5727 </para>
5728 </note>
5729 </para>
5730
5731 </sect1>
5732
5733 <sect1 id="vboxmanage-extradata">
5734
5735 <title>VBoxManage getextradata/setextradata</title>
5736
5737 <para>
5738 These commands let you attach and retrieve string data to a
5739 virtual machine or to a VirtualBox configuration, by specifying
5740 <computeroutput>global</computeroutput> instead of a virtual
5741 machine name. You must specify a key as a text string to associate
5742 the data with, which you can later use to retrieve it. For
5743 example:
5744 </para>
5745
5746<screen>VBoxManage setextradata Fedora5 installdate 2006.01.01
5747VBoxManage setextradata SUSE10 installdate 2006.02.02</screen>
5748
5749 <para>
5750 would associate the string "2006.01.01" with the key installdate
5751 for the virtual machine Fedora5, and "2006.02.02" on the machine
5752 SUSE10. You could retrieve the information as follows:
5753 </para>
5754
5755<screen>VBoxManage getextradata Fedora5 installdate</screen>
5756
5757 <para>
5758 which would return
5759 </para>
5760
5761<screen>VirtualBox Command Line Management Interface Version <replaceable>version-number</replaceable>
5762(C) 2005-2018 Oracle Corporation
5763All rights reserved.
5764
5765Value: 2006.01.01</screen>
5766
5767 <para>
5768 You could retrieve the information for all keys as follows:
5769 </para>
5770
5771<screen>VBoxManage getextradata Fedora5 enumerate</screen>
5772
5773 <para>
5774 To remove a key, the <computeroutput>setextradata</computeroutput>
5775 command must be run without specifying data, only the key. For
5776 example:
5777 </para>
5778
5779<screen>VBoxManage setextradata Fedora5 installdate</screen>
5780
5781 </sect1>
5782
5783 <sect1 id="vboxmanage-setproperty">
5784
5785 <title>VBoxManage setproperty</title>
5786
5787 <para>
5788 This command is used to change global settings which affect the
5789 entire VirtualBox installation. Some of these correspond to the
5790 settings in the "Global settings" dialog in the graphical user
5791 interface. The following properties are available:
5792 </para>
5793
5794 <variablelist>
5795
5796 <varlistentry>
5797 <term>
5798 <computeroutput>machinefolder</computeroutput>
5799 </term>
5800
5801 <listitem>
5802 <para>
5803 This specifies the default folder in which virtual machine
5804 definitions are kept. See <xref linkend="vboxconfigdata" />.
5805 </para>
5806 </listitem>
5807 </varlistentry>
5808
5809 <varlistentry>
5810 <term>
5811 <computeroutput>hwvirtexclusive</computeroutput>
5812 </term>
5813
5814 <listitem>
5815 <para>
5816 This specifies whether VirtualBox will make exclusive use of
5817 the hardware virtualization extensions (Intel VT-x or AMD-V)
5818 of the host system's processor. See
5819 <xref linkend="hwvirt" />. If you wish to share these
5820 extensions with other hypervisors running at the same time,
5821 you must disable this setting. Doing so has negative
5822 performance implications.
5823 </para>
5824 </listitem>
5825 </varlistentry>
5826
5827 <varlistentry>
5828 <term>
5829 <computeroutput>vrdeauthlibrary</computeroutput>
5830 </term>
5831
5832 <listitem>
5833 <para>
5834 This specifies which library to use when "external"
5835 authentication has been selected for a particular virtual
5836 machine. See <xref linkend="vbox-auth" />.
5837 </para>
5838 </listitem>
5839 </varlistentry>
5840
5841 <varlistentry>
5842 <term>
5843 <computeroutput>websrvauthlibrary</computeroutput>
5844 </term>
5845
5846 <listitem>
5847 <para>
5848 This specifies which library the web service uses to
5849 authenticate users. For details about the VirtualBox web
5850 service, please refer to the separate VirtualBox SDK
5851 reference. See <xref
5852 linkend="VirtualBoxAPI" />.
5853 </para>
5854 </listitem>
5855 </varlistentry>
5856
5857 <varlistentry>
5858 <term>
5859 <computeroutput>vrdeextpack</computeroutput>
5860 </term>
5861
5862 <listitem>
5863 <para>
5864 This specifies which library implements the VirtualBox
5865 Remote Desktop Extension.
5866 </para>
5867 </listitem>
5868 </varlistentry>
5869
5870 <varlistentry>
5871 <term>
5872 <computeroutput>loghistorycount</computeroutput>
5873 </term>
5874
5875 <listitem>
5876 <para>
5877 This selects how many rotated (old) VM logs are kept.
5878 </para>
5879 </listitem>
5880 </varlistentry>
5881
5882 <varlistentry>
5883 <term>
5884 <computeroutput>autostartdbpath</computeroutput>
5885 </term>
5886
5887 <listitem>
5888 <para>
5889 This selects the path to the autostart database. See
5890 <xref linkend="autostart" />.
5891 </para>
5892 </listitem>
5893 </varlistentry>
5894
5895 <varlistentry>
5896 <term>
5897 <computeroutput>defaultfrontend</computeroutput>
5898 </term>
5899
5900 <listitem>
5901 <para>
5902 This selects the global default VM frontend setting. See
5903 <xref linkend="vboxmanage-startvm" />.
5904 </para>
5905 </listitem>
5906 </varlistentry>
5907
5908 <varlistentry>
5909 <term>
5910 <computeroutput>logginglevel</computeroutput>
5911 </term>
5912
5913 <listitem>
5914 <para>
5915 This configures the VBoxSVC release logging details.
5916
5917 <footnote>
5918
5919 <para>
5920 <ulink url="http://www.virtualbox.org/wiki/VBoxLogging">http://www.virtualbox.org/wiki/VBoxLogging</ulink>.
5921 </para>
5922
5923 </footnote>
5924 </para>
5925 </listitem>
5926 </varlistentry>
5927
5928 </variablelist>
5929
5930 </sect1>
5931
5932 <sect1 id="vboxmanage-usbfilter">
5933
5934 <title>VBoxManage usbfilter add/modify/remove</title>
5935
5936<screen>VBoxManage usbfilter add &lt;index,0-N&gt;
5937 --target &lt;uuid|vmname&gt;global
5938 --name &lt;string&gt;
5939 --action ignore|hold (global filters only)
5940 [--active yes|no (yes)]
5941 [--vendorid &lt;XXXX&gt; (null)]
5942 [--productid &lt;XXXX&gt; (null)]
5943 [--revision &lt;IIFF&gt; (null)]
5944 [--manufacturer &lt;string&gt; (null)]
5945 [--product &lt;string&gt; (null)]
5946 [--remote yes|no (null, VM filters only)]
5947 [--serialnumber &lt;string&gt; (null)]
5948 [--maskedinterfaces &lt;XXXXXXXX&gt;]
5949 </screen>
5950
5951<screen>VBoxManage usbfilter modify &lt;index,0-N&gt;
5952 --target &lt;uuid|vmname&gt;global
5953 [--name &lt;string&gt;]
5954 [--action ignore|hold (global filters only)]
5955 [--active yes|no]
5956 [--vendorid &lt;XXXX&gt;]
5957 [--productid &lt;XXXX&gt;]
5958 [--revision &lt;IIFF&gt;]
5959 [--manufacturer &lt;string&gt;]
5960 [--product &lt;string&gt;]
5961 [--remote yes|no (null, VM filters only)]
5962 [--serialnumber &lt;string&gt;]
5963 [--maskedinterfaces &lt;XXXXXXXX&gt;]
5964 </screen>
5965
5966<screen>VBoxManage usbfilter remove &lt;index,0-N&gt;
5967 --target &lt;uuid|vmname&gt;global
5968 </screen>
5969
5970 <para>
5971 The <computeroutput>usbfilter</computeroutput> commands are used
5972 for working with USB filters in virtual machines, or global
5973 filters which affect the whole VirtualBox setup. Global filters
5974 are applied before machine-specific filters, and may be used to
5975 prevent devices from being captured by any virtual machine. Global
5976 filters are always applied in a particular order, and only the
5977 first filter which fits a device is applied. So for example, if
5978 the first global filter says to hold (make available) a particular
5979 Kingston memory stick device and the second to ignore all Kingston
5980 devices, that memory stick will be available to any machine with
5981 an appropriate filter, but no other Kingston device will.
5982 </para>
5983
5984 <para>
5985 When creating a USB filter using <computeroutput>usbfilter
5986 add</computeroutput>, you must supply three or four mandatory
5987 parameters. The index specifies the position in the list at which
5988 the filter should be placed. If there is already a filter at that
5989 position, then it and the following ones will be shifted back one
5990 place. Otherwise the new filter will be added onto the end of the
5991 list. The <computeroutput>target</computeroutput> parameter
5992 selects the virtual machine that the filter should be attached to
5993 or use "global" to apply it to all virtual machines.
5994 <computeroutput>name</computeroutput> is a name for the new filter
5995 and for global filters, <computeroutput>action</computeroutput>
5996 says whether to allow VMs access to devices that fit the filter
5997 description ("hold") or not to give them access ("ignore"). In
5998 addition, you should specify parameters to filter by. You can find
5999 the parameters for devices attached to your system using
6000 <computeroutput>VBoxManage list usbhost</computeroutput>. Finally,
6001 you can specify whether the filter should be active, and for local
6002 filters, whether they are for local devices, remote (over an RDP
6003 connection) or either.
6004 </para>
6005
6006 <para>
6007 When you modify a USB filter using <computeroutput>usbfilter
6008 modify</computeroutput>, you must specify the filter by index and
6009 by target, which is either a virtual machine or "global". See the
6010 output of <computeroutput>VBoxManage list
6011 usbfilters</computeroutput> to find global filter indexes and
6012 <computeroutput>VBoxManage showvminfo</computeroutput> to find
6013 indexes for individual machines. The properties which can be
6014 changed are the same as for <computeroutput>usbfilter
6015 add</computeroutput>. To remove a filter, use
6016 <computeroutput>usbfilter remove</computeroutput> and specify the
6017 index and the target.
6018 </para>
6019
6020 <para>
6021 The following is a list of the additional
6022 <computeroutput>usbfilter add</computeroutput> and
6023 <computeroutput>usbfilter modify</computeroutput> options, with
6024 detailed explanations on how to use them.
6025 </para>
6026
6027 <itemizedlist>
6028
6029 <listitem>
6030 <para>
6031 <computeroutput>--action ignore|hold</computeroutput>Specifies
6032 whether devices that fit the filter description are allowed
6033 access by machines ("hold"), or have access denied ("ignore").
6034 Applies to global filters only.
6035 </para>
6036 </listitem>
6037
6038 <listitem>
6039 <para>
6040 <computeroutput>--active yes|no</computeroutput>Specifies
6041 whether the USB Filter is active or temporarily disabled. For
6042 <computeroutput>usbfilter create</computeroutput> the default
6043 is active.
6044 </para>
6045 </listitem>
6046
6047 <listitem>
6048 <para>
6049 <computeroutput>--vendorid
6050 &lt;XXXX&gt;|""</computeroutput>Specifies a vendor ID filter -
6051 the string representation for the exact matching has the form
6052 XXXX, where X is the hex digit (including leading zeroes).
6053 </para>
6054 </listitem>
6055
6056 <listitem>
6057 <para>
6058 <computeroutput>--productid
6059 &lt;XXXX&gt;|""</computeroutput>Specifies a product ID filter
6060 - The string representation for the exact matching has the
6061 form XXXX, where X is the hex digit (including leading
6062 zeroes).
6063 </para>
6064 </listitem>
6065
6066 <listitem>
6067 <para>
6068 <computeroutput>--revision
6069 &lt;IIFF&gt;|""</computeroutput>Specifies a revision ID filter
6070 - the string representation for the exact matching has the
6071 form IIFF, where I is the decimal digit of the integer part of
6072 the revision, and F is the decimal digit of its fractional
6073 part (including leading and trailing zeros). Note that for
6074 interval filters, it's best to use the hex form, because the
6075 revision is stored as a 16 bit packed BCD value; so the
6076 expression int:0x0100-0x0199 will match any revision from 1.0
6077 to 1.99 inclusive.
6078 </para>
6079 </listitem>
6080
6081 <listitem>
6082 <para>
6083 <computeroutput>--manufacturer
6084 &lt;string&gt;|""</computeroutput>Specifies a manufacturer ID
6085 filter, as a string.
6086 </para>
6087 </listitem>
6088
6089 <listitem>
6090 <para>
6091 <computeroutput>--product
6092 &lt;string&gt;|""</computeroutput>Specifies a product ID
6093 filter, as a string.
6094 </para>
6095 </listitem>
6096
6097 <listitem>
6098 <para>
6099 <computeroutput>--remote yes|no""</computeroutput>Specifies a
6100 remote filter - indicating whether the device is physically
6101 connected to a remote VRDE client or to a local host machine.
6102 Applies to VM filters only.
6103 </para>
6104 </listitem>
6105
6106 <listitem>
6107 <para>
6108 <computeroutput>--serialnumber
6109 &lt;string&gt;|""</computeroutput>Specifies a serial number
6110 filter, as a string.
6111 </para>
6112 </listitem>
6113
6114 <listitem>
6115 <para>
6116 <computeroutput>--maskedinterfaces
6117 &lt;XXXXXXXX&gt;</computeroutput>Specifies a masked interface
6118 filter, for hiding one or more USB interfaces from the guest.
6119 The value is a bit mask where the set bits correspond to the
6120 USB interfaces that should be hidden, or masked off. This
6121 feature only works on Linux hosts.
6122 </para>
6123 </listitem>
6124
6125 </itemizedlist>
6126
6127 </sect1>
6128
6129 <sect1 id="vboxmanage-sharedfolder">
6130
6131 <title>VBoxManage sharedfolder add/remove</title>
6132
6133<screen>
6134VBoxManage sharedfolder add &lt;uuid|vmname&gt;
6135 --name &lt;name&gt; --hostpath &lt;hostpath&gt;
6136 [--transient] [--readonly] [--automount]
6137</screen>
6138
6139 <para>
6140 This command allows you to share folders on the host computer with
6141 guest operating systems. For this, the guest systems must have a
6142 version of the VirtualBox Guest Additions installed which supports
6143 this functionality.
6144 </para>
6145
6146 <para>
6147 Parameters are as follows:
6148 </para>
6149
6150 <itemizedlist>
6151
6152 <listitem>
6153 <para>
6154 <computeroutput>&lt;uuid|vmname&gt;</computeroutput> Specifies
6155 the UUID or name of the VM whose guest operating system will
6156 be sharing folders with the host computer. Mandatory.
6157 </para>
6158 </listitem>
6159
6160 <listitem>
6161 <para>
6162 <computeroutput>--name &lt;name&gt;</computeroutput> Specifies
6163 the name of the share. Each share has a unique name within the
6164 namespace of the host operating system. Mandatory.
6165 </para>
6166 </listitem>
6167
6168 <listitem>
6169 <para>
6170 <computeroutput>-hostpath &lt;hostpath&gt;</computeroutput>
6171 Specifies the absolute path on the host operating system of
6172 the folder/directory to be shared with the guest operating
6173 system. Mandatory.
6174 </para>
6175 </listitem>
6176
6177 <listitem>
6178 <para>
6179 <computeroutput>-transient</computeroutput> Specifies that the
6180 share is 'transient', meaning that it can be added and removed
6181 at runtime and does not persist after the VM has stopped.
6182 Optional.
6183 </para>
6184 </listitem>
6185
6186 <listitem>
6187 <para>
6188 <computeroutput>-readonly</computeroutput> Specifies that the
6189 share has only read-only access to files at the host path.
6190 </para>
6191
6192 <para>
6193 By default, shared folders have read/write access to the files
6194 at the host path. More specifically, on Linux distros - shared
6195 folders are mounted with 770 io permissions with root user and
6196 vboxsf as the group, and using this option the io permissions
6197 change to 700. Optional.
6198 </para>
6199 </listitem>
6200
6201 <listitem>
6202 <para>
6203 <computeroutput>-automount</computeroutput> Specifies that the
6204 share will be automatically mounted. On Linux distros, this
6205 will be to either /media/USER/sf_&lt;name&gt; or
6206 /media/sf_&lt;name&gt; - depending on your guest OS. Where
6207 &lt;name&gt; is the share name. Optional.
6208 </para>
6209 </listitem>
6210
6211 </itemizedlist>
6212
6213<screen>
6214VBoxManage sharedfolder remove &lt;uuid|vmname&gt;
6215 --name &lt;name&gt; [--transient]
6216
6217</screen>
6218
6219 <para>
6220 This command allows you to delete shared folders on the host
6221 computer shares with the guest operating systems. For this, the
6222 guest systems must have a version of the VirtualBox Guest
6223 Additions installed which supports this functionality.
6224 </para>
6225
6226 <para>
6227 Parameters are as follows:
6228 </para>
6229
6230 <itemizedlist>
6231
6232 <listitem>
6233 <para>
6234 <computeroutput>&lt;uuid|vmname&gt;</computeroutput> Specifies
6235 the UUID or name of the VM whose guest operating system is
6236 sharing folders with the host computer. Mandatory.
6237 </para>
6238 </listitem>
6239
6240 <listitem>
6241 <para>
6242 <computeroutput>--name &lt;name&gt;</computeroutput> Specifies
6243 the name of the share to be removed. Each share has a unique
6244 name within the namespace of the host operating system.
6245 Mandatory.
6246 </para>
6247 </listitem>
6248
6249 <listitem>
6250 <para>
6251 <computeroutput>-transient</computeroutput> Specifies that the
6252 share is 'transient', meaning that it can be added and removed
6253 at runtime and does not persist after the VM has stopped.
6254 Optional.
6255 </para>
6256 </listitem>
6257
6258 </itemizedlist>
6259
6260 <para>
6261 Shared folders are described in <xref linkend="sharedfolders" />.
6262 </para>
6263
6264 </sect1>
6265
6266 <sect1 id="vboxmanage-guestproperty">
6267
6268 <title>VBoxManage guestproperty</title>
6269
6270 <para>
6271 The "guestproperty" commands allow you to get or set properties of
6272 a running virtual machine. See
6273 <xref linkend="guestadd-guestprops" /> for an introduction. As
6274 explained there, guest properties are arbitrary key/value string
6275 pairs which can be written to and read from by either the guest or
6276 the host, so they can be used as a low-volume communication
6277 channel for strings, provided that a guest is running and has the
6278 Guest Additions installed. In addition, a number of values whose
6279 keys begin with "/VirtualBox/" are automatically set and
6280 maintained by the Guest Additions.
6281 </para>
6282
6283 <para>
6284 The following subcommands are available, where
6285 <computeroutput>&lt;vm&gt;</computeroutput> can either be a VM
6286 name or a VM UUID, as with the other VBoxManage commands:
6287 </para>
6288
6289 <itemizedlist>
6290
6291 <listitem>
6292 <para>
6293 <computeroutput>enumerate &lt;vm&gt; [--patterns
6294 &lt;pattern&gt;]</computeroutput>: This lists all the guest
6295 properties that are available for the given VM, including the
6296 value. This list will be very limited if the guest's service
6297 process cannot be contacted, e.g. because the VM is not
6298 running or the Guest Additions are not installed.
6299 </para>
6300
6301 <para>
6302 If <computeroutput>--patterns &lt;pattern&gt;</computeroutput>
6303 is specified, it acts as a filter to only list properties that
6304 match the given pattern. The pattern can contain the following
6305 wildcard characters:
6306 </para>
6307
6308 <itemizedlist>
6309
6310 <listitem>
6311 <para>
6312 <computeroutput>*</computeroutput> (asterisk): represents
6313 any number of characters; for example,
6314 "<computeroutput>/VirtualBox*</computeroutput>" would
6315 match all properties beginning with "/VirtualBox".
6316 </para>
6317 </listitem>
6318
6319 <listitem>
6320 <para>
6321 <computeroutput>?</computeroutput> (question mark):
6322 represents a single arbitrary character; for example,
6323 "<computeroutput>fo?</computeroutput>" would match both
6324 "foo" and "for".
6325 </para>
6326 </listitem>
6327
6328 <listitem>
6329 <para>
6330 <computeroutput>|</computeroutput> (pipe symbol): can be
6331 used to specify multiple alternative patterns; for
6332 example, "<computeroutput>s*|t*</computeroutput>" would
6333 match anything starting with either "s" or "t".
6334 </para>
6335 </listitem>
6336
6337 </itemizedlist>
6338 </listitem>
6339
6340 <listitem>
6341 <para>
6342 <computeroutput>get &lt;vm&gt; &lt;property&gt;
6343 </computeroutput>: This retrieves the value of a single
6344 property only. If the property cannot be found (e.g. because
6345 the guest is not running), this will print
6346
6347<screen>No value set!</screen>
6348 </para>
6349 </listitem>
6350
6351 <listitem>
6352 <para>
6353 <computeroutput>set &lt;vm&gt; &lt;property&gt; [&lt;value&gt;
6354 [--flags &lt;flags&gt;]]</computeroutput>: This allows you to
6355 set a guest property by specifying the key and value. If
6356 <computeroutput>&lt;value&gt;</computeroutput> is omitted, the
6357 property is deleted. With
6358 <computeroutput>--flags</computeroutput>, you can specify
6359 additional behavior. You can combine several flags by
6360 separating them with commas.
6361 </para>
6362
6363 <itemizedlist>
6364
6365 <listitem>
6366 <para>
6367 <computeroutput>TRANSIENT</computeroutput>: The value will
6368 not be stored with the VM data when the VM exits.
6369 </para>
6370 </listitem>
6371
6372 <listitem>
6373 <para>
6374 <computeroutput>TRANSRESET</computeroutput>: The value
6375 will be deleted as soon as the VM restarts and/or exits.
6376 </para>
6377 </listitem>
6378
6379 <listitem>
6380 <para>
6381 <computeroutput>RDONLYGUEST</computeroutput>: The value
6382 can only be changed by the host, but the guest can only
6383 read it.
6384 </para>
6385 </listitem>
6386
6387 <listitem>
6388 <para>
6389 <computeroutput>RDONLYHOST</computeroutput>: The value can
6390 only be changed by the guest, but the host can only read
6391 it.
6392 </para>
6393 </listitem>
6394
6395 <listitem>
6396 <para>
6397 <computeroutput>READONLY</computeroutput>: The value
6398 cannot be changed at all.
6399 </para>
6400 </listitem>
6401
6402 </itemizedlist>
6403 </listitem>
6404
6405 <listitem>
6406 <para>
6407 <computeroutput>wait &lt;vm&gt; &lt;pattern&gt; --timeout
6408 &lt;timeout&gt;</computeroutput>: This waits for a particular
6409 value described by "pattern" to change or to be deleted or
6410 created. The pattern rules are the same as for the "enumerate"
6411 subcommand above.
6412 </para>
6413 </listitem>
6414
6415 <listitem>
6416 <para>
6417 <computeroutput>delete &lt;vm&gt;
6418 &lt;property&gt;</computeroutput>: Deletes a formerly set
6419 guest property.
6420 </para>
6421 </listitem>
6422
6423 </itemizedlist>
6424
6425 </sect1>
6426
6427 <sect1 id="vboxmanage-guestcontrol">
6428
6429 <title>VBoxManage guestcontrol</title>
6430
6431 <para>
6432 The <computeroutput>guestcontrol</computeroutput> commands enable
6433 control of the guest from the host. See
6434 <xref
6435 linkend="guestadd-guestcontrol" /> for an introduction.
6436 </para>
6437
6438 <para>
6439 guestcontrol has two sets of subcommands. The first set requires
6440 guest credentials to be specified, the second does not.
6441 </para>
6442
6443 <para>
6444 The first set of subcommands is of the form:
6445 </para>
6446
6447<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; &lt;sub-command&gt;
6448 [--username &lt;name&gt; ]
6449 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
6450 [--domain &lt;domain&gt; ]
6451 [-v|--verbose] [-q|quiet] ...
6452 </screen>
6453
6454 <para>
6455 The "common-options" are:
6456 </para>
6457
6458<screen>
6459 [--username &lt;name&gt; ]
6460 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
6461 [--domain &lt;domain&gt; ]
6462 [-v|--verbose] [-q|quiet]
6463 </screen>
6464
6465 <para>
6466 Where details of the common options for the first set of
6467 subcommands are:
6468 </para>
6469
6470 <variablelist>
6471
6472 <varlistentry>
6473 <term>
6474 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
6475 </term>
6476
6477 <listitem>
6478 <para>
6479 Specifies the VM UUID or VM name. Mandatory.
6480 </para>
6481 </listitem>
6482 </varlistentry>
6483
6484 <varlistentry>
6485 <term>
6486 <computeroutput>--username &lt;name&gt;</computeroutput>
6487 </term>
6488
6489 <listitem>
6490 <para>
6491 Specifies the user name on guest OS under which the process
6492 should run. This user name must already exist on the guest
6493 OS. If unspecified, the host user name is used. Optional
6494 </para>
6495 </listitem>
6496 </varlistentry>
6497
6498 <varlistentry>
6499 <term>
6500 <computeroutput>--passwordfile
6501 &lt;file&gt;|--password</computeroutput>
6502 </term>
6503
6504 <listitem>
6505 <para>
6506 Specifies the absolute path on guest file system of password
6507 file containing the password for the specified user account
6508 or password for the specified user account. Optional. If
6509 both are omitted, empty password is assumed.
6510 </para>
6511 </listitem>
6512 </varlistentry>
6513
6514 <varlistentry>
6515 <term>
6516 <computeroutput>--domain &lt;domain&gt;</computeroutput>
6517 </term>
6518
6519 <listitem>
6520 <para>
6521 User domain for Windows guests. Optional.
6522 </para>
6523 </listitem>
6524 </varlistentry>
6525
6526 <varlistentry>
6527 <term>
6528 <computeroutput>-v|--verbose</computeroutput>
6529 </term>
6530
6531 <listitem>
6532 <para>
6533 Makes the subcommand execution more verbose. Optional
6534 </para>
6535 </listitem>
6536 </varlistentry>
6537
6538 <varlistentry>
6539 <term>
6540 <computeroutput>-q|--quiet</computeroutput>
6541 </term>
6542
6543 <listitem>
6544 <para>
6545 Makes the subcommand execution quieter. Optional.
6546 </para>
6547 </listitem>
6548 </varlistentry>
6549
6550 </variablelist>
6551
6552 <para>
6553 The first set of subcommands:
6554 </para>
6555
6556 <itemizedlist>
6557
6558 <listitem>
6559 <para>
6560 <emphasis role="bold"><computeroutput>run</computeroutput></emphasis>
6561 Executes a guest program - forwarding stdout, stderr and stdin
6562 to/from the host until it completes.
6563 </para>
6564
6565<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; run [common-options]
6566 --exe &lt;path to executable&gt; [--timeout &lt;msec&gt;]
6567 [-E|--putenv &lt;NAME&gt;[=&lt;VALUE&gt;]] [--unquoted-args]
6568 [--ignore-operhaned-processes] [--profile]
6569 [--no-wait-stdout|--wait-stdout]
6570 [--no-wait-stderr|--wait-stderr]
6571 [--dos2unix] [--unix2dos]
6572 -- &lt;program/arg0&gt; [argument1] ... [argumentN]]
6573 </screen>
6574
6575 <variablelist>
6576
6577 <varlistentry>
6578 <term>
6579 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
6580 </term>
6581
6582 <listitem>
6583 <para>
6584 Specifies the VM UUID or VM name. Mandatory.
6585 </para>
6586 </listitem>
6587 </varlistentry>
6588
6589 <varlistentry>
6590 <term>
6591 <computeroutput>--exe &lt;path to
6592 executable&gt;</computeroutput>
6593 </term>
6594
6595 <listitem>
6596 <para>
6597 Specifies the absolute path of the executable on the
6598 guest OS file system. Mandatory. e.g.:
6599 <computeroutput>C:\Windows\System32\calc.exe</computeroutput>.
6600 </para>
6601 </listitem>
6602 </varlistentry>
6603
6604 <varlistentry>
6605 <term>
6606 <computeroutput>--timeout &lt;msec&gt;</computeroutput>
6607 </term>
6608
6609 <listitem>
6610 <para>
6611 Specifies the maximum time (microseconds) that the
6612 executable can run, during which VBoxManage receives its
6613 output. Optional. If unspecified, VBoxManage waits
6614 indefinitely for the process to end, or an error occurs.
6615 </para>
6616 </listitem>
6617 </varlistentry>
6618
6619 <varlistentry>
6620 <term>
6621 <computeroutput>-E|--putenv &lt;NAME&gt;=&lt;VALUE&gt;
6622 </computeroutput>
6623 </term>
6624
6625 <listitem>
6626 <para>
6627 Sets/modifies/unsets environment variable(s) in the
6628 environment in which the program will run. Optional.
6629 </para>
6630
6631 <para>
6632 The guest process is created with the standard default
6633 guest OS environment. Use this option to modify that
6634 default environment. To set/modify a variable use:
6635 <computeroutput>&lt;NAME&gt;=&lt;VALUE&gt;</computeroutput>.
6636 To unset a variable use:
6637 <computeroutput>&lt;NAME&gt;=</computeroutput>
6638 </para>
6639
6640 <para>
6641 Any spaces in names/values should be enclosed by quotes.
6642 </para>
6643
6644 <para>
6645 To set/modify/unset multiple variables, use multiple
6646 instances of the
6647 <computeroutput>--E|--putenv</computeroutput> option.
6648 </para>
6649 </listitem>
6650 </varlistentry>
6651
6652 <varlistentry>
6653 <term>
6654 <computeroutput>--unquoted-args</computeroutput>
6655 </term>
6656
6657 <listitem>
6658 <para>
6659 Disables escaped double quoting (e.g. \"fred\") on
6660 arguments passed to the executed program. Optional.
6661 </para>
6662 </listitem>
6663 </varlistentry>
6664
6665 <varlistentry>
6666 <term>
6667 <computeroutput>--ignore-operhaned-processes</computeroutput>
6668 </term>
6669
6670 <listitem>
6671 <para>
6672 Ignore orphaned processes. Not yet implemented.
6673 Optional.
6674 </para>
6675 </listitem>
6676 </varlistentry>
6677
6678 <varlistentry>
6679 <term>
6680 <computeroutput>--profile</computeroutput>
6681 </term>
6682
6683 <listitem>
6684 <para>
6685 Use Profile. Not yet implemented. Optional.
6686 </para>
6687 </listitem>
6688 </varlistentry>
6689
6690 <varlistentry>
6691 <term>
6692 <computeroutput>--no-wait-stdout|--wait-stdout</computeroutput>
6693 </term>
6694
6695 <listitem>
6696 <para>
6697 Does not wait/waits until the guest process ends and
6698 receives its exit code and reason/flags. In the case of
6699 --wait-stdout - while the process runs, VBoxManage
6700 receives its stdout. Optional.
6701 </para>
6702 </listitem>
6703 </varlistentry>
6704
6705 <varlistentry>
6706 <term>
6707 <computeroutput>--no-wait-stderr|--wait-stderr</computeroutput>
6708 </term>
6709
6710 <listitem>
6711 <para>
6712 Does not wait/waits until the guest process ends and
6713 receives its exit code and reason/flags. In case of
6714 --wait-stderr - while the process runs, VBoxManage
6715 receives its stderr. Optional.
6716 </para>
6717 </listitem>
6718 </varlistentry>
6719
6720 <varlistentry>
6721 <term>
6722 <computeroutput>--dos2unix</computeroutput>
6723 </term>
6724
6725 <listitem>
6726 <para>
6727 Converts output from DOS/Windows guests to
6728 UNIX/Linux-compatible line endings, CR + LF to LF. Not
6729 yet implemented. Optional.
6730 </para>
6731 </listitem>
6732 </varlistentry>
6733
6734 <varlistentry>
6735 <term>
6736 <computeroutput>--unix2dos</computeroutput>
6737 </term>
6738
6739 <listitem>
6740 <para>
6741 Converts output from a UNIX/Linux guests to
6742 DOS/Windows-compatible line endings, LF to CR + LF. Not
6743 yet implemented. Optional.
6744 </para>
6745 </listitem>
6746 </varlistentry>
6747
6748 <varlistentry>
6749 <term>
6750 <computeroutput>[-- &lt;program/arg0&gt;
6751 [&lt;argument1&gt;] ...
6752 [&lt;argumentN&gt;]]</computeroutput>
6753 </term>
6754
6755 <listitem>
6756 <para>
6757 Specifies program name, followed by one or more
6758 arguments to pass to the program. Optional.
6759 </para>
6760
6761 <para>
6762 Note: Any spaces in arguments should be enclosed by
6763 quotes.
6764 </para>
6765 </listitem>
6766 </varlistentry>
6767
6768 </variablelist>
6769
6770 <para>
6771 <note>
6772 <para>
6773 On Windows there are certain limitations for graphical
6774 applications; please see <xref linkend="KnownIssues" />
6775 for more information.
6776 </para>
6777 </note>
6778
6779 Examples:
6780
6781<screen>VBoxManage --nologo guestcontrol "My VM" run --exe "/bin/ls"
6782 --username foo --passwordfile bar.txt --wait-exit --wait-stdout -- -l /usr</screen>
6783
6784<screen>VBoxManage --nologo guestcontrol "My VM" run --exe "c:\\windows\\system32\\ipconfig.exe"
6785 --username foo --passwordfile bar.txt --wait-exit --wait-stdout</screen>
6786
6787 Note that the double backslashes in the second example are
6788 only required on Unix hosts.
6789 </para>
6790
6791 <para>
6792 <note>
6793 <para>
6794 For certain commands a user name of an existing user
6795 account on the guest must be specified; anonymous
6796 executions are not supported for security reasons. A user
6797 account password, however, is optional and depends on the
6798 guest's OS security policy or rules. If no password is
6799 specified for a given user name, an empty password will be
6800 used. On certain OSes like Windows the security policy may
6801 needs to be adjusted in order to allow user accounts with
6802 an empty password set. Also, global domain rules might
6803 apply and therefore cannot be changed.
6804 </para>
6805 </note>
6806 </para>
6807
6808 <para>
6809 Starting at VirtualBox 4.1.2 guest process execution by
6810 default is limited to serve up to 5 guest processes at a time.
6811 If a new guest process gets started which would exceed this
6812 limit, the oldest not running guest process will be discarded
6813 in order to be able to run that new process. Also, retrieving
6814 output from this old guest process will not be possible
6815 anymore then. If all 5 guest processes are still active and
6816 running, starting a new guest process will result in an
6817 appropriate error message.
6818 </para>
6819
6820 <para>
6821 To raise or lower the guest process execution limit, either
6822 the guest property
6823 <computeroutput>/VirtualBox/GuestAdd/VBoxService/--control-procs-max-kept</computeroutput>
6824 or VBoxService' command line by specifying
6825 <computeroutput>--control-procs-max-kept</computeroutput>
6826 needs to be modified. A restart of the guest OS is required
6827 afterwards. To serve unlimited guest processes, a value of
6828 <computeroutput>0</computeroutput> needs to be set (not
6829 recommended).
6830 </para>
6831 </listitem>
6832
6833 <listitem>
6834 <para>
6835 <emphasis role="bold"><computeroutput>start</computeroutput></emphasis>
6836 Executes a guest program until it completes.
6837 </para>
6838
6839<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; start [common-options]
6840 [--exe &lt;path to executable&gt;] [--timeout &lt;msec&gt;]
6841 [-E|--putenv &lt;NAME&gt;[=&lt;VALUE&gt;]] [--unquoted-args]
6842 [--ignore-operhaned-processes] [--profile]
6843 -- &lt;program/arg0&gt; [argument1] ... [argumentN]]
6844 </screen>
6845
6846 <para>
6847 Where the options are:
6848 </para>
6849
6850 <variablelist>
6851
6852 <varlistentry>
6853 <term>
6854 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
6855 </term>
6856
6857 <listitem>
6858 <para>
6859 Specifies the VM UUID or VM name. Mandatory.
6860 </para>
6861 </listitem>
6862 </varlistentry>
6863
6864 <varlistentry>
6865 <term>
6866 <computeroutput>--exe &lt;path to
6867 executable&gt;</computeroutput>
6868 </term>
6869
6870 <listitem>
6871 <para>
6872 Specifies the absolute path of the executable on the
6873 guest OS file system. Mandatory. e.g.:
6874 <computeroutput>C:\Windows\System32\calc.exe</computeroutput>
6875 </para>
6876 </listitem>
6877 </varlistentry>
6878
6879 <varlistentry>
6880 <term>
6881 <computeroutput>--timeout &lt;msec&gt;</computeroutput>
6882 </term>
6883
6884 <listitem>
6885 <para>
6886 Specifies the maximum time (microseconds) that the
6887 executable can run. Optional. If unspecified, VBoxManage
6888 waits indefinitely for the process to end, or an error
6889 occurs.
6890 </para>
6891 </listitem>
6892 </varlistentry>
6893
6894 <varlistentry>
6895 <term>
6896 <computeroutput>-E|--putenv &lt;NAME&gt;=&lt;VALUE&gt;
6897 </computeroutput>
6898 </term>
6899
6900 <listitem>
6901 <para>
6902 Sets/modifies/unsets environment variable(s) in the
6903 environment in which the program will run. Optional.
6904 </para>
6905
6906 <para>
6907 The guest process is created with the standard default
6908 guest OS environment. Use this option to modify that
6909 default environment. To set/modify a variable use:
6910 <computeroutput>&lt;NAME&gt;=&lt;VALUE&gt;</computeroutput>.
6911 To unset a variable use:
6912 <computeroutput>&lt;NAME&gt;=</computeroutput>
6913 </para>
6914
6915 <para>
6916 Any spaces in names/values should be enclosed by quotes.
6917 </para>
6918
6919 <para>
6920 To set/modify/unset multiple variables, use multiple
6921 instances of the
6922 <computeroutput>--E|--putenv</computeroutput> option.
6923 </para>
6924 </listitem>
6925 </varlistentry>
6926
6927 <varlistentry>
6928 <term>
6929 <computeroutput>--unquoted-args</computeroutput>
6930 </term>
6931
6932 <listitem>
6933 <para>
6934 Disables escaped double quoting (e.g. \"fred\") on
6935 arguments passed to the executed program. Optional.
6936 </para>
6937 </listitem>
6938 </varlistentry>
6939
6940 <varlistentry>
6941 <term>
6942 <computeroutput>--ignore-operhaned-processes</computeroutput>
6943 </term>
6944
6945 <listitem>
6946 <para>
6947 Ignores orphaned processes. Not yet implemented.
6948 Optional.
6949 </para>
6950 </listitem>
6951 </varlistentry>
6952
6953 <varlistentry>
6954 <term>
6955 <computeroutput>--profile</computeroutput>
6956 </term>
6957
6958 <listitem>
6959 <para>
6960 Use a profile. Not yet implemented. Optional.
6961 </para>
6962 </listitem>
6963 </varlistentry>
6964
6965 <varlistentry>
6966 <term>
6967 <computeroutput>[-- &lt;program/arg0&gt;
6968 [&lt;argument1&gt;] ...
6969 [&lt;argumentN&gt;]]</computeroutput>
6970 </term>
6971
6972 <listitem>
6973 <para>
6974 Specifies program name, followed by one or more
6975 arguments to pass to the program. Optional.
6976 </para>
6977
6978 <para>
6979 Note: Any spaces in arguments should be enclosed by
6980 quotes.
6981 </para>
6982 </listitem>
6983 </varlistentry>
6984
6985 </variablelist>
6986
6987 <note>
6988 <para>
6989 On Windows there are certain limitations for graphical
6990 applications; please see <xref linkend="KnownIssues" /> for
6991 more information.
6992 </para>
6993 </note>
6994
6995 <para>
6996 Examples:
6997
6998<screen>VBoxManage --nologo guestcontrol "My VM" start --exe "/bin/ls"
6999 --username foo --passwordfile bar.txt --wait-exit --wait-stdout -- -l /usr</screen>
7000
7001<screen>VBoxManage --nologo guestcontrol "My VM" start --exe "c:\\windows\\system32\\ipconfig.exe"
7002 --username foo --passwordfile bar.txt --wait-exit --wait-stdout</screen>
7003
7004 Note that the double backslashes in the second example are
7005 only required on Unix hosts.
7006 </para>
7007
7008 <note>
7009 <para>
7010 For certain commands a user name of an existing user account
7011 on the guest must be specified; anonymous executions are not
7012 supported for security reasons. A user account password,
7013 however, is optional and depends on the guest's OS security
7014 policy or rules. If no password is specified for a given
7015 user name, an empty password will be used. On certain OSes
7016 like Windows the security policy may needs to be adjusted in
7017 order to allow user accounts with an empty password set.
7018 Also, global domain rules might apply and therefore cannot
7019 be changed.
7020 </para>
7021 </note>
7022
7023 <para>
7024 Starting at VirtualBox 4.1.2 guest process execution by
7025 default is limited to serve up to 5 guest processes at a time.
7026 If a new guest process gets started which would exceed this
7027 limit, the oldest not running guest process will be discarded
7028 in order to be able to run that new process. Also, retrieving
7029 output from this old guest process will not be possible
7030 anymore then. If all 5 guest processes are still active and
7031 running, starting a new guest process will result in an
7032 appropriate error message.
7033 </para>
7034
7035 <para>
7036 To raise or lower the guest process execution limit, either
7037 the guest property
7038 <computeroutput>/VirtualBox/GuestAdd/VBoxService/--control-procs-max-kept</computeroutput>
7039 or VBoxService' command line by specifying
7040 <computeroutput>--control-procs-max-kept</computeroutput>
7041 needs to be modified. A restart of the guest OS is required
7042 afterwards. To serve unlimited guest processes, a value of
7043 <computeroutput>0</computeroutput> needs to be set (not
7044 recommended).
7045 </para>
7046 </listitem>
7047
7048 <listitem>
7049 <para>
7050 <emphasis role="bold"><computeroutput>copyfrom</computeroutput></emphasis>
7051 Copies files from the guest to the host file system. (Note -
7052 only with Guest Additions 4.0 or later installed).
7053 </para>
7054
7055<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; copyfrom [common-options]
7056 [--follow] [--R|recursive]
7057 --target-directory &lt;host-dst-dir&gt;
7058 &lt;guest-src0&gt; [&lt;guest-src1&gt; [...]] </screen>
7059
7060 <para>
7061 Where the parameters are:
7062 </para>
7063
7064 <variablelist>
7065
7066 <varlistentry>
7067 <term>
7068 <computeroutput>&lt;uid|vmname&gt;</computeroutput>
7069 </term>
7070
7071 <listitem>
7072 <para>
7073 Specifies the VM UUID or VM name. Mandatory.
7074 </para>
7075 </listitem>
7076 </varlistentry>
7077
7078 <varlistentry>
7079 <term>
7080 <computeroutput>--follow</computeroutput>
7081 </term>
7082
7083 <listitem>
7084 <para>
7085 Enables symlink following on the guest file system.
7086 Optional.
7087 </para>
7088 </listitem>
7089 </varlistentry>
7090
7091 <varlistentry>
7092 <term>
7093 <computeroutput>-R|--recursive</computeroutput>
7094 </term>
7095
7096 <listitem>
7097 <para>
7098 Enables recursive copying of files/directories from the
7099 specified guest file system directory. Optional.
7100 </para>
7101 </listitem>
7102 </varlistentry>
7103
7104 <varlistentry>
7105 <term>
7106 <computeroutput>--target-directory
7107 &lt;host-dst-dir&gt;</computeroutput>
7108 </term>
7109
7110 <listitem>
7111 <para>
7112 Specifies the absolute path of the host file system
7113 destination directory. Mandatory. e.g.
7114 <computeroutput>C:\Temp</computeroutput>.
7115 </para>
7116 </listitem>
7117 </varlistentry>
7118
7119 <varlistentry>
7120 <term>
7121 <computeroutput>&lt;guest-src0&gt; [&lt;guest-src1&gt;
7122 [...]]</computeroutput>
7123 </term>
7124
7125 <listitem>
7126 <para>
7127 Specifies the absolute path(s) of guest file system
7128 file(s) to be copied. Mandatory. e.g.
7129 <computeroutput>C:\Windows\System32\calc.exe</computeroutput>.
7130 Wildcards can be used in the expression(s), e.g.
7131 <computeroutput>C:\Windows\System*\*.dll</computeroutput>.
7132 </para>
7133 </listitem>
7134 </varlistentry>
7135
7136 </variablelist>
7137 </listitem>
7138
7139 <listitem>
7140 <para>
7141 <emphasis role="bold"><computeroutput>copyto</computeroutput></emphasis>
7142 Copies files from the host to the guest file system. (Note -
7143 only with Guest Additions 4.0 or later installed).
7144 </para>
7145
7146<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; copyto [common-options]
7147 [--follow] [--R|recursive]
7148 --target-directory &lt;guest-dst&gt;
7149 &lt;host-src0&gt; [&lt;host-src1&gt; [...]] </screen>
7150
7151 <para>
7152 Where the parameters are:
7153 </para>
7154
7155 <variablelist>
7156
7157 <varlistentry>
7158 <term>
7159 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7160 </term>
7161
7162 <listitem>
7163 <para>
7164 Specifies the VM UUID or VM name. Mandatory.
7165 </para>
7166 </listitem>
7167 </varlistentry>
7168
7169 <varlistentry>
7170 <term>
7171 <computeroutput>--follow</computeroutput>
7172 </term>
7173
7174 <listitem>
7175 <para>
7176 Enables symlink following on the host file system.
7177 Optional.
7178 </para>
7179 </listitem>
7180 </varlistentry>
7181
7182 <varlistentry>
7183 <term>
7184 <computeroutput>-R|--recursive</computeroutput>
7185 </term>
7186
7187 <listitem>
7188 <para>
7189 Enables recursive copying of files/directories from the
7190 specified host file system directory(ies). Optional.
7191 </para>
7192 </listitem>
7193 </varlistentry>
7194
7195 <varlistentry>
7196 <term>
7197 <computeroutput>--target-directory
7198 &lt;guest-dst&gt;</computeroutput>
7199 </term>
7200
7201 <listitem>
7202 <para>
7203 Specifies the absolute path of the guest file system
7204 destination directory. Mandatory. e.g.
7205 <computeroutput>C:\Temp</computeroutput>.
7206 </para>
7207 </listitem>
7208 </varlistentry>
7209
7210 <varlistentry>
7211 <term>
7212 <computeroutput>&lt;host-src0&gt; [&lt;host-src1&gt;
7213 [...]]</computeroutput>
7214 </term>
7215
7216 <listitem>
7217 <para>
7218 Specifies the absolute path(s) of host file system
7219 file(s) to be copied. Mandatory. e.g.
7220 <computeroutput>C:\Windows\System32\calc.exe</computeroutput>.
7221 Wildcards can be used in the expression(s), e.g.
7222 <computeroutput>C:\Windows\System*\*.dll</computeroutput>.
7223 </para>
7224 </listitem>
7225 </varlistentry>
7226
7227 </variablelist>
7228 </listitem>
7229
7230 <listitem>
7231 <para>
7232 <emphasis role="bold"><computeroutput>md|mkdir|createdir|createdirectory</computeroutput></emphasis>
7233 Creates one or more directory(ies) on the guest file system.
7234 (Note - only with Guest Additions 4.0 or later installed).
7235 </para>
7236
7237<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; md|mkdir|createdir|createdirectory [common-options]
7238 [--parents] [--mode &lt;mode&gt;]
7239 &lt;guest-dir0&gt; [&lt;guest-dir1&gt; [...]] </screen>
7240
7241 <para>
7242 Where the parameters are:
7243 </para>
7244
7245 <variablelist>
7246
7247 <varlistentry>
7248 <term>
7249 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7250 </term>
7251
7252 <listitem>
7253 <para>
7254 Specifies the VM UUID or VM name. Mandatory.
7255 </para>
7256 </listitem>
7257 </varlistentry>
7258
7259 <varlistentry>
7260 <term>
7261 <computeroutput>--parents</computeroutput>
7262 </term>
7263
7264 <listitem>
7265 <para>
7266 Creates any absent parent directory(ies) of the
7267 specified directory. Optional.
7268 </para>
7269
7270 <para>
7271 e.g. If specified directory is
7272 <computeroutput>D:\Foo\Bar</computeroutput> and
7273 <computeroutput>D:\Foo</computeroutput> is absent, it
7274 will be created. In such a case, had the
7275 <computeroutput>--parents</computeroutput> option not
7276 been used, this command would have failed.
7277 </para>
7278 </listitem>
7279 </varlistentry>
7280
7281 <varlistentry>
7282 <term>
7283 <computeroutput>--mode &lt;mode&gt;</computeroutput>
7284 </term>
7285
7286 <listitem>
7287 <para>
7288 Specifies the permission mode on the specified
7289 directory(ies) (and any parents, where
7290 <computeroutput>--parents</computeroutput> option used).
7291 Currently octal modes (e.g.
7292 <computeroutput>0755</computeroutput>) only are
7293 supported.
7294 </para>
7295 </listitem>
7296 </varlistentry>
7297
7298 <varlistentry>
7299 <term>
7300 <computeroutput>&lt;guest-dir0&gt; [&lt;guest-dir1&gt;
7301 [...]]</computeroutput>
7302 </term>
7303
7304 <listitem>
7305 <para>
7306 Specifies list of absolute path(s) of directory(ies) to
7307 be created on guest file system. Mandatory. e.g.
7308 <computeroutput>D:\Foo\Bar</computeroutput>.
7309 </para>
7310
7311 <para>
7312 All parent directories must already exist unless switch
7313 <computeroutput>--parents</computeroutput> used. (e.g.
7314 in the above example
7315 <computeroutput>D:\Foo</computeroutput>). The specified
7316 user must have sufficient rights to create the specified
7317 directory(ies), and any parents that need to be created.
7318 </para>
7319 </listitem>
7320 </varlistentry>
7321
7322 </variablelist>
7323 </listitem>
7324
7325 <listitem>
7326 <para>
7327 <emphasis role="bold"><computeroutput>rmdir|removedir|removedirectory</computeroutput></emphasis>
7328 Deletes specified guest file system directories. (Only with
7329 installed Guest Additions 4.3.2 and later).
7330 </para>
7331
7332<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; rmdir|removedir|removedirectory [common-options]
7333 [--recursive|-R]
7334 &lt;guest-dir0&gt; [&lt;guest-dir1&gt; [...]]
7335 </screen>
7336
7337 <para>
7338 Where the parameters are:
7339 </para>
7340
7341 <variablelist>
7342
7343 <varlistentry>
7344 <term>
7345 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7346 </term>
7347
7348 <listitem>
7349 <para>
7350 Specifies the VM UUID or VM name. Mandatory.
7351 </para>
7352 </listitem>
7353 </varlistentry>
7354
7355 <varlistentry>
7356 <term>
7357 <computeroutput>--recursive</computeroutput>
7358 </term>
7359
7360 <listitem>
7361 <para>
7362 Recursively removes directories and contents. Optional.
7363 </para>
7364 </listitem>
7365 </varlistentry>
7366
7367 <varlistentry>
7368 <term>
7369 <computeroutput>&lt;guest-dir0&gt; [&lt;guest-dir1&gt;
7370 [...]]</computeroutput>
7371 </term>
7372
7373 <listitem>
7374 <para>
7375 Specifies list of the absolute path(s) of directory(ies)
7376 to be deleted on guest file system. Mandatory. Wildcards
7377 are allowed. e.g.
7378 <computeroutput>D:\Foo\*Bar</computeroutput>. The
7379 specified user must have sufficient rights to delete the
7380 specified directory(ies).
7381 </para>
7382 </listitem>
7383 </varlistentry>
7384
7385 </variablelist>
7386 </listitem>
7387
7388 <listitem>
7389 <para>
7390 <emphasis role="bold"><computeroutput>rm|removefile</computeroutput></emphasis>
7391 Deletes specified files on the guest file system. (Only with
7392 installed Guest Additions 4.3.2 and later).
7393 </para>
7394
7395<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; rm|removefile [common-options]
7396 [-f|--force]
7397 &lt;guest-file0&gt; [&lt;guest-file1&gt; [...]] </screen>
7398
7399 <para>
7400 Where the parameters are:
7401 </para>
7402
7403 <variablelist>
7404
7405 <varlistentry>
7406 <term>
7407 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7408 </term>
7409
7410 <listitem>
7411 <para>
7412 Specifies the VM UUID or VM name. Mandatory.
7413 </para>
7414 </listitem>
7415 </varlistentry>
7416
7417 <varlistentry>
7418 <term>
7419 <computeroutput>-f|--force</computeroutput>
7420 </term>
7421
7422 <listitem>
7423 <para>
7424 Enforce operation (override any requests for
7425 confirmations). Optional.
7426 </para>
7427 </listitem>
7428 </varlistentry>
7429
7430 <varlistentry>
7431 <term>
7432 <computeroutput>&lt;guest-file0&gt; [&lt;guest-file1&gt;
7433 [...]]</computeroutput>
7434 </term>
7435
7436 <listitem>
7437 <para>
7438 Specifies list of absolute path(s) of file(s) to be
7439 deleted on guest file system. Mandatory. Wildcards are
7440 allowed. e.g.
7441 <computeroutput>D:\Foo\Bar\text*.txt</computeroutput>.
7442 The specified user should have sufficient rights to
7443 delete the specified file(s).
7444 </para>
7445 </listitem>
7446 </varlistentry>
7447
7448 </variablelist>
7449 </listitem>
7450
7451 <listitem>
7452 <para>
7453 <emphasis role="bold"><computeroutput>mv|move|ren|rename</computeroutput></emphasis>
7454 This subcommand renames file(s) and/or directory(ies) on the
7455 guest file system. (Only with installed Guest Additions 4.3.2
7456 and later).
7457 </para>
7458
7459<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; mv|move|ren|rename [common-options]
7460 &lt;guest-source0&gt; [&lt;guest-source1&gt; [...]] &lt;guest-dest&gt;</screen>
7461
7462 <para>
7463 Where the parameters are:
7464 </para>
7465
7466 <variablelist>
7467
7468 <varlistentry>
7469 <term>
7470 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7471 </term>
7472
7473 <listitem>
7474 <para>
7475 Specifies the VM UUID or VM name. Mandatory.
7476 </para>
7477 </listitem>
7478 </varlistentry>
7479
7480 <varlistentry>
7481 <term>
7482 <computeroutput>&lt;guest-source0&gt;
7483 [&lt;guest-source1&gt; [...]]</computeroutput>
7484 </term>
7485
7486 <listitem>
7487 <para>
7488 Specifies absolute path(s) of file(s) and/or single
7489 directory to be moved/renamed on guest file system.
7490 Mandatory. Wildcards are allowed in file names(s). The
7491 specified user should have sufficient rights to access
7492 the specified file(s).
7493 </para>
7494 </listitem>
7495 </varlistentry>
7496
7497 <varlistentry>
7498 <term>
7499 <computeroutput>&lt;dest&gt;</computeroutput>
7500 </term>
7501
7502 <listitem>
7503 <para>
7504 Specifies the absolute path of the destination
7505 file/directory to which the file(s) are to be moved.
7506 Mandatory. If only one file to be moved, &lt;dest&gt;
7507 can be file or directory, else it must be a directory.
7508 The specified user must have sufficient rights to access
7509 the destination file/directory.
7510 </para>
7511 </listitem>
7512 </varlistentry>
7513
7514 </variablelist>
7515 </listitem>
7516
7517 <listitem>
7518 <para>
7519 <emphasis role="bold"><computeroutput>mktemp|createtemp|createtemporary</computeroutput></emphasis>
7520 Creates a temporary file/directory on the guest file system,
7521 to assist subsequent copying of files from the host to the
7522 guest file systems. By default, the file/directory is created
7523 in the guest's platform specific temp directory. Not currently
7524 supported. (Only with installed Guest Additions 4.2 and
7525 later).
7526 </para>
7527
7528<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; mktemp|createtemp|createtemporary [common-options]
7529 [--directory] [--secure] [--mode &lt;mode&gt;] [--tmpdir &lt;directory&gt;]
7530 &lt;template&gt;
7531 </screen>
7532
7533 <para>
7534 The parameters are:
7535 </para>
7536
7537 <variablelist>
7538
7539 <varlistentry>
7540 <term>
7541 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7542 </term>
7543
7544 <listitem>
7545 <para>
7546 Specifies the VM UUID or VM name. Mandatory.
7547 </para>
7548 </listitem>
7549 </varlistentry>
7550
7551 <varlistentry>
7552 <term>
7553 <computeroutput>--directory</computeroutput>
7554 </term>
7555
7556 <listitem>
7557 <para>
7558 Creates a temporary directory instead of a file,
7559 specified by the &lt;template&gt; parameter. Optional.
7560 </para>
7561 </listitem>
7562 </varlistentry>
7563
7564 <varlistentry>
7565 <term>
7566 <computeroutput>--secure</computeroutput>
7567 </term>
7568
7569 <listitem>
7570 <para>
7571 Enforces secure file/directory creation. Optional. The
7572 permission mode is set to
7573 <computeroutput>0755</computeroutput>. Operation fails
7574 if it cannot be performed securely.
7575 </para>
7576 </listitem>
7577 </varlistentry>
7578
7579 <varlistentry>
7580 <term>
7581 <computeroutput>--mode &lt;mode&gt;</computeroutput>
7582 </term>
7583
7584 <listitem>
7585 <para>
7586 Specifies the permission mode of the specified
7587 directory. Optional. Currently only octal modes (e.g.
7588 <computeroutput>0755</computeroutput>) are supported.
7589 </para>
7590 </listitem>
7591 </varlistentry>
7592
7593 <varlistentry>
7594 <term>
7595 <computeroutput>--tmpdir
7596 &lt;directory&gt;</computeroutput>
7597 </term>
7598
7599 <listitem>
7600 <para>
7601 Specifies the absolute path of the directory on the
7602 guest file system into which the file/directory
7603 specified in will be created. Optional. If unspecified,
7604 the platform-specific temp directory is used.
7605 </para>
7606 </listitem>
7607 </varlistentry>
7608
7609 <varlistentry>
7610 <term>
7611 <computeroutput>&lt;template&gt;</computeroutput>
7612 </term>
7613
7614 <listitem>
7615 <para>
7616 Specifies a file name without a directory path,
7617 containing at least one sequence comprising three
7618 consecutive 'X' characters, or ending in 'X'. Mandatory.
7619 </para>
7620 </listitem>
7621 </varlistentry>
7622
7623 </variablelist>
7624 </listitem>
7625
7626 <listitem>
7627 <para>
7628 <emphasis role="bold"><computeroutput>stat</computeroutput></emphasis>
7629 Displays file or file system status(es) on the guest.
7630 </para>
7631
7632<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; stat [common-options]
7633 &lt;file0&gt; [&lt;file1&gt; [...]]</screen>
7634
7635 <para>
7636 Where the parameters are:
7637 </para>
7638
7639 <variablelist>
7640
7641 <varlistentry>
7642 <term>
7643 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7644 </term>
7645
7646 <listitem>
7647 <para>
7648 Specifies the VM UUID or VM name. Mandatory.
7649 </para>
7650 </listitem>
7651 </varlistentry>
7652
7653 <varlistentry>
7654 <term>
7655 <computeroutput>&lt;file0&gt; [&lt;file1&gt;
7656 [...]]</computeroutput>
7657 </term>
7658
7659 <listitem>
7660 <para>
7661 Specifies absolute path(s) of file(s) and/or file
7662 system(s) on guest file system. Mandatory. e.g.
7663 <computeroutput>/home/foo/a.out</computeroutput>. The
7664 specified user should have sufficient rights to access
7665 the specified file(s)/file system(s).
7666 </para>
7667 </listitem>
7668 </varlistentry>
7669
7670 </variablelist>
7671 </listitem>
7672
7673 </itemizedlist>
7674
7675 <para>
7676 The second set of subcommands is of the form:
7677 </para>
7678
7679<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; &lt;sub-command&gt;
7680 [-v|--verbose] [-q|quiet] ...
7681 </screen>
7682
7683 <para>
7684 The "common-options" are:
7685 </para>
7686
7687<screen>
7688 [-v|--verbose] [-q|--quiet]
7689 </screen>
7690
7691 <para>
7692 Where details of the common options for the second set of
7693 subcommands are:
7694 </para>
7695
7696 <variablelist>
7697
7698 <varlistentry>
7699 <term>
7700 <computeroutput>-v|--verbose</computeroutput>
7701 </term>
7702
7703 <listitem>
7704 <para>
7705 Makes the sub-command execution more verbose. Optional.
7706 </para>
7707 </listitem>
7708 </varlistentry>
7709
7710 <varlistentry>
7711 <term>
7712 <computeroutput>-q|--quiet</computeroutput>
7713 </term>
7714
7715 <listitem>
7716 <para>
7717 Makes the sub-command execution quieter. Optional.
7718 </para>
7719 </listitem>
7720 </varlistentry>
7721
7722 </variablelist>
7723
7724 <para>
7725 The second set of subcommands:
7726 </para>
7727
7728 <itemizedlist>
7729
7730 <listitem>
7731 <para>
7732 <emphasis role="bold"><computeroutput>list</computeroutput></emphasis>
7733 Lists guest control configuration and status data, e.g. open
7734 guest sessions, guest processes and files.
7735 </para>
7736
7737<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; list [common-opts]
7738 &lt;all|sessions|processes|files&gt; </screen>
7739
7740 <para>
7741 Where the parameters are:
7742 </para>
7743
7744 <variablelist>
7745
7746 <varlistentry>
7747 <term>
7748 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7749 </term>
7750
7751 <listitem>
7752 <para>
7753 Specifies the VM UUID or VM name. Mandatory.
7754 </para>
7755 </listitem>
7756 </varlistentry>
7757
7758 <varlistentry>
7759 <term>
7760 <computeroutput>all|sessions|processes|files</computeroutput>
7761 </term>
7762
7763 <listitem>
7764 <para>
7765 Indicates whether to list all available data or guest
7766 sessions, processes or files. Mandatory.
7767 </para>
7768 </listitem>
7769 </varlistentry>
7770
7771 </variablelist>
7772 </listitem>
7773
7774 <listitem>
7775 <para>
7776 <emphasis role="bold"><computeroutput>closeprocess</computeroutput></emphasis>
7777 Terminates guest processes specified by PID(s))running in
7778 guest session(s), specified by the session ID or name(s).
7779 </para>
7780
7781<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; closeprocess [common-options]
7782 --session-id &lt;ID&gt; | --session-name &lt;name or pattern&gt;
7783 &lt;PID0&gt; [&lt;PID1&gt; [...]] </screen>
7784
7785 <para>
7786 Where the parameters are:
7787 </para>
7788
7789 <variablelist>
7790
7791 <varlistentry>
7792 <term>
7793 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7794 </term>
7795
7796 <listitem>
7797 <para>
7798 Specifies the VM UUID or VM name. Mandatory.
7799 </para>
7800 </listitem>
7801 </varlistentry>
7802
7803 <varlistentry>
7804 <term>
7805 <computeroutput>--session-id &lt;ID&gt;</computeroutput>
7806 </term>
7807
7808 <listitem>
7809 <para>
7810 Specifies the guest session by its ID. Optional.
7811 </para>
7812 </listitem>
7813 </varlistentry>
7814
7815 <varlistentry>
7816 <term>
7817 <computeroutput>--session-name &lt;name or
7818 pattern&gt;</computeroutput>
7819 </term>
7820
7821 <listitem>
7822 <para>
7823 Specifies the guest session by its name, or multiple
7824 sessions using a pattern containing wildcards. Optional.
7825 </para>
7826 </listitem>
7827 </varlistentry>
7828
7829 <varlistentry>
7830 <term>
7831 <computeroutput>&lt;PID0&gt; [&lt;PID1&gt;
7832 [...]]</computeroutput>
7833 </term>
7834
7835 <listitem>
7836 <para>
7837 Specifies a list of process identifiers (PIDs) of guest
7838 processes to be terminated. Mandatory.
7839 </para>
7840 </listitem>
7841 </varlistentry>
7842
7843 </variablelist>
7844 </listitem>
7845
7846 <listitem>
7847 <para>
7848 <emphasis role="bold"><computeroutput>closesession</computeroutput></emphasis>
7849 Closes specified guest sessions, specified either by session
7850 ID or name.
7851 </para>
7852
7853<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; closesession [common-options]
7854 --session-id &lt;ID&gt; | --session-name &lt;name or pattern&gt; | --all </screen>
7855
7856 <para>
7857 Where the parameters are:
7858 </para>
7859
7860 <variablelist>
7861
7862 <varlistentry>
7863 <term>
7864 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7865 </term>
7866
7867 <listitem>
7868 <para>
7869 Specifies the VM UUID or VM name. Mandatory.
7870 </para>
7871 </listitem>
7872 </varlistentry>
7873
7874 <varlistentry>
7875 <term>
7876 <computeroutput>--session-id &lt;ID&gt;</computeroutput>
7877 </term>
7878
7879 <listitem>
7880 <para>
7881 Specifies the guest session to be closed by ID.
7882 Optional.
7883 </para>
7884 </listitem>
7885 </varlistentry>
7886
7887 <varlistentry>
7888 <term>
7889 <computeroutput>--session-name &lt;name or
7890 pattern&gt;</computeroutput>
7891 </term>
7892
7893 <listitem>
7894 <para>
7895 Specifies the guest session to be closed by name.
7896 Optional. Multiple sessions can be specified by using a
7897 pattern containing wildcards.
7898 </para>
7899 </listitem>
7900 </varlistentry>
7901
7902 <varlistentry>
7903 <term>
7904 <computeroutput>--all</computeroutput>
7905 </term>
7906
7907 <listitem>
7908 <para>
7909 Close all guest sessions. Optional.
7910 </para>
7911 </listitem>
7912 </varlistentry>
7913
7914 </variablelist>
7915 </listitem>
7916
7917 <listitem>
7918 <para>
7919 <emphasis role="bold"><computeroutput>updatega|updateadditions|updateguestadditions</computeroutput></emphasis>
7920 Ugrades Guest Additions already installed on the guest. (Only
7921 already installed Guest Additions 4.0 and later).
7922 </para>
7923
7924<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; updatega|updateadditions|updateguestadditions
7925 [common-options]
7926 [--source &lt;New .ISO path&gt;]
7927 [--wait-start]
7928 [-- &lt;argument0&gt; [&lt;argument1&gt; [...]]]</screen>
7929
7930 <para>
7931 Where the parameters are:
7932 </para>
7933
7934 <variablelist>
7935
7936 <varlistentry>
7937 <term>
7938 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7939 </term>
7940
7941 <listitem>
7942 <para>
7943 Specifies the VM UUID or VM name. Mandatory.
7944 </para>
7945 </listitem>
7946 </varlistentry>
7947
7948 <varlistentry>
7949 <term>
7950 <computeroutput>--source</computeroutput> &lt;New .ISO
7951 path&gt;
7952 </term>
7953
7954 <listitem>
7955 <para>
7956 Specifies the absolute path on guest file system of the
7957 .ISO file for Guest Additions update. Mandatory.
7958 </para>
7959 </listitem>
7960 </varlistentry>
7961
7962 <varlistentry>
7963 <term>
7964 <computeroutput>--wait-start</computeroutput>
7965 </term>
7966
7967 <listitem>
7968 <para>
7969 Indicates that VBoxManage starts the usual updating
7970 process on the guest and then waits until the actual
7971 Guest Additions updating begins, at which point
7972 VBoxManage self-terminates. Optional.
7973 </para>
7974
7975 <para>
7976 Default behavior is that VBoxManage waits for completion
7977 of the Guest Additions update before terminating. Use of
7978 this option is sometimes necessary, as a running
7979 VBoxManage can affect the interaction between the
7980 installer and the guest OS.
7981 </para>
7982 </listitem>
7983 </varlistentry>
7984
7985 <varlistentry>
7986 <term>
7987 <computeroutput>[-- &lt;argument0&gt; [&lt;argument1&gt;
7988 [...]]]</computeroutput>
7989 </term>
7990
7991 <listitem>
7992 <para>
7993 Specifies optional command line arguments to be supplied
7994 to the Guest Additions updater. Useful for retrofitting
7995 features which are not currently installed.
7996 </para>
7997
7998 <para>
7999 Arguments containing spaces should be enclosed by
8000 quotes.
8001 </para>
8002 </listitem>
8003 </varlistentry>
8004
8005 </variablelist>
8006 </listitem>
8007
8008 <listitem>
8009 <para>
8010 <emphasis role="bold"><computeroutput>watch</computeroutput></emphasis>
8011 This subcommand prints current guest control activity.
8012 </para>
8013
8014<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; watch [common-options]
8015 </screen>
8016
8017 <para>
8018 Where the parameters are:
8019 </para>
8020
8021 <variablelist>
8022
8023 <varlistentry>
8024 <term>
8025 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
8026 </term>
8027
8028 <listitem>
8029 <para>
8030 Specifies the VM UUID or VM name. Mandatory.
8031 </para>
8032 </listitem>
8033 </varlistentry>
8034
8035 </variablelist>
8036 </listitem>
8037
8038 </itemizedlist>
8039
8040 </sect1>
8041
8042 <sect1 id="vboxmanage-metrics">
8043
8044 <title>VBoxManage metrics</title>
8045
8046 <para>
8047 This command supports monitoring the usage of system resources.
8048 Resources are represented by various metrics associated with the
8049 host system or a particular VM. For example, the host system has a
8050 <computeroutput>CPU/Load/User</computeroutput> metric that shows
8051 the percentage of time CPUs spend executing in user mode over a
8052 specific sampling period.
8053 </para>
8054
8055 <para>
8056 Metric data is collected and retained internally; it may be
8057 retrieved at any time with the <computeroutput>VBoxManage metrics
8058 query</computeroutput> subcommand. The data is available as long
8059 as the background <computeroutput>VBoxSVC</computeroutput> process
8060 is alive. That process terminates shortly after all VMs and
8061 frontends have been closed.
8062 </para>
8063
8064 <para>
8065 By default no metrics are collected at all. Metrics collection
8066 does not start until <computeroutput>VBoxManage metrics
8067 setup</computeroutput> is invoked with a proper sampling interval
8068 and the number of metrics to be retained. The interval is measured
8069 in seconds. For example, to enable collecting the host processor
8070 and memory usage metrics every second and keeping the 5 most
8071 current samples, the following command can be used:
8072 </para>
8073
8074<screen>VBoxManage metrics setup --period 1 --samples 5 host CPU/Load,RAM/Usage</screen>
8075
8076 <para>
8077 Metric collection can only be enabled for started VMs. Collected
8078 data and collection settings for a particular VM will disappear as
8079 soon as it shuts down. Use <computeroutput>VBoxManage metrics list
8080 </computeroutput> subcommand to see which metrics are currently
8081 available. You can also use
8082 <computeroutput>--list</computeroutput> option with any subcommand
8083 that modifies metric settings to find out which metrics were
8084 affected.
8085 </para>
8086
8087 <para>
8088 Note that the <computeroutput>VBoxManage metrics
8089 setup</computeroutput> subcommand discards all samples that may
8090 have been previously collected for the specified set of objects
8091 and metrics.
8092 </para>
8093
8094 <para>
8095 To enable or disable metrics collection without discarding the
8096 data <computeroutput>VBoxManage metrics enable</computeroutput>
8097 and <computeroutput>VBoxManage metrics disable</computeroutput>
8098 subcommands can be used. Note that these subcommands expect
8099 metrics, not submetrics, like <code>CPU/Load</code> or
8100 <code>RAM/Usage</code> as parameters. In other words enabling
8101 <code>CPU/Load/User</code> while disabling
8102 <code>CPU/Load/Kernel</code> is not supported.
8103 </para>
8104
8105 <para>
8106 The host and VMs have different sets of associated metrics.
8107 Available metrics can be listed with <computeroutput>VBoxManage
8108 metrics list</computeroutput> subcommand.
8109 </para>
8110
8111 <para>
8112 A complete metric name may include an aggregate function. The name
8113 has the following form:
8114 <computeroutput>Category/Metric[/SubMetric][:aggregate]</computeroutput>.
8115 For example, <computeroutput>RAM/Usage/Free:min</computeroutput>
8116 stands for the minimum amount of available memory over all
8117 retained data if applied to the host object.
8118 </para>
8119
8120 <para>
8121 Subcommands may apply to all objects and metrics or can be limited
8122 to one object or/and a list of metrics. If no objects or metrics
8123 are given in the parameters, the subcommands will apply to all
8124 available metrics of all objects. You may use an asterisk
8125 ("<computeroutput>*</computeroutput>") to explicitly specify that
8126 the command should be applied to all objects or metrics. Use
8127 "host" as the object name to limit the scope of the command to
8128 host-related metrics. To limit the scope to a subset of metrics,
8129 use a metric list with names separated by commas.
8130 </para>
8131
8132 <para>
8133 For example, to query metric data on the CPU time spent in user
8134 and kernel modes by the virtual machine named "test", you can use
8135 the following command:
8136 </para>
8137
8138<screen>VBoxManage metrics query test CPU/Load/User,CPU/Load/Kernel</screen>
8139
8140 <para>
8141 The following list summarizes the available subcommands:
8142 </para>
8143
8144 <variablelist>
8145
8146 <varlistentry>
8147 <term>
8148 <computeroutput>list</computeroutput>
8149 </term>
8150
8151 <listitem>
8152 <para>
8153 This subcommand shows the parameters of the currently
8154 existing metrics. Note that VM-specific metrics are only
8155 available when a particular VM is running.
8156 </para>
8157 </listitem>
8158 </varlistentry>
8159
8160 <varlistentry>
8161 <term>
8162 <computeroutput>setup</computeroutput>
8163 </term>
8164
8165 <listitem>
8166 <para>
8167 This subcommand sets the interval between taking two samples
8168 of metric data and the number of samples retained
8169 internally. The retained data is available for displaying
8170 with the <code>query</code> subcommand. The
8171 <computeroutput>--list </computeroutput> option shows which
8172 metrics have been modified as the result of the command
8173 execution.
8174 </para>
8175 </listitem>
8176 </varlistentry>
8177
8178 <varlistentry>
8179 <term>
8180 <computeroutput>enable</computeroutput>
8181 </term>
8182
8183 <listitem>
8184 <para>
8185 This subcommand "resumes" data collection after it has been
8186 stopped with <code>disable</code> subcommand. Note that
8187 specifying submetrics as parameters will not enable
8188 underlying metrics. Use
8189 <computeroutput>--list</computeroutput> to find out if the
8190 command did what was expected.
8191 </para>
8192 </listitem>
8193 </varlistentry>
8194
8195 <varlistentry>
8196 <term>
8197 <computeroutput>disable</computeroutput>
8198 </term>
8199
8200 <listitem>
8201 <para>
8202 This subcommand "suspends" data collection without affecting
8203 collection parameters or collected data. Note that
8204 specifying submetrics as parameters will not disable
8205 underlying metrics. Use
8206 <computeroutput>--list</computeroutput> to find out if the
8207 command did what was expected.
8208 </para>
8209 </listitem>
8210 </varlistentry>
8211
8212 <varlistentry>
8213 <term>
8214 <computeroutput>query</computeroutput>
8215 </term>
8216
8217 <listitem>
8218 <para>
8219 This subcommand retrieves and displays the currently
8220 retained metric data.
8221
8222 <note>
8223 <para>
8224 The <code>query</code> subcommand does not remove or
8225 "flush" retained data. If you query often enough you
8226 will see how old samples are gradually being "phased
8227 out" by new samples.
8228 </para>
8229 </note>
8230 </para>
8231 </listitem>
8232 </varlistentry>
8233
8234 <varlistentry>
8235 <term>
8236 <computeroutput>collect</computeroutput>
8237 </term>
8238
8239 <listitem>
8240 <para>
8241 This subcommand sets the interval between taking two samples
8242 of metric data and the number of samples retained
8243 internally. The collected data is displayed periodically
8244 until Ctrl-C is pressed unless the
8245 <computeroutput>--detach</computeroutput> option is
8246 specified. With the
8247 <computeroutput>--detach</computeroutput> option, this
8248 subcommand operates the same way as <code>setup</code> does.
8249 The <computeroutput>--list</computeroutput> option shows
8250 which metrics match the specified filter.
8251 </para>
8252 </listitem>
8253 </varlistentry>
8254
8255 </variablelist>
8256
8257 </sect1>
8258
8259 <sect1 id="vboxmanage-natnetwork">
8260
8261 <title>VBoxManage natnetwork</title>
8262
8263 <para>
8264 NAT networks use the Network Address Translation (NAT) service,
8265 which works in a similar way to a home router. It groups systems
8266 using it into a network and prevents outside systems from directly
8267 accessing those inside, while letting systems inside communicate
8268 with each other and outside systems using TCP and UDP over IPv4
8269 and IPv6.
8270 </para>
8271
8272 <para>
8273 A NAT service is attached to an internal network. Virtual machines
8274 to make use of one should be attached to it. The name of an
8275 internal network is chosen when the NAT service is created, and
8276 the internal network will be created if it does not already exist.
8277 An example command to create a NAT network:
8278 </para>
8279
8280<screen>VBoxManage natnetwork add --netname natnet1 --network "192.168.15.0/24" --enable</screen>
8281
8282 <para>
8283 Here, "natnet1" is the name of the internal network to be used and
8284 "192.168.15.0/24" is the network address and mask of the NAT
8285 service interface. By default, in this static configuration the
8286 gateway will be assigned the address 192.168.15.1, the address
8287 after the interface address, though this is subject to change.
8288 </para>
8289
8290 <para>
8291 To add a DHCP server to the NAT network after creation:
8292 </para>
8293
8294<screen>VBoxManage natnetwork modify --netname natnet1 --dhcp on</screen>
8295
8296 <para>
8297 Below are the subcommands for
8298 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8299 </computeroutput></emphasis>
8300 </para>
8301
8302<screen>VBoxManage natnetwork add --netname &lt;name&gt;
8303 [--network &lt;network&gt;]
8304 [--enable|--disable]
8305 [--dhcp on|off]
8306 [--port-forward-4 &lt;rule&gt;]
8307 [--loopback-4 &lt;rule&gt;]
8308 [--ipv6 on|off]
8309 [--port-forward-6 &lt;rule&gt;]
8310 [--loopback-6 &lt;rule&gt;]
8311 </screen>
8312
8313 <para>
8314 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8315 add</computeroutput></emphasis> Creates a new internal network
8316 interface, and adds a NAT network service. This command is a
8317 prerequisite for enabling attachment of VMs to the NAT network.
8318 Parameters are as follows:
8319 </para>
8320
8321 <variablelist>
8322
8323 <varlistentry>
8324 <term>
8325 <computeroutput>--netname &lt;name&gt;</computeroutput>
8326 </term>
8327
8328 <listitem>
8329 <para>
8330 Where &lt;name&gt; is the name of the new internal network
8331 interface on the host OS.
8332 </para>
8333 </listitem>
8334 </varlistentry>
8335
8336 <varlistentry>
8337 <term>
8338 <computeroutput>--network &lt;network&gt;</computeroutput>
8339 </term>
8340
8341 <listitem>
8342 <para>
8343 Where &lt;network&gt; specifies the static(default)/DHCP
8344 network address and mask of the NAT service interface.
8345 </para>
8346 </listitem>
8347 </varlistentry>
8348
8349 <varlistentry>
8350 <term>
8351 <computeroutput>--enable|--disable</computeroutput>
8352 </term>
8353
8354 <listitem>
8355 <para>
8356 Enables/disables the NAT network service.
8357 </para>
8358 </listitem>
8359 </varlistentry>
8360
8361 <varlistentry>
8362 <term>
8363 <computeroutput>--dhcp on|off</computeroutput>
8364 </term>
8365
8366 <listitem>
8367 <para>
8368 Enables/disables DHCP server specified by --netname; its use
8369 also indicates that it is a DHCP server.
8370 </para>
8371 </listitem>
8372 </varlistentry>
8373
8374 <varlistentry>
8375 <term>
8376 <computeroutput>--port-forward-4 &lt;rule&gt;</computeroutput>
8377 </term>
8378
8379 <listitem>
8380 <para>
8381 Enables IPv4 port forwarding, rule specified by
8382 &lt;rule&gt;.
8383 </para>
8384 </listitem>
8385 </varlistentry>
8386
8387 <varlistentry>
8388 <term>
8389 <computeroutput>--loopback-4 &lt;rule&gt;</computeroutput>
8390 </term>
8391
8392 <listitem>
8393 <para>
8394 Enables IPv4 loopback interface, rule specified by
8395 &lt;rule&gt;.
8396 </para>
8397 </listitem>
8398 </varlistentry>
8399
8400 <varlistentry>
8401 <term>
8402 <computeroutput>--ipv6 on|off</computeroutput>
8403 </term>
8404
8405 <listitem>
8406 <para>
8407 Enables/disables IPv6 (default is IPv4, disables gives
8408 IPv4).
8409 </para>
8410 </listitem>
8411 </varlistentry>
8412
8413 <varlistentry>
8414 <term>
8415 <computeroutput>--port-forward-6 &lt;rule&gt;</computeroutput>
8416 </term>
8417
8418 <listitem>
8419 <para>
8420 Enables IPv6 port forwarding, rule specified by
8421 &lt;rule&gt;.
8422 </para>
8423 </listitem>
8424 </varlistentry>
8425
8426 <varlistentry>
8427 <term>
8428 <computeroutput>--loopback-6 &lt;rule&gt;</computeroutput>
8429 </term>
8430
8431 <listitem>
8432 <para>
8433 Enables IPv6 loopback interface, rule specified by
8434 &lt;rule&gt;.
8435 </para>
8436 </listitem>
8437 </varlistentry>
8438
8439 </variablelist>
8440
8441<screen>VBoxManage natnetwork remove --netname &lt;name&gt; </screen>
8442
8443 <para>
8444 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8445 remove</computeroutput></emphasis> Removes a NAT network service.
8446 Parameters are as follows:
8447 </para>
8448
8449 <variablelist>
8450
8451 <varlistentry>
8452 <term>
8453 <computeroutput>--netname &lt;name&gt;</computeroutput>
8454 </term>
8455
8456 <listitem>
8457 <para>
8458 Where &lt;name&gt; specifies an existing NAT network
8459 service. Does not remove any DHCP server enabled on the
8460 network.
8461 </para>
8462 </listitem>
8463 </varlistentry>
8464
8465 </variablelist>
8466
8467<screen>VBoxManage natnetwork modify --netname &lt;name&gt;
8468 [--network &lt;network&gt;]
8469 [--enable|--disable]
8470 [--dhcp on|off]
8471 [--port-forward-4 &lt;rule&gt;]
8472 [--loopback-4 &lt;rule&gt;]
8473 [--ipv6 on|off]
8474 [--port-forward-6 &lt;rule&gt;]
8475 [--loopback-6 &lt;rule&gt;]
8476 </screen>
8477
8478 <para>
8479 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8480 modify</computeroutput></emphasis> Modifies an existing NAT
8481 network service. Parameters are as follows:
8482 </para>
8483
8484 <variablelist>
8485
8486 <varlistentry>
8487 <term>
8488 <computeroutput>--netname &lt;name&gt;</computeroutput>
8489 </term>
8490
8491 <listitem>
8492 <para>
8493 Where &lt;name&gt; specifies an existing NAT network
8494 service.
8495 </para>
8496 </listitem>
8497 </varlistentry>
8498
8499 <varlistentry>
8500 <term>
8501 <computeroutput>--network &lt;network&gt;</computeroutput>
8502 </term>
8503
8504 <listitem>
8505 <para>
8506 Where &lt;network&gt; specifies the new static(default)/DHCP
8507 network address and mask of the NAT service interface.
8508 </para>
8509 </listitem>
8510 </varlistentry>
8511
8512 <varlistentry>
8513 <term>
8514 <computeroutput>--enable|--disable</computeroutput>
8515 </term>
8516
8517 <listitem>
8518 <para>
8519 Enables/disables the NAT network service.
8520 </para>
8521 </listitem>
8522 </varlistentry>
8523
8524 <varlistentry>
8525 <term>
8526 <computeroutput>--dhcp on|off</computeroutput>
8527 </term>
8528
8529 <listitem>
8530 <para>
8531 Enables (and if absent, adds)/disables (if any) DHCP server.
8532 </para>
8533 </listitem>
8534 </varlistentry>
8535
8536 <varlistentry>
8537 <term>
8538 <computeroutput>--port-forward-4 &lt;rule&gt;</computeroutput>
8539 </term>
8540
8541 <listitem>
8542 <para>
8543 Enables IPv4 port forwarding, rule specified by
8544 &lt;rule&gt;.
8545 </para>
8546 </listitem>
8547 </varlistentry>
8548
8549 <varlistentry>
8550 <term>
8551 <computeroutput>--loopback-4 &lt;rule&gt;</computeroutput>
8552 </term>
8553
8554 <listitem>
8555 <para>
8556 Enables IPv4 loopback interface, rule specified by
8557 &lt;rule&gt;.
8558 </para>
8559 </listitem>
8560 </varlistentry>
8561
8562 <varlistentry>
8563 <term>
8564 <computeroutput>--ipv6 on|off</computeroutput>
8565 </term>
8566
8567 <listitem>
8568 <para>
8569 Enables/disables IPv6 (default is IPv4, disables gives
8570 IPv4).
8571 </para>
8572 </listitem>
8573 </varlistentry>
8574
8575 <varlistentry>
8576 <term>
8577 <computeroutput>--port-forward-6 &lt;rule&gt;</computeroutput>
8578 </term>
8579
8580 <listitem>
8581 <para>
8582 Enables IPv6 port forwarding, rule specified by
8583 &lt;rule&gt;.
8584 </para>
8585 </listitem>
8586 </varlistentry>
8587
8588 <varlistentry>
8589 <term>
8590 <computeroutput>--loopback-6 &lt;rule&gt;</computeroutput>
8591 </term>
8592
8593 <listitem>
8594 <para>
8595 Enables IPv6 loopback interface, rule specified by
8596 &lt;rule&gt;.
8597 </para>
8598 </listitem>
8599 </varlistentry>
8600
8601 </variablelist>
8602
8603<screen>VBoxManage natnetwork start --netname &lt;name&gt;
8604 </screen>
8605
8606 <para>
8607 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8608 start</computeroutput></emphasis> Starts specified NAT network
8609 service and any associated DHCP server. Parameters are as follows:
8610 </para>
8611
8612 <variablelist>
8613
8614 <varlistentry>
8615 <term>
8616 <computeroutput>--netname &lt;name&gt;</computeroutput>
8617 </term>
8618
8619 <listitem>
8620 <para>
8621 Where &lt;name&gt; specifies an existing NAT network
8622 service.
8623 </para>
8624 </listitem>
8625 </varlistentry>
8626
8627 </variablelist>
8628
8629<screen>VBoxManage natnetwork stop --netname &lt;name&gt;
8630 </screen>
8631
8632 <para>
8633 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8634 stop</computeroutput></emphasis> Stops specified NAT network
8635 service and any DHCP server. Parameters are as follows:
8636 </para>
8637
8638 <variablelist>
8639
8640 <varlistentry>
8641 <term>
8642 <computeroutput>--netname &lt;name&gt;</computeroutput>
8643 </term>
8644
8645 <listitem>
8646 <para>
8647 Where &lt;name&gt; specifies an existing NAT network
8648 service.
8649 </para>
8650 </listitem>
8651 </varlistentry>
8652
8653 </variablelist>
8654
8655<screen>VBoxManage natnetwork list [&lt;pattern&gt;] </screen>
8656
8657 <para>
8658 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8659 list</computeroutput></emphasis> Lists all NAT network services
8660 with optional filtering. Parameters are as follows:
8661 </para>
8662
8663 <variablelist>
8664
8665 <varlistentry>
8666 <term>
8667 <computeroutput>[&lt;pattern&gt;]</computeroutput>
8668 </term>
8669
8670 <listitem>
8671 <para>
8672 Where &lt;pattern&gt; is optional filtering pattern.
8673 </para>
8674 </listitem>
8675 </varlistentry>
8676
8677 </variablelist>
8678
8679 </sect1>
8680
8681 <sect1 id="vboxmanage-hostonlyif">
8682
8683 <title>VBoxManage hostonlyif</title>
8684
8685 <para>
8686 With "hostonlyif" you can change the IP configuration of a
8687 host-only network interface. For a description of host-only
8688 networking, see <xref linkend="network_hostonly" />. Each
8689 host-only interface is identified by a name and can either use the
8690 internal DHCP server or a manual IP configuration, both IP4 and
8691 IP6.
8692 </para>
8693
8694 <para>
8695 The following list summarizes the available subcommands:
8696 </para>
8697
8698 <variablelist>
8699
8700 <varlistentry>
8701 <term>
8702 <computeroutput>ipconfig "&lt;name&gt;"</computeroutput>
8703 </term>
8704
8705 <listitem>
8706 <para>
8707 Configure a host-only interface
8708 </para>
8709 </listitem>
8710 </varlistentry>
8711
8712 <varlistentry>
8713 <term>
8714 <computeroutput>create</computeroutput>
8715 </term>
8716
8717 <listitem>
8718 <para>
8719 Creates a new vboxnet&lt;N&gt; interface on the host OS.
8720 This command is essential before you can attach VMs to a
8721 host-only network.
8722 </para>
8723 </listitem>
8724 </varlistentry>
8725
8726 <varlistentry>
8727 <term>
8728 <computeroutput>remove vboxnet&lt;N&gt;</computeroutput>
8729 </term>
8730
8731 <listitem>
8732 <para>
8733 Removes a vboxnet&lt;N&gt; interface from the host OS.
8734 </para>
8735 </listitem>
8736 </varlistentry>
8737
8738 </variablelist>
8739
8740 </sect1>
8741
8742 <sect1 id="vboxmanage-dhcpserver">
8743
8744 <title>VBoxManage dhcpserver</title>
8745
8746 <para>
8747 The "dhcpserver" commands allow you to control the DHCP server
8748 that is built into VirtualBox. You may find this useful when using
8749 internal or host-only networking. Theoretically, you can enable it
8750 for a bridged network as well, but that will likely cause
8751 conflicts with other DHCP servers in your physical network.
8752 </para>
8753
8754 <para>
8755 Use the following command line options:
8756 </para>
8757
8758 <itemizedlist>
8759
8760 <listitem>
8761 <para>
8762 If you use internal networking for a virtual network adapter
8763 of a virtual machine, use <computeroutput>VBoxManage
8764 dhcpserver add --netname
8765 &lt;network_name&gt;</computeroutput>, where
8766 <computeroutput>&lt;network_name&gt;</computeroutput> is the
8767 same network name you used with <computeroutput>VBoxManage
8768 modifyvm &lt;vmname&gt; --intnet&lt;X&gt;
8769 &lt;network_name&gt;</computeroutput>.
8770 </para>
8771 </listitem>
8772
8773 <listitem>
8774 <para>
8775 If you use host-only networking for a virtual network adapter
8776 of a virtual machine, use <computeroutput>VBoxManage
8777 dhcpserver add --ifname
8778 &lt;hostonly_if_name&gt;</computeroutput> instead, where
8779 <computeroutput>&lt;hostonly_if_name&gt;</computeroutput> is
8780 the same host-only interface name you used with
8781 <computeroutput>VBoxManage modifyvm &lt;vmname&gt;
8782 --hostonlyadapter&lt;X&gt;
8783 &lt;hostonly_if_name&gt;</computeroutput>.
8784 </para>
8785
8786 <para>
8787 Alternatively, you can also use the
8788 <computeroutput>--netname</computeroutput> option as with
8789 internal networks if you know the host-only network's name.
8790 You can see the names with <computeroutput>VBoxManage list
8791 hostonlyifs</computeroutput>. See
8792 <xref linkend="vboxmanage-list" />.
8793 </para>
8794 </listitem>
8795
8796 </itemizedlist>
8797
8798 <para>
8799 The following additional parameters are required when first adding
8800 a DHCP server:
8801 </para>
8802
8803 <itemizedlist>
8804
8805 <listitem>
8806 <para>
8807 With <computeroutput>--ip</computeroutput>, specify the IP
8808 address of the DHCP server itself.
8809 </para>
8810 </listitem>
8811
8812 <listitem>
8813 <para>
8814 With <computeroutput>--netmask</computeroutput>, specify the
8815 netmask of the network.
8816 </para>
8817 </listitem>
8818
8819 <listitem>
8820 <para>
8821 With <computeroutput>--lowerip</computeroutput> and
8822 <computeroutput>--upperip</computeroutput>, you can specify
8823 the lowest and highest IP address, respectively, that the DHCP
8824 server will hand out to clients.
8825 </para>
8826 </listitem>
8827
8828 </itemizedlist>
8829
8830 <para>
8831 Finally, you must specify
8832 <computeroutput>--enable</computeroutput> or the DHCP server will
8833 be created in the disabled state, doing nothing.
8834 </para>
8835
8836 <para>
8837 After this, VirtualBox will automatically start the DHCP server
8838 for given internal or host-only network as soon as the first
8839 virtual machine which uses that network is started.
8840 </para>
8841
8842 <para>
8843 Reversely, use <computeroutput>VBoxManage dhcpserver
8844 remove</computeroutput> with the given <computeroutput>--netname
8845 &lt;network_name&gt;</computeroutput> or <computeroutput>--ifname
8846 &lt;hostonly_if_name&gt;</computeroutput> to remove the DHCP
8847 server again for the given internal or host-only network.
8848 </para>
8849
8850 <para>
8851 To modify the settings of a DHCP server created earlier with
8852 <computeroutput>VBoxManage dhcpserver add</computeroutput>, you
8853 can use <computeroutput>VBoxManage dhcpserver
8854 modify</computeroutput> for a given network or host-only interface
8855 name. This has the same parameters as <computeroutput>VBoxManage
8856 dhcpserver add</computeroutput>.
8857 </para>
8858
8859 </sect1>
8860
8861 <sect1 id="vboxmanage-usbdevsource">
8862
8863 <title>VBoxManage usbdevsource</title>
8864
8865 <para>
8866 The "usbdevsource" commands enable you to add and remove USB
8867 devices globally.
8868 </para>
8869
8870 <para>
8871 The following command adds a USB device.
8872 </para>
8873
8874<screen>VBoxManage usbdevsource add &lt;source name&gt;
8875 --backend &lt;backend&gt;
8876 --address &lt;address&gt;
8877 </screen>
8878
8879 <para>
8880 Where the command line options are:
8881 </para>
8882
8883 <itemizedlist>
8884
8885 <listitem>
8886 <para>
8887 &lt;source name&gt; specifies the ID of the 'source' USB
8888 device to be added. Mandatory.
8889 </para>
8890 </listitem>
8891
8892 <listitem>
8893 <para>
8894 --backend &lt;backend&gt; specifies the USB proxy service
8895 backend to use. Mandatory.
8896 </para>
8897 </listitem>
8898
8899 <listitem>
8900 <para>
8901 --address &lt;address&gt; specifies the backend specific
8902 address. Mandatory.
8903 </para>
8904 </listitem>
8905
8906 </itemizedlist>
8907
8908 <para>
8909 The following command removes a USB device.
8910 </para>
8911
8912<screen>VBoxManage usbdevsource remove &lt;source name&gt;
8913 </screen>
8914
8915 <para>
8916 Where the command line options are:
8917 </para>
8918
8919 <itemizedlist>
8920
8921 <listitem>
8922 <para>
8923 &lt;source name&gt; specifies the ID of the 'source' USB
8924 device to be removed. Mandatory.
8925 </para>
8926 </listitem>
8927
8928 </itemizedlist>
8929
8930 </sect1>
8931
8932 <xi:include href="user_man_VBoxManage-mediumio.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
8933
8934 <xi:include href="user_man_VBoxManage-debugvm.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
8935
8936 <xi:include href="user_man_VBoxManage-extpack.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
8937
8938 <xi:include href="user_man_VBoxManage-unattended.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
8939
8940</chapter>
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette