VirtualBox

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

Last change on this file since 73873 was 73740, checked in by vboxsync, 7 years ago

Main: bugref:8612: add implementaion of Machine::applyDefault() in case of new vm creation.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 290.7 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;</screen>
5155
5156 <note>
5157 <para>
5158 For compatibility with earlier versions of VirtualBox, the
5159 "modifyvdi" and "modifyhd" commands are also supported and
5160 mapped internally to the "modifymedium" command.
5161 </para>
5162 </note>
5163 </para>
5164
5165 <para>
5166 The disk image to modify must be specified either by its UUID (if
5167 the medium is registered) or by its filename. Registered images
5168 can be listed by <computeroutput>VBoxManage list
5169 hdds</computeroutput>, see <xref linkend="vboxmanage-list" />. A
5170 filename must be specified as a valid path, either as an absolute
5171 path or as a relative path starting from the current directory.
5172 </para>
5173
5174 <para>
5175 The following options are available:
5176 </para>
5177
5178 <itemizedlist>
5179
5180 <listitem>
5181 <para>
5182 With the <computeroutput>--type</computeroutput> argument, you
5183 can change the type of an existing image between the normal,
5184 immutable, write-through and other modes. See
5185 <xref
5186 linkend="hdimagewrites" />.
5187 </para>
5188 </listitem>
5189
5190 <listitem>
5191 <para>
5192 For immutable (differencing) hard disks only, the
5193 <computeroutput>--autoreset on|off</computeroutput> option
5194 determines whether the disk is automatically reset on every VM
5195 startup, see <xref linkend="hdimagewrites" />. The default is
5196 "on".
5197 </para>
5198 </listitem>
5199
5200 <listitem>
5201 <para>
5202 The <computeroutput>--compact</computeroutput> option can be
5203 used to compact disk images, i.e. remove blocks that only
5204 contains zeroes. This will shrink a dynamically allocated
5205 image again; it will reduce the <emphasis>physical</emphasis>
5206 size of the image without affecting the logical size of the
5207 virtual disk. Compaction works both for base images and for
5208 diff images created as part of a snapshot.
5209 </para>
5210
5211 <para>
5212 For this operation to be effective, it is required that free
5213 space in the guest system first be zeroed out using a suitable
5214 software tool. For Windows guests, you can use the
5215 <computeroutput>sdelete</computeroutput> tool provided by
5216 Microsoft. Execute <computeroutput>sdelete -z</computeroutput>
5217 in the guest to zero the free disk space before compressing
5218 the virtual disk image. For Linux, use the
5219 <code>zerofree</code> utility which supports ext2/ext3
5220 filesystems. For Mac OS X guests, use the <code>diskutil
5221 secureErase freespace 0 /</code> command line from an elevated
5222 Terminal.
5223 </para>
5224
5225 <para>
5226 Please note that compacting is currently only available for
5227 VDI images. A similar effect can be achieved by zeroing out
5228 free blocks and then cloning the disk to any other dynamically
5229 allocated format. You can use this workaround until compacting
5230 is also supported for disk formats other than VDI.
5231 </para>
5232 </listitem>
5233
5234 <listitem>
5235 <para>
5236 The <computeroutput>--resize x</computeroutput> option, where
5237 x is the desired new total space in
5238 <emphasis role="bold">megabytes</emphasis> enables you to
5239 change the capacity of an existing image. This adjusts the
5240 <emphasis>logical</emphasis> size of a virtual disk without
5241 affecting the physical size much.
5242
5243 <footnote>
5244
5245 <para>
5246 Image resizing was added with VirtualBox 4.0.
5247 </para>
5248
5249 </footnote>
5250
5251 This currently works only for VDI and VHD formats, and only
5252 for the dynamically allocated variants, and can only be used
5253 to expand (not shrink) the capacity. For example, if you
5254 originally created a 10 GB disk which is now full, you can use
5255 the <computeroutput>--resize 15360</computeroutput> command to
5256 change the capacity to 15 GB (15,360 MB) without having to
5257 create a new image and copy all data from within a virtual
5258 machine. Note however that this only changes the drive
5259 capacity. You will typically next need to use a partition
5260 management tool inside the guest to adjust the main partition
5261 to fill the drive.
5262 </para>
5263
5264 <para>
5265 The <computeroutput>--resizebyte x</computeroutput> option
5266 does almost the same thing, except that x is expressed in
5267 bytes instead of megabytes.
5268 </para>
5269 </listitem>
5270
5271 <listitem>
5272 <para>
5273 The <computeroutput>--move &lt;path&gt;</computeroutput>
5274 option can be used to relocate a medium to a different
5275 location &lt;path&gt; on the host file system. The path can be
5276 either relative to the current directory or absolute.
5277 </para>
5278 </listitem>
5279
5280 </itemizedlist>
5281
5282 </sect1>
5283
5284 <sect1 id="vboxmanage-clonevdi">
5285
5286 <title>VBoxManage clonemedium</title>
5287
5288 <para>
5289 This command duplicates a virtual disk/DVD/floppy medium to a new
5290 medium, usually an image file, with a new unique identifier
5291 (UUID). The new image can be transferred to another host system or
5292 reimported into VirtualBox using the Virtual Media Manager. See
5293 <xref linkend="vdis" /> and <xref linkend="cloningvdis" />. The
5294 syntax is as follows:
5295 </para>
5296
5297<screen>VBoxManage clonemedium [disk|dvd|floppy] &lt;uuid|inputfile&gt; &lt;uuid|outputfile&gt;
5298
5299 [--format VDI|VMDK|VHD|RAW|&lt;other&gt;]
5300 [--variant Standard,Fixed,Split2G,Stream,ESX]
5301 [--existing]</screen>
5302
5303 <para>
5304 The medium to clone as well as the target image must be described
5305 either by its UUIDs, if the mediums are registered, or by its
5306 filename. Registered images can be listed by
5307 <computeroutput>VBoxManage list hdds</computeroutput>. See
5308 <xref linkend="vboxmanage-list" />. A filename must be specified
5309 as valid path, either as an absolute path or as a relative path
5310 starting from the current directory.
5311 </para>
5312
5313 <para>
5314 The following options are available:
5315 </para>
5316
5317 <variablelist>
5318
5319 <varlistentry>
5320 <term>
5321 <computeroutput>--format</computeroutput>
5322 </term>
5323
5324 <listitem>
5325 <para>
5326 Allow to choose a file format for the output file different
5327 from the file format of the input file.
5328 </para>
5329 </listitem>
5330 </varlistentry>
5331
5332 <varlistentry>
5333 <term>
5334 <computeroutput>--variant</computeroutput>
5335 </term>
5336
5337 <listitem>
5338 <para>
5339 Allow to choose a file format variant for the output file.
5340 It is a comma-separated list of variant flags. Not all
5341 combinations are supported, and specifying inconsistent
5342 flags will result in an error message.
5343 </para>
5344 </listitem>
5345 </varlistentry>
5346
5347 <varlistentry>
5348 <term>
5349 <computeroutput>--existing</computeroutput>
5350 </term>
5351
5352 <listitem>
5353 <para>
5354 Perform the clone operation to an already existing
5355 destination medium. Only the portion of the source medium
5356 which fits into the destination medium is copied. This means
5357 if the destination medium is smaller than the source only a
5358 part of it is copied, and if the destination medium is
5359 larger than the source the remaining part of the destination
5360 medium is unchanged.
5361 </para>
5362 </listitem>
5363 </varlistentry>
5364
5365 </variablelist>
5366
5367 <note>
5368 <para>
5369 For compatibility with earlier versions of VirtualBox, the
5370 "clonevdi" and "clonehd" commands are still supported and mapped
5371 internally to the "clonehd disk" command.
5372 </para>
5373 </note>
5374
5375 </sect1>
5376
5377 <sect1 id="vboxmanage-mediumproperty">
5378
5379 <title>VBoxManage mediumproperty</title>
5380
5381 <para>
5382 This command sets up, gets or deletes a medium property. The
5383 syntax is as follows:
5384 </para>
5385
5386<screen>VBoxManage mediumproperty [disk|dvd|floppy] set &lt;uuid|filename&gt;
5387 &lt;property&gt; &lt;value&gt;</screen>
5388
5389 <itemizedlist>
5390
5391 <listitem>
5392 <para>
5393 Use <computeroutput>&lt;disk|dvd|floppy&gt;</computeroutput>
5394 to optionally specify the type of medium: disk (hard drive),
5395 dvd or floppy.
5396 </para>
5397 </listitem>
5398
5399 <listitem>
5400 <para>
5401 Use <computeroutput>&lt;uuid|filename&gt;</computeroutput> to
5402 supply either the uuid or absolute path of the medium/image to
5403 be encrypted.
5404 </para>
5405 </listitem>
5406
5407 <listitem>
5408 <para>
5409 Use <computeroutput>&lt;property&gt;</computeroutput> to
5410 supply the name of the property.
5411 </para>
5412 </listitem>
5413
5414 <listitem>
5415 <para>
5416 Use <computeroutput>&lt;value&gt;</computeroutput> to supply
5417 the property value.
5418 </para>
5419 </listitem>
5420
5421 </itemizedlist>
5422
5423<screen>VBoxManage mediumproperty [disk|dvd|floppy] get &lt;uuid|filename&gt;
5424 &lt;property&gt;</screen>
5425
5426 <itemizedlist>
5427
5428 <listitem>
5429 <para>
5430 Use <computeroutput>&lt;disk|dvd|floppy&gt;</computeroutput>
5431 to optionally specify the type of medium: disk (hard drive),
5432 dvd or floppy.
5433 </para>
5434 </listitem>
5435
5436 <listitem>
5437 <para>
5438 Use <computeroutput>&lt;uuid|filename&gt;</computeroutput> to
5439 supply either the uuid or absolute path of the medium/image to
5440 be encrypted.
5441 </para>
5442 </listitem>
5443
5444 <listitem>
5445 <para>
5446 Use <computeroutput>&lt;property&gt;</computeroutput> to
5447 supply the name of the property.
5448 </para>
5449 </listitem>
5450
5451 </itemizedlist>
5452
5453<screen>VBoxManage mediumproperty [disk|dvd|floppy] delete &lt;uuid|filename&gt;
5454 &lt;property&gt;</screen>
5455
5456 <itemizedlist>
5457
5458 <listitem>
5459 <para>
5460 Use <computeroutput>&lt;disk|dvd|floppy&gt;</computeroutput>
5461 to optionally specify the type of medium: disk (hard drive),
5462 dvd or floppy.
5463 </para>
5464 </listitem>
5465
5466 <listitem>
5467 <para>
5468 Use <computeroutput>&lt;uuid|filename&gt;</computeroutput> to
5469 supply either the uuid or absolute path of the medium/image.
5470 </para>
5471 </listitem>
5472
5473 <listitem>
5474 <para>
5475 Use <computeroutput>&lt;property&gt;</computeroutput> to
5476 supply the name of the property.
5477 </para>
5478 </listitem>
5479
5480 </itemizedlist>
5481
5482 </sect1>
5483
5484 <sect1 id="vboxmanage-encryptmedium">
5485
5486 <title>VBoxManage encryptmedium</title>
5487
5488 <para>
5489 This command is used to create a DEK encrypted medium/image. See
5490 <xref linkend="diskencryption-encryption" />.
5491 </para>
5492
5493 <para>
5494 The syntax is as follows:
5495 </para>
5496
5497<screen>VBoxManage encryptmedium &lt;uuid|filename&gt;
5498 [--newpassword &lt;file|-&gt;]
5499 [--oldpassword &lt;file|-&gt;]
5500 [--cipher &lt;cipher id&gt;]
5501 [--newpasswordid &lt;password id&gt;]</screen>
5502
5503 <itemizedlist>
5504
5505 <listitem>
5506 <para>
5507 use <computeroutput>&lt;uuid|filename&gt;</computeroutput> to
5508 supply the uuid or absolute path of the medium/image to be
5509 encrypted.
5510 </para>
5511 </listitem>
5512
5513 <listitem>
5514 <para>
5515 Use <computeroutput>--newpassword
5516 &lt;file|-&gt;</computeroutput> to supply a new encryption
5517 password; either specify the absolute pathname of a password
5518 file on the host operating system, or
5519 <computeroutput>-</computeroutput> to prompt you for the
5520 password on the command line. Always use the
5521 <computeroutput>--newpasswordid</computeroutput> option with
5522 this option.
5523 </para>
5524 </listitem>
5525
5526 <listitem>
5527 <para>
5528 use <computeroutput>--oldpassword
5529 &lt;file|-&gt;</computeroutput> to supply any old encryption
5530 password; either specify the absolute pathname of a password
5531 file on the host operating system, or
5532 <computeroutput>-</computeroutput> to prompt you for the old
5533 password on the command line.
5534 </para>
5535
5536 <para>
5537 Use this option to gain access to an encrypted medium/image to
5538 change its password using
5539 <computeroutput>--newpassword</computeroutput> and/or change
5540 its encryption using
5541 <computeroutput>--cipher</computeroutput>.
5542 </para>
5543 </listitem>
5544
5545 <listitem>
5546 <para>
5547 Use <computeroutput>--cipher &lt;cipher&gt;</computeroutput>
5548 to specify the cipher to use for encryption; this can be
5549 either <computeroutput>AES-XTS128-PLAIN64</computeroutput> or
5550 <computeroutput>AES-XTS256-PLAIN64</computeroutput>.
5551 </para>
5552
5553 <para>
5554 Use this option to change any existing encryption on the
5555 medium/image, or setup new encryption on it for the 1st time.
5556 </para>
5557 </listitem>
5558
5559 <listitem>
5560 <para>
5561 Use <computeroutput>--newpasswordid &lt;password
5562 id&gt;</computeroutput> to supply the new password identifier.
5563 This can be freely chosen by the user, and is used for correct
5564 identification when supplying multiple passwords during VM
5565 startup.
5566 </para>
5567
5568 <para>
5569 If the user uses the same password when encrypting multiple
5570 images and also the same password identifier, the user needs
5571 to supply the password only once during VM startup.
5572 </para>
5573 </listitem>
5574
5575 </itemizedlist>
5576
5577 </sect1>
5578
5579 <sect1 id="vboxmanage-checkmediumpwd">
5580
5581 <title>VBoxManage checkmediumpwd</title>
5582
5583 <para>
5584 This command is used to check the current encryption password on a
5585 DEK encrypted medium/image. See
5586 <xref linkend="diskencryption-encryption" />.
5587 </para>
5588
5589 <para>
5590 The syntax is as follows:
5591 </para>
5592
5593<screen>VBoxManage checkmediumpwd &lt;uuid|filename&gt;
5594 &lt;pwd file|-&gt;</screen>
5595
5596 <itemizedlist>
5597
5598 <listitem>
5599 <para>
5600 Use <computeroutput>&lt;uuid|filename&gt;</computeroutput> to
5601 supply the uuid or absolute path of the medium/image to be
5602 checked.
5603 </para>
5604 </listitem>
5605
5606 <listitem>
5607 <para>
5608 Use <computeroutput>&lt;pwd file|-&gt;</computeroutput> to
5609 supply the password identifier to be checked. Either specify
5610 the absolute pathname of a password file on the host operating
5611 system, or <computeroutput>-</computeroutput> to prompt you
5612 for the password on the command line.
5613 </para>
5614 </listitem>
5615
5616 </itemizedlist>
5617
5618 </sect1>
5619
5620 <sect1 id="vboxmanage-convertfromraw">
5621
5622 <title>VBoxManage convertfromraw</title>
5623
5624 <para>
5625 This command converts a raw disk image to a VirtualBox Disk Image
5626 (VDI) file. The syntax is as follows:
5627 </para>
5628
5629<screen>VBoxManage convertfromraw &lt;filename&gt; &lt;outputfile&gt;
5630 [--format VDI|VMDK|VHD]
5631 [--variant Standard,Fixed,Split2G,Stream,ESX]
5632 [--uuid &lt;uuid&gt;]
5633VBoxManage convertfromraw stdin &lt;outputfile&gt; &lt;bytes&gt;
5634 [--format VDI|VMDK|VHD]
5635 [--variant Standard,Fixed,Split2G,Stream,ESX]
5636 [--uuid &lt;uuid&gt;]</screen>
5637
5638 <para>
5639 where the parameters mean:
5640 </para>
5641
5642 <variablelist>
5643
5644 <varlistentry>
5645 <term>
5646 <computeroutput>--bytes</computeroutput>
5647 </term>
5648
5649 <listitem>
5650 <para>
5651 The size of the image file, in bytes, provided through
5652 stdin.
5653 </para>
5654 </listitem>
5655 </varlistentry>
5656
5657 <varlistentry>
5658 <term>
5659 <computeroutput>--format</computeroutput>
5660 </term>
5661
5662 <listitem>
5663 <para>
5664 Select the disk image format to create. Default is VDI.
5665 Other options are VMDK and VHD.
5666 </para>
5667 </listitem>
5668 </varlistentry>
5669
5670 <varlistentry>
5671 <term>
5672 <computeroutput>--variant</computeroutput>
5673 </term>
5674
5675 <listitem>
5676 <para>
5677 Allow to choose a file format variant for the output file.
5678 It is a comma-separated list of variant flags. Not all
5679 combinations are supported, and specifying inconsistent
5680 flags will result in an error message.
5681 </para>
5682 </listitem>
5683 </varlistentry>
5684
5685 <varlistentry>
5686 <term>
5687 <computeroutput>--uuid</computeroutput>
5688 </term>
5689
5690 <listitem>
5691 <para>
5692 Allow to specifiy the UUID of the output file.
5693 </para>
5694 </listitem>
5695 </varlistentry>
5696
5697 </variablelist>
5698
5699 <para>
5700 The second form forces VBoxManage to read the content for the disk
5701 image from standard input (useful for using that command in a
5702 pipe).
5703 </para>
5704
5705 <para>
5706 <note>
5707 <para>
5708 For compatibility with earlier versions of VirtualBox, the
5709 "convertdd" command is also supported and mapped internally to
5710 the "convertfromraw" command.
5711 </para>
5712 </note>
5713 </para>
5714
5715 </sect1>
5716
5717 <sect1 id="vboxmanage-extradata">
5718
5719 <title>VBoxManage getextradata/setextradata</title>
5720
5721 <para>
5722 These commands let you attach and retrieve string data to a
5723 virtual machine or to a VirtualBox configuration, by specifying
5724 <computeroutput>global</computeroutput> instead of a virtual
5725 machine name. You must specify a key as a text string to associate
5726 the data with, which you can later use to retrieve it. For
5727 example:
5728 </para>
5729
5730<screen>VBoxManage setextradata Fedora5 installdate 2006.01.01
5731VBoxManage setextradata SUSE10 installdate 2006.02.02</screen>
5732
5733 <para>
5734 would associate the string "2006.01.01" with the key installdate
5735 for the virtual machine Fedora5, and "2006.02.02" on the machine
5736 SUSE10. You could retrieve the information as follows:
5737 </para>
5738
5739<screen>VBoxManage getextradata Fedora5 installdate</screen>
5740
5741 <para>
5742 which would return
5743 </para>
5744
5745<screen>VirtualBox Command Line Management Interface Version <replaceable>version-number</replaceable>
5746(C) 2005-2018 Oracle Corporation
5747All rights reserved.
5748
5749Value: 2006.01.01</screen>
5750
5751 <para>
5752 You could retrieve the information for all keys as follows:
5753 </para>
5754
5755<screen>VBoxManage getextradata Fedora5 enumerate</screen>
5756
5757 <para>
5758 To remove a key, the <computeroutput>setextradata</computeroutput>
5759 command must be run without specifying data, only the key. For
5760 example:
5761 </para>
5762
5763<screen>VBoxManage setextradata Fedora5 installdate</screen>
5764
5765 </sect1>
5766
5767 <sect1 id="vboxmanage-setproperty">
5768
5769 <title>VBoxManage setproperty</title>
5770
5771 <para>
5772 This command is used to change global settings which affect the
5773 entire VirtualBox installation. Some of these correspond to the
5774 settings in the "Global settings" dialog in the graphical user
5775 interface. The following properties are available:
5776 </para>
5777
5778 <variablelist>
5779
5780 <varlistentry>
5781 <term>
5782 <computeroutput>machinefolder</computeroutput>
5783 </term>
5784
5785 <listitem>
5786 <para>
5787 This specifies the default folder in which virtual machine
5788 definitions are kept. See <xref linkend="vboxconfigdata" />.
5789 </para>
5790 </listitem>
5791 </varlistentry>
5792
5793 <varlistentry>
5794 <term>
5795 <computeroutput>hwvirtexclusive</computeroutput>
5796 </term>
5797
5798 <listitem>
5799 <para>
5800 This specifies whether VirtualBox will make exclusive use of
5801 the hardware virtualization extensions (Intel VT-x or AMD-V)
5802 of the host system's processor. See
5803 <xref linkend="hwvirt" />. If you wish to share these
5804 extensions with other hypervisors running at the same time,
5805 you must disable this setting. Doing so has negative
5806 performance implications.
5807 </para>
5808 </listitem>
5809 </varlistentry>
5810
5811 <varlistentry>
5812 <term>
5813 <computeroutput>vrdeauthlibrary</computeroutput>
5814 </term>
5815
5816 <listitem>
5817 <para>
5818 This specifies which library to use when "external"
5819 authentication has been selected for a particular virtual
5820 machine. See <xref linkend="vbox-auth" />.
5821 </para>
5822 </listitem>
5823 </varlistentry>
5824
5825 <varlistentry>
5826 <term>
5827 <computeroutput>websrvauthlibrary</computeroutput>
5828 </term>
5829
5830 <listitem>
5831 <para>
5832 This specifies which library the web service uses to
5833 authenticate users. For details about the VirtualBox web
5834 service, please refer to the separate VirtualBox SDK
5835 reference. See <xref
5836 linkend="VirtualBoxAPI" />.
5837 </para>
5838 </listitem>
5839 </varlistentry>
5840
5841 <varlistentry>
5842 <term>
5843 <computeroutput>vrdeextpack</computeroutput>
5844 </term>
5845
5846 <listitem>
5847 <para>
5848 This specifies which library implements the VirtualBox
5849 Remote Desktop Extension.
5850 </para>
5851 </listitem>
5852 </varlistentry>
5853
5854 <varlistentry>
5855 <term>
5856 <computeroutput>loghistorycount</computeroutput>
5857 </term>
5858
5859 <listitem>
5860 <para>
5861 This selects how many rotated (old) VM logs are kept.
5862 </para>
5863 </listitem>
5864 </varlistentry>
5865
5866 <varlistentry>
5867 <term>
5868 <computeroutput>autostartdbpath</computeroutput>
5869 </term>
5870
5871 <listitem>
5872 <para>
5873 This selects the path to the autostart database. See
5874 <xref linkend="autostart" />.
5875 </para>
5876 </listitem>
5877 </varlistentry>
5878
5879 <varlistentry>
5880 <term>
5881 <computeroutput>defaultfrontend</computeroutput>
5882 </term>
5883
5884 <listitem>
5885 <para>
5886 This selects the global default VM frontend setting. See
5887 <xref linkend="vboxmanage-startvm" />.
5888 </para>
5889 </listitem>
5890 </varlistentry>
5891
5892 <varlistentry>
5893 <term>
5894 <computeroutput>logginglevel</computeroutput>
5895 </term>
5896
5897 <listitem>
5898 <para>
5899 This configures the VBoxSVC release logging details.
5900
5901 <footnote>
5902
5903 <para>
5904 <ulink url="http://www.virtualbox.org/wiki/VBoxLogging">http://www.virtualbox.org/wiki/VBoxLogging</ulink>.
5905 </para>
5906
5907 </footnote>
5908 </para>
5909 </listitem>
5910 </varlistentry>
5911
5912 </variablelist>
5913
5914 </sect1>
5915
5916 <sect1 id="vboxmanage-usbfilter">
5917
5918 <title>VBoxManage usbfilter add/modify/remove</title>
5919
5920<screen>VBoxManage usbfilter add &lt;index,0-N&gt;
5921 --target &lt;uuid|vmname&gt;global
5922 --name &lt;string&gt;
5923 --action ignore|hold (global filters only)
5924 [--active yes|no (yes)]
5925 [--vendorid &lt;XXXX&gt; (null)]
5926 [--productid &lt;XXXX&gt; (null)]
5927 [--revision &lt;IIFF&gt; (null)]
5928 [--manufacturer &lt;string&gt; (null)]
5929 [--product &lt;string&gt; (null)]
5930 [--remote yes|no (null, VM filters only)]
5931 [--serialnumber &lt;string&gt; (null)]
5932 [--maskedinterfaces &lt;XXXXXXXX&gt;]
5933 </screen>
5934
5935<screen>VBoxManage usbfilter modify &lt;index,0-N&gt;
5936 --target &lt;uuid|vmname&gt;global
5937 [--name &lt;string&gt;]
5938 [--action ignore|hold (global filters only)]
5939 [--active yes|no]
5940 [--vendorid &lt;XXXX&gt;]
5941 [--productid &lt;XXXX&gt;]
5942 [--revision &lt;IIFF&gt;]
5943 [--manufacturer &lt;string&gt;]
5944 [--product &lt;string&gt;]
5945 [--remote yes|no (null, VM filters only)]
5946 [--serialnumber &lt;string&gt;]
5947 [--maskedinterfaces &lt;XXXXXXXX&gt;]
5948 </screen>
5949
5950<screen>VBoxManage usbfilter remove &lt;index,0-N&gt;
5951 --target &lt;uuid|vmname&gt;global
5952 </screen>
5953
5954 <para>
5955 The <computeroutput>usbfilter</computeroutput> commands are used
5956 for working with USB filters in virtual machines, or global
5957 filters which affect the whole VirtualBox setup. Global filters
5958 are applied before machine-specific filters, and may be used to
5959 prevent devices from being captured by any virtual machine. Global
5960 filters are always applied in a particular order, and only the
5961 first filter which fits a device is applied. So for example, if
5962 the first global filter says to hold (make available) a particular
5963 Kingston memory stick device and the second to ignore all Kingston
5964 devices, that memory stick will be available to any machine with
5965 an appropriate filter, but no other Kingston device will.
5966 </para>
5967
5968 <para>
5969 When creating a USB filter using <computeroutput>usbfilter
5970 add</computeroutput>, you must supply three or four mandatory
5971 parameters. The index specifies the position in the list at which
5972 the filter should be placed. If there is already a filter at that
5973 position, then it and the following ones will be shifted back one
5974 place. Otherwise the new filter will be added onto the end of the
5975 list. The <computeroutput>target</computeroutput> parameter
5976 selects the virtual machine that the filter should be attached to
5977 or use "global" to apply it to all virtual machines.
5978 <computeroutput>name</computeroutput> is a name for the new filter
5979 and for global filters, <computeroutput>action</computeroutput>
5980 says whether to allow VMs access to devices that fit the filter
5981 description ("hold") or not to give them access ("ignore"). In
5982 addition, you should specify parameters to filter by. You can find
5983 the parameters for devices attached to your system using
5984 <computeroutput>VBoxManage list usbhost</computeroutput>. Finally,
5985 you can specify whether the filter should be active, and for local
5986 filters, whether they are for local devices, remote (over an RDP
5987 connection) or either.
5988 </para>
5989
5990 <para>
5991 When you modify a USB filter using <computeroutput>usbfilter
5992 modify</computeroutput>, you must specify the filter by index and
5993 by target, which is either a virtual machine or "global". See the
5994 output of <computeroutput>VBoxManage list
5995 usbfilters</computeroutput> to find global filter indexes and
5996 <computeroutput>VBoxManage showvminfo</computeroutput> to find
5997 indexes for individual machines. The properties which can be
5998 changed are the same as for <computeroutput>usbfilter
5999 add</computeroutput>. To remove a filter, use
6000 <computeroutput>usbfilter remove</computeroutput> and specify the
6001 index and the target.
6002 </para>
6003
6004 <para>
6005 The following is a list of the additional
6006 <computeroutput>usbfilter add</computeroutput> and
6007 <computeroutput>usbfilter modify</computeroutput> options, with
6008 detailed explanations on how to use them.
6009 </para>
6010
6011 <itemizedlist>
6012
6013 <listitem>
6014 <para>
6015 <computeroutput>--action ignore|hold</computeroutput>Specifies
6016 whether devices that fit the filter description are allowed
6017 access by machines ("hold"), or have access denied ("ignore").
6018 Applies to global filters only.
6019 </para>
6020 </listitem>
6021
6022 <listitem>
6023 <para>
6024 <computeroutput>--active yes|no</computeroutput>Specifies
6025 whether the USB Filter is active or temporarily disabled. For
6026 <computeroutput>usbfilter create</computeroutput> the default
6027 is active.
6028 </para>
6029 </listitem>
6030
6031 <listitem>
6032 <para>
6033 <computeroutput>--vendorid
6034 &lt;XXXX&gt;|""</computeroutput>Specifies a vendor ID filter -
6035 the string representation for the exact matching has the form
6036 XXXX, where X is the hex digit (including leading zeroes).
6037 </para>
6038 </listitem>
6039
6040 <listitem>
6041 <para>
6042 <computeroutput>--productid
6043 &lt;XXXX&gt;|""</computeroutput>Specifies a product ID filter
6044 - The string representation for the exact matching has the
6045 form XXXX, where X is the hex digit (including leading
6046 zeroes).
6047 </para>
6048 </listitem>
6049
6050 <listitem>
6051 <para>
6052 <computeroutput>--revision
6053 &lt;IIFF&gt;|""</computeroutput>Specifies a revision ID filter
6054 - the string representation for the exact matching has the
6055 form IIFF, where I is the decimal digit of the integer part of
6056 the revision, and F is the decimal digit of its fractional
6057 part (including leading and trailing zeros). Note that for
6058 interval filters, it's best to use the hex form, because the
6059 revision is stored as a 16 bit packed BCD value; so the
6060 expression int:0x0100-0x0199 will match any revision from 1.0
6061 to 1.99 inclusive.
6062 </para>
6063 </listitem>
6064
6065 <listitem>
6066 <para>
6067 <computeroutput>--manufacturer
6068 &lt;string&gt;|""</computeroutput>Specifies a manufacturer ID
6069 filter, as a string.
6070 </para>
6071 </listitem>
6072
6073 <listitem>
6074 <para>
6075 <computeroutput>--product
6076 &lt;string&gt;|""</computeroutput>Specifies a product ID
6077 filter, as a string.
6078 </para>
6079 </listitem>
6080
6081 <listitem>
6082 <para>
6083 <computeroutput>--remote yes|no""</computeroutput>Specifies a
6084 remote filter - indicating whether the device is physically
6085 connected to a remote VRDE client or to a local host machine.
6086 Applies to VM filters only.
6087 </para>
6088 </listitem>
6089
6090 <listitem>
6091 <para>
6092 <computeroutput>--serialnumber
6093 &lt;string&gt;|""</computeroutput>Specifies a serial number
6094 filter, as a string.
6095 </para>
6096 </listitem>
6097
6098 <listitem>
6099 <para>
6100 <computeroutput>--maskedinterfaces
6101 &lt;XXXXXXXX&gt;</computeroutput>Specifies a masked interface
6102 filter, for hiding one or more USB interfaces from the guest.
6103 The value is a bit mask where the set bits correspond to the
6104 USB interfaces that should be hidden, or masked off. This
6105 feature only works on Linux hosts.
6106 </para>
6107 </listitem>
6108
6109 </itemizedlist>
6110
6111 </sect1>
6112
6113 <sect1 id="vboxmanage-sharedfolder">
6114
6115 <title>VBoxManage sharedfolder add/remove</title>
6116
6117<screen>
6118VBoxManage sharedfolder add &lt;uuid|vmname&gt;
6119 --name &lt;name&gt; --hostpath &lt;hostpath&gt;
6120 [--transient] [--readonly] [--automount]
6121</screen>
6122
6123 <para>
6124 This command allows you to share folders on the host computer with
6125 guest operating systems. For this, the guest systems must have a
6126 version of the VirtualBox Guest Additions installed which supports
6127 this functionality.
6128 </para>
6129
6130 <para>
6131 Parameters are as follows:
6132 </para>
6133
6134 <itemizedlist>
6135
6136 <listitem>
6137 <para>
6138 <computeroutput>&lt;uuid|vmname&gt;</computeroutput> Specifies
6139 the UUID or name of the VM whose guest operating system will
6140 be sharing folders with the host computer. Mandatory.
6141 </para>
6142 </listitem>
6143
6144 <listitem>
6145 <para>
6146 <computeroutput>--name &lt;name&gt;</computeroutput> Specifies
6147 the name of the share. Each share has a unique name within the
6148 namespace of the host operating system. Mandatory.
6149 </para>
6150 </listitem>
6151
6152 <listitem>
6153 <para>
6154 <computeroutput>-hostpath &lt;hostpath&gt;</computeroutput>
6155 Specifies the absolute path on the host operating system of
6156 the folder/directory to be shared with the guest operating
6157 system. Mandatory.
6158 </para>
6159 </listitem>
6160
6161 <listitem>
6162 <para>
6163 <computeroutput>-transient</computeroutput> Specifies that the
6164 share is 'transient', meaning that it can be added and removed
6165 at runtime and does not persist after the VM has stopped.
6166 Optional.
6167 </para>
6168 </listitem>
6169
6170 <listitem>
6171 <para>
6172 <computeroutput>-readonly</computeroutput> Specifies that the
6173 share has only read-only access to files at the host path.
6174 </para>
6175
6176 <para>
6177 By default, shared folders have read/write access to the files
6178 at the host path. More specifically, on Linux distros - shared
6179 folders are mounted with 770 io permissions with root user and
6180 vboxsf as the group, and using this option the io permissions
6181 change to 700. Optional.
6182 </para>
6183 </listitem>
6184
6185 <listitem>
6186 <para>
6187 <computeroutput>-automount</computeroutput> Specifies that the
6188 share will be automatically mounted. On Linux distros, this
6189 will be to either /media/USER/sf_&lt;name&gt; or
6190 /media/sf_&lt;name&gt; - depending on your guest OS. Where
6191 &lt;name&gt; is the share name. Optional.
6192 </para>
6193 </listitem>
6194
6195 </itemizedlist>
6196
6197<screen>
6198VBoxManage sharedfolder remove &lt;uuid|vmname&gt;
6199 --name &lt;name&gt; [--transient]
6200
6201</screen>
6202
6203 <para>
6204 This command allows you to delete shared folders on the host
6205 computer shares with the guest operating systems. For this, the
6206 guest systems must have a version of the VirtualBox Guest
6207 Additions installed which supports this functionality.
6208 </para>
6209
6210 <para>
6211 Parameters are as follows:
6212 </para>
6213
6214 <itemizedlist>
6215
6216 <listitem>
6217 <para>
6218 <computeroutput>&lt;uuid|vmname&gt;</computeroutput> Specifies
6219 the UUID or name of the VM whose guest operating system is
6220 sharing folders with the host computer. Mandatory.
6221 </para>
6222 </listitem>
6223
6224 <listitem>
6225 <para>
6226 <computeroutput>--name &lt;name&gt;</computeroutput> Specifies
6227 the name of the share to be removed. Each share has a unique
6228 name within the namespace of the host operating system.
6229 Mandatory.
6230 </para>
6231 </listitem>
6232
6233 <listitem>
6234 <para>
6235 <computeroutput>-transient</computeroutput> Specifies that the
6236 share is 'transient', meaning that it can be added and removed
6237 at runtime and does not persist after the VM has stopped.
6238 Optional.
6239 </para>
6240 </listitem>
6241
6242 </itemizedlist>
6243
6244 <para>
6245 Shared folders are described in <xref linkend="sharedfolders" />.
6246 </para>
6247
6248 </sect1>
6249
6250 <sect1 id="vboxmanage-guestproperty">
6251
6252 <title>VBoxManage guestproperty</title>
6253
6254 <para>
6255 The "guestproperty" commands allow you to get or set properties of
6256 a running virtual machine. See
6257 <xref linkend="guestadd-guestprops" /> for an introduction. As
6258 explained there, guest properties are arbitrary key/value string
6259 pairs which can be written to and read from by either the guest or
6260 the host, so they can be used as a low-volume communication
6261 channel for strings, provided that a guest is running and has the
6262 Guest Additions installed. In addition, a number of values whose
6263 keys begin with "/VirtualBox/" are automatically set and
6264 maintained by the Guest Additions.
6265 </para>
6266
6267 <para>
6268 The following subcommands are available, where
6269 <computeroutput>&lt;vm&gt;</computeroutput> can either be a VM
6270 name or a VM UUID, as with the other VBoxManage commands:
6271 </para>
6272
6273 <itemizedlist>
6274
6275 <listitem>
6276 <para>
6277 <computeroutput>enumerate &lt;vm&gt; [--patterns
6278 &lt;pattern&gt;]</computeroutput>: This lists all the guest
6279 properties that are available for the given VM, including the
6280 value. This list will be very limited if the guest's service
6281 process cannot be contacted, e.g. because the VM is not
6282 running or the Guest Additions are not installed.
6283 </para>
6284
6285 <para>
6286 If <computeroutput>--patterns &lt;pattern&gt;</computeroutput>
6287 is specified, it acts as a filter to only list properties that
6288 match the given pattern. The pattern can contain the following
6289 wildcard characters:
6290 </para>
6291
6292 <itemizedlist>
6293
6294 <listitem>
6295 <para>
6296 <computeroutput>*</computeroutput> (asterisk): represents
6297 any number of characters; for example,
6298 "<computeroutput>/VirtualBox*</computeroutput>" would
6299 match all properties beginning with "/VirtualBox".
6300 </para>
6301 </listitem>
6302
6303 <listitem>
6304 <para>
6305 <computeroutput>?</computeroutput> (question mark):
6306 represents a single arbitrary character; for example,
6307 "<computeroutput>fo?</computeroutput>" would match both
6308 "foo" and "for".
6309 </para>
6310 </listitem>
6311
6312 <listitem>
6313 <para>
6314 <computeroutput>|</computeroutput> (pipe symbol): can be
6315 used to specify multiple alternative patterns; for
6316 example, "<computeroutput>s*|t*</computeroutput>" would
6317 match anything starting with either "s" or "t".
6318 </para>
6319 </listitem>
6320
6321 </itemizedlist>
6322 </listitem>
6323
6324 <listitem>
6325 <para>
6326 <computeroutput>get &lt;vm&gt; &lt;property&gt;
6327 </computeroutput>: This retrieves the value of a single
6328 property only. If the property cannot be found (e.g. because
6329 the guest is not running), this will print
6330
6331<screen>No value set!</screen>
6332 </para>
6333 </listitem>
6334
6335 <listitem>
6336 <para>
6337 <computeroutput>set &lt;vm&gt; &lt;property&gt; [&lt;value&gt;
6338 [--flags &lt;flags&gt;]]</computeroutput>: This allows you to
6339 set a guest property by specifying the key and value. If
6340 <computeroutput>&lt;value&gt;</computeroutput> is omitted, the
6341 property is deleted. With
6342 <computeroutput>--flags</computeroutput>, you can specify
6343 additional behavior. You can combine several flags by
6344 separating them with commas.
6345 </para>
6346
6347 <itemizedlist>
6348
6349 <listitem>
6350 <para>
6351 <computeroutput>TRANSIENT</computeroutput>: The value will
6352 not be stored with the VM data when the VM exits.
6353 </para>
6354 </listitem>
6355
6356 <listitem>
6357 <para>
6358 <computeroutput>TRANSRESET</computeroutput>: The value
6359 will be deleted as soon as the VM restarts and/or exits.
6360 </para>
6361 </listitem>
6362
6363 <listitem>
6364 <para>
6365 <computeroutput>RDONLYGUEST</computeroutput>: The value
6366 can only be changed by the host, but the guest can only
6367 read it.
6368 </para>
6369 </listitem>
6370
6371 <listitem>
6372 <para>
6373 <computeroutput>RDONLYHOST</computeroutput>: The value can
6374 only be changed by the guest, but the host can only read
6375 it.
6376 </para>
6377 </listitem>
6378
6379 <listitem>
6380 <para>
6381 <computeroutput>READONLY</computeroutput>: The value
6382 cannot be changed at all.
6383 </para>
6384 </listitem>
6385
6386 </itemizedlist>
6387 </listitem>
6388
6389 <listitem>
6390 <para>
6391 <computeroutput>wait &lt;vm&gt; &lt;pattern&gt; --timeout
6392 &lt;timeout&gt;</computeroutput>: This waits for a particular
6393 value described by "pattern" to change or to be deleted or
6394 created. The pattern rules are the same as for the "enumerate"
6395 subcommand above.
6396 </para>
6397 </listitem>
6398
6399 <listitem>
6400 <para>
6401 <computeroutput>delete &lt;vm&gt;
6402 &lt;property&gt;</computeroutput>: Deletes a formerly set
6403 guest property.
6404 </para>
6405 </listitem>
6406
6407 </itemizedlist>
6408
6409 </sect1>
6410
6411 <sect1 id="vboxmanage-guestcontrol">
6412
6413 <title>VBoxManage guestcontrol</title>
6414
6415 <para>
6416 The <computeroutput>guestcontrol</computeroutput> commands enable
6417 control of the guest from the host. See
6418 <xref
6419 linkend="guestadd-guestcontrol" /> for an introduction.
6420 </para>
6421
6422 <para>
6423 guestcontrol has two sets of subcommands. The first set requires
6424 guest credentials to be specified, the second does not.
6425 </para>
6426
6427 <para>
6428 The first set of subcommands is of the form:
6429 </para>
6430
6431<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; &lt;sub-command&gt;
6432 [--username &lt;name&gt; ]
6433 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
6434 [--domain &lt;domain&gt; ]
6435 [-v|--verbose] [-q|quiet] ...
6436 </screen>
6437
6438 <para>
6439 The "common-options" are:
6440 </para>
6441
6442<screen>
6443 [--username &lt;name&gt; ]
6444 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
6445 [--domain &lt;domain&gt; ]
6446 [-v|--verbose] [-q|quiet]
6447 </screen>
6448
6449 <para>
6450 Where details of the common options for the first set of
6451 subcommands are:
6452 </para>
6453
6454 <variablelist>
6455
6456 <varlistentry>
6457 <term>
6458 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
6459 </term>
6460
6461 <listitem>
6462 <para>
6463 Specifies the VM UUID or VM name. Mandatory.
6464 </para>
6465 </listitem>
6466 </varlistentry>
6467
6468 <varlistentry>
6469 <term>
6470 <computeroutput>--username &lt;name&gt;</computeroutput>
6471 </term>
6472
6473 <listitem>
6474 <para>
6475 Specifies the user name on guest OS under which the process
6476 should run. This user name must already exist on the guest
6477 OS. If unspecified, the host user name is used. Optional
6478 </para>
6479 </listitem>
6480 </varlistentry>
6481
6482 <varlistentry>
6483 <term>
6484 <computeroutput>--passwordfile
6485 &lt;file&gt;|--password</computeroutput>
6486 </term>
6487
6488 <listitem>
6489 <para>
6490 Specifies the absolute path on guest file system of password
6491 file containing the password for the specified user account
6492 or password for the specified user account. Optional. If
6493 both are omitted, empty password is assumed.
6494 </para>
6495 </listitem>
6496 </varlistentry>
6497
6498 <varlistentry>
6499 <term>
6500 <computeroutput>--domain &lt;domain&gt;</computeroutput>
6501 </term>
6502
6503 <listitem>
6504 <para>
6505 User domain for Windows guests. Optional.
6506 </para>
6507 </listitem>
6508 </varlistentry>
6509
6510 <varlistentry>
6511 <term>
6512 <computeroutput>-v|--verbose</computeroutput>
6513 </term>
6514
6515 <listitem>
6516 <para>
6517 Makes the subcommand execution more verbose. Optional
6518 </para>
6519 </listitem>
6520 </varlistentry>
6521
6522 <varlistentry>
6523 <term>
6524 <computeroutput>-q|--quiet</computeroutput>
6525 </term>
6526
6527 <listitem>
6528 <para>
6529 Makes the subcommand execution quieter. Optional.
6530 </para>
6531 </listitem>
6532 </varlistentry>
6533
6534 </variablelist>
6535
6536 <para>
6537 The first set of subcommands:
6538 </para>
6539
6540 <itemizedlist>
6541
6542 <listitem>
6543 <para>
6544 <emphasis role="bold"><computeroutput>run</computeroutput></emphasis>
6545 Executes a guest program - forwarding stdout, stderr and stdin
6546 to/from the host until it completes.
6547 </para>
6548
6549<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; run [common-options]
6550 --exe &lt;path to executable&gt; [--timeout &lt;msec&gt;]
6551 [-E|--putenv &lt;NAME&gt;[=&lt;VALUE&gt;]] [--unquoted-args]
6552 [--ignore-operhaned-processes] [--profile]
6553 [--no-wait-stdout|--wait-stdout]
6554 [--no-wait-stderr|--wait-stderr]
6555 [--dos2unix] [--unix2dos]
6556 -- &lt;program/arg0&gt; [argument1] ... [argumentN]]
6557 </screen>
6558
6559 <variablelist>
6560
6561 <varlistentry>
6562 <term>
6563 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
6564 </term>
6565
6566 <listitem>
6567 <para>
6568 Specifies the VM UUID or VM name. Mandatory.
6569 </para>
6570 </listitem>
6571 </varlistentry>
6572
6573 <varlistentry>
6574 <term>
6575 <computeroutput>--exe &lt;path to
6576 executable&gt;</computeroutput>
6577 </term>
6578
6579 <listitem>
6580 <para>
6581 Specifies the absolute path of the executable on the
6582 guest OS file system. Mandatory. e.g.:
6583 <computeroutput>C:\Windows\System32\calc.exe</computeroutput>.
6584 </para>
6585 </listitem>
6586 </varlistentry>
6587
6588 <varlistentry>
6589 <term>
6590 <computeroutput>--timeout &lt;msec&gt;</computeroutput>
6591 </term>
6592
6593 <listitem>
6594 <para>
6595 Specifies the maximum time (microseconds) that the
6596 executable can run, during which VBoxManage receives its
6597 output. Optional. If unspecified, VBoxManage waits
6598 indefinitely for the process to end, or an error occurs.
6599 </para>
6600 </listitem>
6601 </varlistentry>
6602
6603 <varlistentry>
6604 <term>
6605 <computeroutput>-E|--putenv &lt;NAME&gt;=&lt;VALUE&gt;
6606 </computeroutput>
6607 </term>
6608
6609 <listitem>
6610 <para>
6611 Sets/modifies/unsets environment variable(s) in the
6612 environment in which the program will run. Optional.
6613 </para>
6614
6615 <para>
6616 The guest process is created with the standard default
6617 guest OS environment. Use this option to modify that
6618 default environment. To set/modify a variable use:
6619 <computeroutput>&lt;NAME&gt;=&lt;VALUE&gt;</computeroutput>.
6620 To unset a variable use:
6621 <computeroutput>&lt;NAME&gt;=</computeroutput>
6622 </para>
6623
6624 <para>
6625 Any spaces in names/values should be enclosed by quotes.
6626 </para>
6627
6628 <para>
6629 To set/modify/unset multiple variables, use multiple
6630 instances of the
6631 <computeroutput>--E|--putenv</computeroutput> option.
6632 </para>
6633 </listitem>
6634 </varlistentry>
6635
6636 <varlistentry>
6637 <term>
6638 <computeroutput>--unquoted-args</computeroutput>
6639 </term>
6640
6641 <listitem>
6642 <para>
6643 Disables escaped double quoting (e.g. \"fred\") on
6644 arguments passed to the executed program. Optional.
6645 </para>
6646 </listitem>
6647 </varlistentry>
6648
6649 <varlistentry>
6650 <term>
6651 <computeroutput>--ignore-operhaned-processes</computeroutput>
6652 </term>
6653
6654 <listitem>
6655 <para>
6656 Ignore orphaned processes. Not yet implemented.
6657 Optional.
6658 </para>
6659 </listitem>
6660 </varlistentry>
6661
6662 <varlistentry>
6663 <term>
6664 <computeroutput>--profile</computeroutput>
6665 </term>
6666
6667 <listitem>
6668 <para>
6669 Use Profile. Not yet implemented. Optional.
6670 </para>
6671 </listitem>
6672 </varlistentry>
6673
6674 <varlistentry>
6675 <term>
6676 <computeroutput>--no-wait-stdout|--wait-stdout</computeroutput>
6677 </term>
6678
6679 <listitem>
6680 <para>
6681 Does not wait/waits until the guest process ends and
6682 receives its exit code and reason/flags. In the case of
6683 --wait-stdout - while the process runs, VBoxManage
6684 receives its stdout. Optional.
6685 </para>
6686 </listitem>
6687 </varlistentry>
6688
6689 <varlistentry>
6690 <term>
6691 <computeroutput>--no-wait-stderr|--wait-stderr</computeroutput>
6692 </term>
6693
6694 <listitem>
6695 <para>
6696 Does not wait/waits until the guest process ends and
6697 receives its exit code and reason/flags. In case of
6698 --wait-stderr - while the process runs, VBoxManage
6699 receives its stderr. Optional.
6700 </para>
6701 </listitem>
6702 </varlistentry>
6703
6704 <varlistentry>
6705 <term>
6706 <computeroutput>--dos2unix</computeroutput>
6707 </term>
6708
6709 <listitem>
6710 <para>
6711 Converts output from DOS/Windows guests to
6712 UNIX/Linux-compatible line endings, CR + LF to LF. Not
6713 yet implemented. Optional.
6714 </para>
6715 </listitem>
6716 </varlistentry>
6717
6718 <varlistentry>
6719 <term>
6720 <computeroutput>--unix2dos</computeroutput>
6721 </term>
6722
6723 <listitem>
6724 <para>
6725 Converts output from a UNIX/Linux guests to
6726 DOS/Windows-compatible line endings, LF to CR + LF. Not
6727 yet implemented. Optional.
6728 </para>
6729 </listitem>
6730 </varlistentry>
6731
6732 <varlistentry>
6733 <term>
6734 <computeroutput>[-- &lt;program/arg0&gt;
6735 [&lt;argument1&gt;] ...
6736 [&lt;argumentN&gt;]]</computeroutput>
6737 </term>
6738
6739 <listitem>
6740 <para>
6741 Specifies program name, followed by one or more
6742 arguments to pass to the program. Optional.
6743 </para>
6744
6745 <para>
6746 Note: Any spaces in arguments should be enclosed by
6747 quotes.
6748 </para>
6749 </listitem>
6750 </varlistentry>
6751
6752 </variablelist>
6753
6754 <para>
6755 <note>
6756 <para>
6757 On Windows there are certain limitations for graphical
6758 applications; please see <xref linkend="KnownIssues" />
6759 for more information.
6760 </para>
6761 </note>
6762
6763 Examples:
6764
6765<screen>VBoxManage --nologo guestcontrol "My VM" run --exe "/bin/ls"
6766 --username foo --passwordfile bar.txt --wait-exit --wait-stdout -- -l /usr</screen>
6767
6768<screen>VBoxManage --nologo guestcontrol "My VM" run --exe "c:\\windows\\system32\\ipconfig.exe"
6769 --username foo --passwordfile bar.txt --wait-exit --wait-stdout</screen>
6770
6771 Note that the double backslashes in the second example are
6772 only required on Unix hosts.
6773 </para>
6774
6775 <para>
6776 <note>
6777 <para>
6778 For certain commands a user name of an existing user
6779 account on the guest must be specified; anonymous
6780 executions are not supported for security reasons. A user
6781 account password, however, is optional and depends on the
6782 guest's OS security policy or rules. If no password is
6783 specified for a given user name, an empty password will be
6784 used. On certain OSes like Windows the security policy may
6785 needs to be adjusted in order to allow user accounts with
6786 an empty password set. Also, global domain rules might
6787 apply and therefore cannot be changed.
6788 </para>
6789 </note>
6790 </para>
6791
6792 <para>
6793 Starting at VirtualBox 4.1.2 guest process execution by
6794 default is limited to serve up to 5 guest processes at a time.
6795 If a new guest process gets started which would exceed this
6796 limit, the oldest not running guest process will be discarded
6797 in order to be able to run that new process. Also, retrieving
6798 output from this old guest process will not be possible
6799 anymore then. If all 5 guest processes are still active and
6800 running, starting a new guest process will result in an
6801 appropriate error message.
6802 </para>
6803
6804 <para>
6805 To raise or lower the guest process execution limit, either
6806 the guest property
6807 <computeroutput>/VirtualBox/GuestAdd/VBoxService/--control-procs-max-kept</computeroutput>
6808 or VBoxService' command line by specifying
6809 <computeroutput>--control-procs-max-kept</computeroutput>
6810 needs to be modified. A restart of the guest OS is required
6811 afterwards. To serve unlimited guest processes, a value of
6812 <computeroutput>0</computeroutput> needs to be set (not
6813 recommended).
6814 </para>
6815 </listitem>
6816
6817 <listitem>
6818 <para>
6819 <emphasis role="bold"><computeroutput>start</computeroutput></emphasis>
6820 Executes a guest program until it completes.
6821 </para>
6822
6823<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; start [common-options]
6824 [--exe &lt;path to executable&gt;] [--timeout &lt;msec&gt;]
6825 [-E|--putenv &lt;NAME&gt;[=&lt;VALUE&gt;]] [--unquoted-args]
6826 [--ignore-operhaned-processes] [--profile]
6827 -- &lt;program/arg0&gt; [argument1] ... [argumentN]]
6828 </screen>
6829
6830 <para>
6831 Where the options are:
6832 </para>
6833
6834 <variablelist>
6835
6836 <varlistentry>
6837 <term>
6838 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
6839 </term>
6840
6841 <listitem>
6842 <para>
6843 Specifies the VM UUID or VM name. Mandatory.
6844 </para>
6845 </listitem>
6846 </varlistentry>
6847
6848 <varlistentry>
6849 <term>
6850 <computeroutput>--exe &lt;path to
6851 executable&gt;</computeroutput>
6852 </term>
6853
6854 <listitem>
6855 <para>
6856 Specifies the absolute path of the executable on the
6857 guest OS file system. Mandatory. e.g.:
6858 <computeroutput>C:\Windows\System32\calc.exe</computeroutput>
6859 </para>
6860 </listitem>
6861 </varlistentry>
6862
6863 <varlistentry>
6864 <term>
6865 <computeroutput>--timeout &lt;msec&gt;</computeroutput>
6866 </term>
6867
6868 <listitem>
6869 <para>
6870 Specifies the maximum time (microseconds) that the
6871 executable can run. Optional. If unspecified, VBoxManage
6872 waits indefinitely for the process to end, or an error
6873 occurs.
6874 </para>
6875 </listitem>
6876 </varlistentry>
6877
6878 <varlistentry>
6879 <term>
6880 <computeroutput>-E|--putenv &lt;NAME&gt;=&lt;VALUE&gt;
6881 </computeroutput>
6882 </term>
6883
6884 <listitem>
6885 <para>
6886 Sets/modifies/unsets environment variable(s) in the
6887 environment in which the program will run. Optional.
6888 </para>
6889
6890 <para>
6891 The guest process is created with the standard default
6892 guest OS environment. Use this option to modify that
6893 default environment. To set/modify a variable use:
6894 <computeroutput>&lt;NAME&gt;=&lt;VALUE&gt;</computeroutput>.
6895 To unset a variable use:
6896 <computeroutput>&lt;NAME&gt;=</computeroutput>
6897 </para>
6898
6899 <para>
6900 Any spaces in names/values should be enclosed by quotes.
6901 </para>
6902
6903 <para>
6904 To set/modify/unset multiple variables, use multiple
6905 instances of the
6906 <computeroutput>--E|--putenv</computeroutput> option.
6907 </para>
6908 </listitem>
6909 </varlistentry>
6910
6911 <varlistentry>
6912 <term>
6913 <computeroutput>--unquoted-args</computeroutput>
6914 </term>
6915
6916 <listitem>
6917 <para>
6918 Disables escaped double quoting (e.g. \"fred\") on
6919 arguments passed to the executed program. Optional.
6920 </para>
6921 </listitem>
6922 </varlistentry>
6923
6924 <varlistentry>
6925 <term>
6926 <computeroutput>--ignore-operhaned-processes</computeroutput>
6927 </term>
6928
6929 <listitem>
6930 <para>
6931 Ignores orphaned processes. Not yet implemented.
6932 Optional.
6933 </para>
6934 </listitem>
6935 </varlistentry>
6936
6937 <varlistentry>
6938 <term>
6939 <computeroutput>--profile</computeroutput>
6940 </term>
6941
6942 <listitem>
6943 <para>
6944 Use a profile. Not yet implemented. Optional.
6945 </para>
6946 </listitem>
6947 </varlistentry>
6948
6949 <varlistentry>
6950 <term>
6951 <computeroutput>[-- &lt;program/arg0&gt;
6952 [&lt;argument1&gt;] ...
6953 [&lt;argumentN&gt;]]</computeroutput>
6954 </term>
6955
6956 <listitem>
6957 <para>
6958 Specifies program name, followed by one or more
6959 arguments to pass to the program. Optional.
6960 </para>
6961
6962 <para>
6963 Note: Any spaces in arguments should be enclosed by
6964 quotes.
6965 </para>
6966 </listitem>
6967 </varlistentry>
6968
6969 </variablelist>
6970
6971 <note>
6972 <para>
6973 On Windows there are certain limitations for graphical
6974 applications; please see <xref linkend="KnownIssues" /> for
6975 more information.
6976 </para>
6977 </note>
6978
6979 <para>
6980 Examples:
6981
6982<screen>VBoxManage --nologo guestcontrol "My VM" start --exe "/bin/ls"
6983 --username foo --passwordfile bar.txt --wait-exit --wait-stdout -- -l /usr</screen>
6984
6985<screen>VBoxManage --nologo guestcontrol "My VM" start --exe "c:\\windows\\system32\\ipconfig.exe"
6986 --username foo --passwordfile bar.txt --wait-exit --wait-stdout</screen>
6987
6988 Note that the double backslashes in the second example are
6989 only required on Unix hosts.
6990 </para>
6991
6992 <note>
6993 <para>
6994 For certain commands a user name of an existing user account
6995 on the guest must be specified; anonymous executions are not
6996 supported for security reasons. A user account password,
6997 however, is optional and depends on the guest's OS security
6998 policy or rules. If no password is specified for a given
6999 user name, an empty password will be used. On certain OSes
7000 like Windows the security policy may needs to be adjusted in
7001 order to allow user accounts with an empty password set.
7002 Also, global domain rules might apply and therefore cannot
7003 be changed.
7004 </para>
7005 </note>
7006
7007 <para>
7008 Starting at VirtualBox 4.1.2 guest process execution by
7009 default is limited to serve up to 5 guest processes at a time.
7010 If a new guest process gets started which would exceed this
7011 limit, the oldest not running guest process will be discarded
7012 in order to be able to run that new process. Also, retrieving
7013 output from this old guest process will not be possible
7014 anymore then. If all 5 guest processes are still active and
7015 running, starting a new guest process will result in an
7016 appropriate error message.
7017 </para>
7018
7019 <para>
7020 To raise or lower the guest process execution limit, either
7021 the guest property
7022 <computeroutput>/VirtualBox/GuestAdd/VBoxService/--control-procs-max-kept</computeroutput>
7023 or VBoxService' command line by specifying
7024 <computeroutput>--control-procs-max-kept</computeroutput>
7025 needs to be modified. A restart of the guest OS is required
7026 afterwards. To serve unlimited guest processes, a value of
7027 <computeroutput>0</computeroutput> needs to be set (not
7028 recommended).
7029 </para>
7030 </listitem>
7031
7032 <listitem>
7033 <para>
7034 <emphasis role="bold"><computeroutput>copyfrom</computeroutput></emphasis>
7035 Copies files from the guest to the host file system. (Note -
7036 only with Guest Additions 4.0 or later installed).
7037 </para>
7038
7039<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; copyfrom [common-options]
7040 [--follow] [--R|recursive]
7041 --target-directory &lt;host-dst-dir&gt;
7042 &lt;guest-src0&gt; [&lt;guest-src1&gt; [...]] </screen>
7043
7044 <para>
7045 Where the parameters are:
7046 </para>
7047
7048 <variablelist>
7049
7050 <varlistentry>
7051 <term>
7052 <computeroutput>&lt;uid|vmname&gt;</computeroutput>
7053 </term>
7054
7055 <listitem>
7056 <para>
7057 Specifies the VM UUID or VM name. Mandatory.
7058 </para>
7059 </listitem>
7060 </varlistentry>
7061
7062 <varlistentry>
7063 <term>
7064 <computeroutput>--follow</computeroutput>
7065 </term>
7066
7067 <listitem>
7068 <para>
7069 Enables symlink following on the guest file system.
7070 Optional.
7071 </para>
7072 </listitem>
7073 </varlistentry>
7074
7075 <varlistentry>
7076 <term>
7077 <computeroutput>-R|--recursive</computeroutput>
7078 </term>
7079
7080 <listitem>
7081 <para>
7082 Enables recursive copying of files/directories from the
7083 specified guest file system directory. Optional.
7084 </para>
7085 </listitem>
7086 </varlistentry>
7087
7088 <varlistentry>
7089 <term>
7090 <computeroutput>--target-directory
7091 &lt;host-dst-dir&gt;</computeroutput>
7092 </term>
7093
7094 <listitem>
7095 <para>
7096 Specifies the absolute path of the host file system
7097 destination directory. Mandatory. e.g.
7098 <computeroutput>C:\Temp</computeroutput>.
7099 </para>
7100 </listitem>
7101 </varlistentry>
7102
7103 <varlistentry>
7104 <term>
7105 <computeroutput>&lt;guest-src0&gt; [&lt;guest-src1&gt;
7106 [...]]</computeroutput>
7107 </term>
7108
7109 <listitem>
7110 <para>
7111 Specifies the absolute path(s) of guest file system
7112 file(s) to be copied. Mandatory. e.g.
7113 <computeroutput>C:\Windows\System32\calc.exe</computeroutput>.
7114 Wildcards can be used in the expression(s), e.g.
7115 <computeroutput>C:\Windows\System*\*.dll</computeroutput>.
7116 </para>
7117 </listitem>
7118 </varlistentry>
7119
7120 </variablelist>
7121 </listitem>
7122
7123 <listitem>
7124 <para>
7125 <emphasis role="bold"><computeroutput>copyto</computeroutput></emphasis>
7126 Copies files from the host to the guest file system. (Note -
7127 only with Guest Additions 4.0 or later installed).
7128 </para>
7129
7130<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; copyto [common-options]
7131 [--follow] [--R|recursive]
7132 --target-directory &lt;guest-dst&gt;
7133 &lt;host-src0&gt; [&lt;host-src1&gt; [...]] </screen>
7134
7135 <para>
7136 Where the parameters are:
7137 </para>
7138
7139 <variablelist>
7140
7141 <varlistentry>
7142 <term>
7143 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7144 </term>
7145
7146 <listitem>
7147 <para>
7148 Specifies the VM UUID or VM name. Mandatory.
7149 </para>
7150 </listitem>
7151 </varlistentry>
7152
7153 <varlistentry>
7154 <term>
7155 <computeroutput>--follow</computeroutput>
7156 </term>
7157
7158 <listitem>
7159 <para>
7160 Enables symlink following on the host file system.
7161 Optional.
7162 </para>
7163 </listitem>
7164 </varlistentry>
7165
7166 <varlistentry>
7167 <term>
7168 <computeroutput>-R|--recursive</computeroutput>
7169 </term>
7170
7171 <listitem>
7172 <para>
7173 Enables recursive copying of files/directories from the
7174 specified host file system directory(ies). Optional.
7175 </para>
7176 </listitem>
7177 </varlistentry>
7178
7179 <varlistentry>
7180 <term>
7181 <computeroutput>--target-directory
7182 &lt;guest-dst&gt;</computeroutput>
7183 </term>
7184
7185 <listitem>
7186 <para>
7187 Specifies the absolute path of the guest file system
7188 destination directory. Mandatory. e.g.
7189 <computeroutput>C:\Temp</computeroutput>.
7190 </para>
7191 </listitem>
7192 </varlistentry>
7193
7194 <varlistentry>
7195 <term>
7196 <computeroutput>&lt;host-src0&gt; [&lt;host-src1&gt;
7197 [...]]</computeroutput>
7198 </term>
7199
7200 <listitem>
7201 <para>
7202 Specifies the absolute path(s) of host file system
7203 file(s) to be copied. Mandatory. e.g.
7204 <computeroutput>C:\Windows\System32\calc.exe</computeroutput>.
7205 Wildcards can be used in the expression(s), e.g.
7206 <computeroutput>C:\Windows\System*\*.dll</computeroutput>.
7207 </para>
7208 </listitem>
7209 </varlistentry>
7210
7211 </variablelist>
7212 </listitem>
7213
7214 <listitem>
7215 <para>
7216 <emphasis role="bold"><computeroutput>md|mkdir|createdir|createdirectory</computeroutput></emphasis>
7217 Creates one or more directory(ies) on the guest file system.
7218 (Note - only with Guest Additions 4.0 or later installed).
7219 </para>
7220
7221<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; md|mkdir|createdir|createdirectory [common-options]
7222 [--parents] [--mode &lt;mode&gt;]
7223 &lt;guest-dir0&gt; [&lt;guest-dir1&gt; [...]] </screen>
7224
7225 <para>
7226 Where the parameters are:
7227 </para>
7228
7229 <variablelist>
7230
7231 <varlistentry>
7232 <term>
7233 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7234 </term>
7235
7236 <listitem>
7237 <para>
7238 Specifies the VM UUID or VM name. Mandatory.
7239 </para>
7240 </listitem>
7241 </varlistentry>
7242
7243 <varlistentry>
7244 <term>
7245 <computeroutput>--parents</computeroutput>
7246 </term>
7247
7248 <listitem>
7249 <para>
7250 Creates any absent parent directory(ies) of the
7251 specified directory. Optional.
7252 </para>
7253
7254 <para>
7255 e.g. If specified directory is
7256 <computeroutput>D:\Foo\Bar</computeroutput> and
7257 <computeroutput>D:\Foo</computeroutput> is absent, it
7258 will be created. In such a case, had the
7259 <computeroutput>--parents</computeroutput> option not
7260 been used, this command would have failed.
7261 </para>
7262 </listitem>
7263 </varlistentry>
7264
7265 <varlistentry>
7266 <term>
7267 <computeroutput>--mode &lt;mode&gt;</computeroutput>
7268 </term>
7269
7270 <listitem>
7271 <para>
7272 Specifies the permission mode on the specified
7273 directory(ies) (and any parents, where
7274 <computeroutput>--parents</computeroutput> option used).
7275 Currently octal modes (e.g.
7276 <computeroutput>0755</computeroutput>) only are
7277 supported.
7278 </para>
7279 </listitem>
7280 </varlistentry>
7281
7282 <varlistentry>
7283 <term>
7284 <computeroutput>&lt;guest-dir0&gt; [&lt;guest-dir1&gt;
7285 [...]]</computeroutput>
7286 </term>
7287
7288 <listitem>
7289 <para>
7290 Specifies list of absolute path(s) of directory(ies) to
7291 be created on guest file system. Mandatory. e.g.
7292 <computeroutput>D:\Foo\Bar</computeroutput>.
7293 </para>
7294
7295 <para>
7296 All parent directories must already exist unless switch
7297 <computeroutput>--parents</computeroutput> used. (e.g.
7298 in the above example
7299 <computeroutput>D:\Foo</computeroutput>). The specified
7300 user must have sufficient rights to create the specified
7301 directory(ies), and any parents that need to be created.
7302 </para>
7303 </listitem>
7304 </varlistentry>
7305
7306 </variablelist>
7307 </listitem>
7308
7309 <listitem>
7310 <para>
7311 <emphasis role="bold"><computeroutput>rmdir|removedir|removedirectory</computeroutput></emphasis>
7312 Deletes specified guest file system directories. (Only with
7313 installed Guest Additions 4.3.2 and later).
7314 </para>
7315
7316<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; rmdir|removedir|removedirectory [common-options]
7317 [--recursive|-R]
7318 &lt;guest-dir0&gt; [&lt;guest-dir1&gt; [...]]
7319 </screen>
7320
7321 <para>
7322 Where the parameters are:
7323 </para>
7324
7325 <variablelist>
7326
7327 <varlistentry>
7328 <term>
7329 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7330 </term>
7331
7332 <listitem>
7333 <para>
7334 Specifies the VM UUID or VM name. Mandatory.
7335 </para>
7336 </listitem>
7337 </varlistentry>
7338
7339 <varlistentry>
7340 <term>
7341 <computeroutput>--recursive</computeroutput>
7342 </term>
7343
7344 <listitem>
7345 <para>
7346 Recursively removes directories and contents. Optional.
7347 </para>
7348 </listitem>
7349 </varlistentry>
7350
7351 <varlistentry>
7352 <term>
7353 <computeroutput>&lt;guest-dir0&gt; [&lt;guest-dir1&gt;
7354 [...]]</computeroutput>
7355 </term>
7356
7357 <listitem>
7358 <para>
7359 Specifies list of the absolute path(s) of directory(ies)
7360 to be deleted on guest file system. Mandatory. Wildcards
7361 are allowed. e.g.
7362 <computeroutput>D:\Foo\*Bar</computeroutput>. The
7363 specified user must have sufficient rights to delete the
7364 specified directory(ies).
7365 </para>
7366 </listitem>
7367 </varlistentry>
7368
7369 </variablelist>
7370 </listitem>
7371
7372 <listitem>
7373 <para>
7374 <emphasis role="bold"><computeroutput>rm|removefile</computeroutput></emphasis>
7375 Deletes specified files on the guest file system. (Only with
7376 installed Guest Additions 4.3.2 and later).
7377 </para>
7378
7379<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; rm|removefile [common-options]
7380 [-f|--force]
7381 &lt;guest-file0&gt; [&lt;guest-file1&gt; [...]] </screen>
7382
7383 <para>
7384 Where the parameters are:
7385 </para>
7386
7387 <variablelist>
7388
7389 <varlistentry>
7390 <term>
7391 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7392 </term>
7393
7394 <listitem>
7395 <para>
7396 Specifies the VM UUID or VM name. Mandatory.
7397 </para>
7398 </listitem>
7399 </varlistentry>
7400
7401 <varlistentry>
7402 <term>
7403 <computeroutput>-f|--force</computeroutput>
7404 </term>
7405
7406 <listitem>
7407 <para>
7408 Enforce operation (override any requests for
7409 confirmations). Optional.
7410 </para>
7411 </listitem>
7412 </varlistentry>
7413
7414 <varlistentry>
7415 <term>
7416 <computeroutput>&lt;guest-file0&gt; [&lt;guest-file1&gt;
7417 [...]]</computeroutput>
7418 </term>
7419
7420 <listitem>
7421 <para>
7422 Specifies list of absolute path(s) of file(s) to be
7423 deleted on guest file system. Mandatory. Wildcards are
7424 allowed. e.g.
7425 <computeroutput>D:\Foo\Bar\text*.txt</computeroutput>.
7426 The specified user should have sufficient rights to
7427 delete the specified file(s).
7428 </para>
7429 </listitem>
7430 </varlistentry>
7431
7432 </variablelist>
7433 </listitem>
7434
7435 <listitem>
7436 <para>
7437 <emphasis role="bold"><computeroutput>mv|move|ren|rename</computeroutput></emphasis>
7438 This subcommand renames file(s) and/or directory(ies) on the
7439 guest file system. (Only with installed Guest Additions 4.3.2
7440 and later).
7441 </para>
7442
7443<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; mv|move|ren|rename [common-options]
7444 &lt;guest-source0&gt; [&lt;guest-source1&gt; [...]] &lt;guest-dest&gt;</screen>
7445
7446 <para>
7447 Where the parameters are:
7448 </para>
7449
7450 <variablelist>
7451
7452 <varlistentry>
7453 <term>
7454 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7455 </term>
7456
7457 <listitem>
7458 <para>
7459 Specifies the VM UUID or VM name. Mandatory.
7460 </para>
7461 </listitem>
7462 </varlistentry>
7463
7464 <varlistentry>
7465 <term>
7466 <computeroutput>&lt;guest-source0&gt;
7467 [&lt;guest-source1&gt; [...]]</computeroutput>
7468 </term>
7469
7470 <listitem>
7471 <para>
7472 Specifies absolute path(s) of file(s) and/or single
7473 directory to be moved/renamed on guest file system.
7474 Mandatory. Wildcards are allowed in file names(s). The
7475 specified user should have sufficient rights to access
7476 the specified file(s).
7477 </para>
7478 </listitem>
7479 </varlistentry>
7480
7481 <varlistentry>
7482 <term>
7483 <computeroutput>&lt;dest&gt;</computeroutput>
7484 </term>
7485
7486 <listitem>
7487 <para>
7488 Specifies the absolute path of the destination
7489 file/directory to which the file(s) are to be moved.
7490 Mandatory. If only one file to be moved, &lt;dest&gt;
7491 can be file or directory, else it must be a directory.
7492 The specified user must have sufficient rights to access
7493 the destination file/directory.
7494 </para>
7495 </listitem>
7496 </varlistentry>
7497
7498 </variablelist>
7499 </listitem>
7500
7501 <listitem>
7502 <para>
7503 <emphasis role="bold"><computeroutput>mktemp|createtemp|createtemporary</computeroutput></emphasis>
7504 Creates a temporary file/directory on the guest file system,
7505 to assist subsequent copying of files from the host to the
7506 guest file systems. By default, the file/directory is created
7507 in the guest's platform specific temp directory. Not currently
7508 supported. (Only with installed Guest Additions 4.2 and
7509 later).
7510 </para>
7511
7512<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; mktemp|createtemp|createtemporary [common-options]
7513 [--directory] [--secure] [--mode &lt;mode&gt;] [--tmpdir &lt;directory&gt;]
7514 &lt;template&gt;
7515 </screen>
7516
7517 <para>
7518 The parameters are:
7519 </para>
7520
7521 <variablelist>
7522
7523 <varlistentry>
7524 <term>
7525 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7526 </term>
7527
7528 <listitem>
7529 <para>
7530 Specifies the VM UUID or VM name. Mandatory.
7531 </para>
7532 </listitem>
7533 </varlistentry>
7534
7535 <varlistentry>
7536 <term>
7537 <computeroutput>--directory</computeroutput>
7538 </term>
7539
7540 <listitem>
7541 <para>
7542 Creates a temporary directory instead of a file,
7543 specified by the &lt;template&gt; parameter. Optional.
7544 </para>
7545 </listitem>
7546 </varlistentry>
7547
7548 <varlistentry>
7549 <term>
7550 <computeroutput>--secure</computeroutput>
7551 </term>
7552
7553 <listitem>
7554 <para>
7555 Enforces secure file/directory creation. Optional. The
7556 permission mode is set to
7557 <computeroutput>0755</computeroutput>. Operation fails
7558 if it cannot be performed securely.
7559 </para>
7560 </listitem>
7561 </varlistentry>
7562
7563 <varlistentry>
7564 <term>
7565 <computeroutput>--mode &lt;mode&gt;</computeroutput>
7566 </term>
7567
7568 <listitem>
7569 <para>
7570 Specifies the permission mode of the specified
7571 directory. Optional. Currently only octal modes (e.g.
7572 <computeroutput>0755</computeroutput>) are supported.
7573 </para>
7574 </listitem>
7575 </varlistentry>
7576
7577 <varlistentry>
7578 <term>
7579 <computeroutput>--tmpdir
7580 &lt;directory&gt;</computeroutput>
7581 </term>
7582
7583 <listitem>
7584 <para>
7585 Specifies the absolute path of the directory on the
7586 guest file system into which the file/directory
7587 specified in will be created. Optional. If unspecified,
7588 the platform-specific temp directory is used.
7589 </para>
7590 </listitem>
7591 </varlistentry>
7592
7593 <varlistentry>
7594 <term>
7595 <computeroutput>&lt;template&gt;</computeroutput>
7596 </term>
7597
7598 <listitem>
7599 <para>
7600 Specifies a file name without a directory path,
7601 containing at least one sequence comprising three
7602 consecutive 'X' characters, or ending in 'X'. Mandatory.
7603 </para>
7604 </listitem>
7605 </varlistentry>
7606
7607 </variablelist>
7608 </listitem>
7609
7610 <listitem>
7611 <para>
7612 <emphasis role="bold"><computeroutput>stat</computeroutput></emphasis>
7613 Displays file or file system status(es) on the guest.
7614 </para>
7615
7616<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; stat [common-options]
7617 &lt;file0&gt; [&lt;file1&gt; [...]]</screen>
7618
7619 <para>
7620 Where the parameters are:
7621 </para>
7622
7623 <variablelist>
7624
7625 <varlistentry>
7626 <term>
7627 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7628 </term>
7629
7630 <listitem>
7631 <para>
7632 Specifies the VM UUID or VM name. Mandatory.
7633 </para>
7634 </listitem>
7635 </varlistentry>
7636
7637 <varlistentry>
7638 <term>
7639 <computeroutput>&lt;file0&gt; [&lt;file1&gt;
7640 [...]]</computeroutput>
7641 </term>
7642
7643 <listitem>
7644 <para>
7645 Specifies absolute path(s) of file(s) and/or file
7646 system(s) on guest file system. Mandatory. e.g.
7647 <computeroutput>/home/foo/a.out</computeroutput>. The
7648 specified user should have sufficient rights to access
7649 the specified file(s)/file system(s).
7650 </para>
7651 </listitem>
7652 </varlistentry>
7653
7654 </variablelist>
7655 </listitem>
7656
7657 </itemizedlist>
7658
7659 <para>
7660 The second set of subcommands is of the form:
7661 </para>
7662
7663<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; &lt;sub-command&gt;
7664 [-v|--verbose] [-q|quiet] ...
7665 </screen>
7666
7667 <para>
7668 The "common-options" are:
7669 </para>
7670
7671<screen>
7672 [-v|--verbose] [-q|--quiet]
7673 </screen>
7674
7675 <para>
7676 Where details of the common options for the second set of
7677 subcommands are:
7678 </para>
7679
7680 <variablelist>
7681
7682 <varlistentry>
7683 <term>
7684 <computeroutput>-v|--verbose</computeroutput>
7685 </term>
7686
7687 <listitem>
7688 <para>
7689 Makes the sub-command execution more verbose. Optional.
7690 </para>
7691 </listitem>
7692 </varlistentry>
7693
7694 <varlistentry>
7695 <term>
7696 <computeroutput>-q|--quiet</computeroutput>
7697 </term>
7698
7699 <listitem>
7700 <para>
7701 Makes the sub-command execution quieter. Optional.
7702 </para>
7703 </listitem>
7704 </varlistentry>
7705
7706 </variablelist>
7707
7708 <para>
7709 The second set of subcommands:
7710 </para>
7711
7712 <itemizedlist>
7713
7714 <listitem>
7715 <para>
7716 <emphasis role="bold"><computeroutput>list</computeroutput></emphasis>
7717 Lists guest control configuration and status data, e.g. open
7718 guest sessions, guest processes and files.
7719 </para>
7720
7721<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; list [common-opts]
7722 &lt;all|sessions|processes|files&gt; </screen>
7723
7724 <para>
7725 Where the parameters are:
7726 </para>
7727
7728 <variablelist>
7729
7730 <varlistentry>
7731 <term>
7732 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7733 </term>
7734
7735 <listitem>
7736 <para>
7737 Specifies the VM UUID or VM name. Mandatory.
7738 </para>
7739 </listitem>
7740 </varlistentry>
7741
7742 <varlistentry>
7743 <term>
7744 <computeroutput>all|sessions|processes|files</computeroutput>
7745 </term>
7746
7747 <listitem>
7748 <para>
7749 Indicates whether to list all available data or guest
7750 sessions, processes or files. Mandatory.
7751 </para>
7752 </listitem>
7753 </varlistentry>
7754
7755 </variablelist>
7756 </listitem>
7757
7758 <listitem>
7759 <para>
7760 <emphasis role="bold"><computeroutput>closeprocess</computeroutput></emphasis>
7761 Terminates guest processes specified by PID(s))running in
7762 guest session(s), specified by the session ID or name(s).
7763 </para>
7764
7765<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; closeprocess [common-options]
7766 --session-id &lt;ID&gt; | --session-name &lt;name or pattern&gt;
7767 &lt;PID0&gt; [&lt;PID1&gt; [...]] </screen>
7768
7769 <para>
7770 Where the parameters are:
7771 </para>
7772
7773 <variablelist>
7774
7775 <varlistentry>
7776 <term>
7777 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7778 </term>
7779
7780 <listitem>
7781 <para>
7782 Specifies the VM UUID or VM name. Mandatory.
7783 </para>
7784 </listitem>
7785 </varlistentry>
7786
7787 <varlistentry>
7788 <term>
7789 <computeroutput>--session-id &lt;ID&gt;</computeroutput>
7790 </term>
7791
7792 <listitem>
7793 <para>
7794 Specifies the guest session by its ID. Optional.
7795 </para>
7796 </listitem>
7797 </varlistentry>
7798
7799 <varlistentry>
7800 <term>
7801 <computeroutput>--session-name &lt;name or
7802 pattern&gt;</computeroutput>
7803 </term>
7804
7805 <listitem>
7806 <para>
7807 Specifies the guest session by its name, or multiple
7808 sessions using a pattern containing wildcards. Optional.
7809 </para>
7810 </listitem>
7811 </varlistentry>
7812
7813 <varlistentry>
7814 <term>
7815 <computeroutput>&lt;PID0&gt; [&lt;PID1&gt;
7816 [...]]</computeroutput>
7817 </term>
7818
7819 <listitem>
7820 <para>
7821 Specifies a list of process identifiers (PIDs) of guest
7822 processes to be terminated. Mandatory.
7823 </para>
7824 </listitem>
7825 </varlistentry>
7826
7827 </variablelist>
7828 </listitem>
7829
7830 <listitem>
7831 <para>
7832 <emphasis role="bold"><computeroutput>closesession</computeroutput></emphasis>
7833 Closes specified guest sessions, specified either by session
7834 ID or name.
7835 </para>
7836
7837<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; closesession [common-options]
7838 --session-id &lt;ID&gt; | --session-name &lt;name or pattern&gt; | --all </screen>
7839
7840 <para>
7841 Where the parameters are:
7842 </para>
7843
7844 <variablelist>
7845
7846 <varlistentry>
7847 <term>
7848 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7849 </term>
7850
7851 <listitem>
7852 <para>
7853 Specifies the VM UUID or VM name. Mandatory.
7854 </para>
7855 </listitem>
7856 </varlistentry>
7857
7858 <varlistentry>
7859 <term>
7860 <computeroutput>--session-id &lt;ID&gt;</computeroutput>
7861 </term>
7862
7863 <listitem>
7864 <para>
7865 Specifies the guest session to be closed by ID.
7866 Optional.
7867 </para>
7868 </listitem>
7869 </varlistentry>
7870
7871 <varlistentry>
7872 <term>
7873 <computeroutput>--session-name &lt;name or
7874 pattern&gt;</computeroutput>
7875 </term>
7876
7877 <listitem>
7878 <para>
7879 Specifies the guest session to be closed by name.
7880 Optional. Multiple sessions can be specified by using a
7881 pattern containing wildcards.
7882 </para>
7883 </listitem>
7884 </varlistentry>
7885
7886 <varlistentry>
7887 <term>
7888 <computeroutput>--all</computeroutput>
7889 </term>
7890
7891 <listitem>
7892 <para>
7893 Close all guest sessions. Optional.
7894 </para>
7895 </listitem>
7896 </varlistentry>
7897
7898 </variablelist>
7899 </listitem>
7900
7901 <listitem>
7902 <para>
7903 <emphasis role="bold"><computeroutput>updatega|updateadditions|updateguestadditions</computeroutput></emphasis>
7904 Ugrades Guest Additions already installed on the guest. (Only
7905 already installed Guest Additions 4.0 and later).
7906 </para>
7907
7908<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; updatega|updateadditions|updateguestadditions
7909 [common-options]
7910 [--source &lt;New .ISO path&gt;]
7911 [--wait-start]
7912 [-- &lt;argument0&gt; [&lt;argument1&gt; [...]]]</screen>
7913
7914 <para>
7915 Where the parameters are:
7916 </para>
7917
7918 <variablelist>
7919
7920 <varlistentry>
7921 <term>
7922 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
7923 </term>
7924
7925 <listitem>
7926 <para>
7927 Specifies the VM UUID or VM name. Mandatory.
7928 </para>
7929 </listitem>
7930 </varlistentry>
7931
7932 <varlistentry>
7933 <term>
7934 <computeroutput>--source</computeroutput> &lt;New .ISO
7935 path&gt;
7936 </term>
7937
7938 <listitem>
7939 <para>
7940 Specifies the absolute path on guest file system of the
7941 .ISO file for Guest Additions update. Mandatory.
7942 </para>
7943 </listitem>
7944 </varlistentry>
7945
7946 <varlistentry>
7947 <term>
7948 <computeroutput>--wait-start</computeroutput>
7949 </term>
7950
7951 <listitem>
7952 <para>
7953 Indicates that VBoxManage starts the usual updating
7954 process on the guest and then waits until the actual
7955 Guest Additions updating begins, at which point
7956 VBoxManage self-terminates. Optional.
7957 </para>
7958
7959 <para>
7960 Default behavior is that VBoxManage waits for completion
7961 of the Guest Additions update before terminating. Use of
7962 this option is sometimes necessary, as a running
7963 VBoxManage can affect the interaction between the
7964 installer and the guest OS.
7965 </para>
7966 </listitem>
7967 </varlistentry>
7968
7969 <varlistentry>
7970 <term>
7971 <computeroutput>[-- &lt;argument0&gt; [&lt;argument1&gt;
7972 [...]]]</computeroutput>
7973 </term>
7974
7975 <listitem>
7976 <para>
7977 Specifies optional command line arguments to be supplied
7978 to the Guest Additions updater. Useful for retrofitting
7979 features which are not currently installed.
7980 </para>
7981
7982 <para>
7983 Arguments containing spaces should be enclosed by
7984 quotes.
7985 </para>
7986 </listitem>
7987 </varlistentry>
7988
7989 </variablelist>
7990 </listitem>
7991
7992 <listitem>
7993 <para>
7994 <emphasis role="bold"><computeroutput>watch</computeroutput></emphasis>
7995 This subcommand prints current guest control activity.
7996 </para>
7997
7998<screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; watch [common-options]
7999 </screen>
8000
8001 <para>
8002 Where the parameters are:
8003 </para>
8004
8005 <variablelist>
8006
8007 <varlistentry>
8008 <term>
8009 <computeroutput>&lt;uuid|vmname&gt;</computeroutput>
8010 </term>
8011
8012 <listitem>
8013 <para>
8014 Specifies the VM UUID or VM name. Mandatory.
8015 </para>
8016 </listitem>
8017 </varlistentry>
8018
8019 </variablelist>
8020 </listitem>
8021
8022 </itemizedlist>
8023
8024 </sect1>
8025
8026 <sect1 id="vboxmanage-metrics">
8027
8028 <title>VBoxManage metrics</title>
8029
8030 <para>
8031 This command supports monitoring the usage of system resources.
8032 Resources are represented by various metrics associated with the
8033 host system or a particular VM. For example, the host system has a
8034 <computeroutput>CPU/Load/User</computeroutput> metric that shows
8035 the percentage of time CPUs spend executing in user mode over a
8036 specific sampling period.
8037 </para>
8038
8039 <para>
8040 Metric data is collected and retained internally; it may be
8041 retrieved at any time with the <computeroutput>VBoxManage metrics
8042 query</computeroutput> subcommand. The data is available as long
8043 as the background <computeroutput>VBoxSVC</computeroutput> process
8044 is alive. That process terminates shortly after all VMs and
8045 frontends have been closed.
8046 </para>
8047
8048 <para>
8049 By default no metrics are collected at all. Metrics collection
8050 does not start until <computeroutput>VBoxManage metrics
8051 setup</computeroutput> is invoked with a proper sampling interval
8052 and the number of metrics to be retained. The interval is measured
8053 in seconds. For example, to enable collecting the host processor
8054 and memory usage metrics every second and keeping the 5 most
8055 current samples, the following command can be used:
8056 </para>
8057
8058<screen>VBoxManage metrics setup --period 1 --samples 5 host CPU/Load,RAM/Usage</screen>
8059
8060 <para>
8061 Metric collection can only be enabled for started VMs. Collected
8062 data and collection settings for a particular VM will disappear as
8063 soon as it shuts down. Use <computeroutput>VBoxManage metrics list
8064 </computeroutput> subcommand to see which metrics are currently
8065 available. You can also use
8066 <computeroutput>--list</computeroutput> option with any subcommand
8067 that modifies metric settings to find out which metrics were
8068 affected.
8069 </para>
8070
8071 <para>
8072 Note that the <computeroutput>VBoxManage metrics
8073 setup</computeroutput> subcommand discards all samples that may
8074 have been previously collected for the specified set of objects
8075 and metrics.
8076 </para>
8077
8078 <para>
8079 To enable or disable metrics collection without discarding the
8080 data <computeroutput>VBoxManage metrics enable</computeroutput>
8081 and <computeroutput>VBoxManage metrics disable</computeroutput>
8082 subcommands can be used. Note that these subcommands expect
8083 metrics, not submetrics, like <code>CPU/Load</code> or
8084 <code>RAM/Usage</code> as parameters. In other words enabling
8085 <code>CPU/Load/User</code> while disabling
8086 <code>CPU/Load/Kernel</code> is not supported.
8087 </para>
8088
8089 <para>
8090 The host and VMs have different sets of associated metrics.
8091 Available metrics can be listed with <computeroutput>VBoxManage
8092 metrics list</computeroutput> subcommand.
8093 </para>
8094
8095 <para>
8096 A complete metric name may include an aggregate function. The name
8097 has the following form:
8098 <computeroutput>Category/Metric[/SubMetric][:aggregate]</computeroutput>.
8099 For example, <computeroutput>RAM/Usage/Free:min</computeroutput>
8100 stands for the minimum amount of available memory over all
8101 retained data if applied to the host object.
8102 </para>
8103
8104 <para>
8105 Subcommands may apply to all objects and metrics or can be limited
8106 to one object or/and a list of metrics. If no objects or metrics
8107 are given in the parameters, the subcommands will apply to all
8108 available metrics of all objects. You may use an asterisk
8109 ("<computeroutput>*</computeroutput>") to explicitly specify that
8110 the command should be applied to all objects or metrics. Use
8111 "host" as the object name to limit the scope of the command to
8112 host-related metrics. To limit the scope to a subset of metrics,
8113 use a metric list with names separated by commas.
8114 </para>
8115
8116 <para>
8117 For example, to query metric data on the CPU time spent in user
8118 and kernel modes by the virtual machine named "test", you can use
8119 the following command:
8120 </para>
8121
8122<screen>VBoxManage metrics query test CPU/Load/User,CPU/Load/Kernel</screen>
8123
8124 <para>
8125 The following list summarizes the available subcommands:
8126 </para>
8127
8128 <variablelist>
8129
8130 <varlistentry>
8131 <term>
8132 <computeroutput>list</computeroutput>
8133 </term>
8134
8135 <listitem>
8136 <para>
8137 This subcommand shows the parameters of the currently
8138 existing metrics. Note that VM-specific metrics are only
8139 available when a particular VM is running.
8140 </para>
8141 </listitem>
8142 </varlistentry>
8143
8144 <varlistentry>
8145 <term>
8146 <computeroutput>setup</computeroutput>
8147 </term>
8148
8149 <listitem>
8150 <para>
8151 This subcommand sets the interval between taking two samples
8152 of metric data and the number of samples retained
8153 internally. The retained data is available for displaying
8154 with the <code>query</code> subcommand. The
8155 <computeroutput>--list </computeroutput> option shows which
8156 metrics have been modified as the result of the command
8157 execution.
8158 </para>
8159 </listitem>
8160 </varlistentry>
8161
8162 <varlistentry>
8163 <term>
8164 <computeroutput>enable</computeroutput>
8165 </term>
8166
8167 <listitem>
8168 <para>
8169 This subcommand "resumes" data collection after it has been
8170 stopped with <code>disable</code> subcommand. Note that
8171 specifying submetrics as parameters will not enable
8172 underlying metrics. Use
8173 <computeroutput>--list</computeroutput> to find out if the
8174 command did what was expected.
8175 </para>
8176 </listitem>
8177 </varlistentry>
8178
8179 <varlistentry>
8180 <term>
8181 <computeroutput>disable</computeroutput>
8182 </term>
8183
8184 <listitem>
8185 <para>
8186 This subcommand "suspends" data collection without affecting
8187 collection parameters or collected data. Note that
8188 specifying submetrics as parameters will not disable
8189 underlying metrics. Use
8190 <computeroutput>--list</computeroutput> to find out if the
8191 command did what was expected.
8192 </para>
8193 </listitem>
8194 </varlistentry>
8195
8196 <varlistentry>
8197 <term>
8198 <computeroutput>query</computeroutput>
8199 </term>
8200
8201 <listitem>
8202 <para>
8203 This subcommand retrieves and displays the currently
8204 retained metric data.
8205
8206 <note>
8207 <para>
8208 The <code>query</code> subcommand does not remove or
8209 "flush" retained data. If you query often enough you
8210 will see how old samples are gradually being "phased
8211 out" by new samples.
8212 </para>
8213 </note>
8214 </para>
8215 </listitem>
8216 </varlistentry>
8217
8218 <varlistentry>
8219 <term>
8220 <computeroutput>collect</computeroutput>
8221 </term>
8222
8223 <listitem>
8224 <para>
8225 This subcommand sets the interval between taking two samples
8226 of metric data and the number of samples retained
8227 internally. The collected data is displayed periodically
8228 until Ctrl-C is pressed unless the
8229 <computeroutput>--detach</computeroutput> option is
8230 specified. With the
8231 <computeroutput>--detach</computeroutput> option, this
8232 subcommand operates the same way as <code>setup</code> does.
8233 The <computeroutput>--list</computeroutput> option shows
8234 which metrics match the specified filter.
8235 </para>
8236 </listitem>
8237 </varlistentry>
8238
8239 </variablelist>
8240
8241 </sect1>
8242
8243 <sect1 id="vboxmanage-natnetwork">
8244
8245 <title>VBoxManage natnetwork</title>
8246
8247 <para>
8248 NAT networks use the Network Address Translation (NAT) service,
8249 which works in a similar way to a home router. It groups systems
8250 using it into a network and prevents outside systems from directly
8251 accessing those inside, while letting systems inside communicate
8252 with each other and outside systems using TCP and UDP over IPv4
8253 and IPv6.
8254 </para>
8255
8256 <para>
8257 A NAT service is attached to an internal network. Virtual machines
8258 to make use of one should be attached to it. The name of an
8259 internal network is chosen when the NAT service is created, and
8260 the internal network will be created if it does not already exist.
8261 An example command to create a NAT network:
8262 </para>
8263
8264<screen>VBoxManage natnetwork add --netname natnet1 --network "192.168.15.0/24" --enable</screen>
8265
8266 <para>
8267 Here, "natnet1" is the name of the internal network to be used and
8268 "192.168.15.0/24" is the network address and mask of the NAT
8269 service interface. By default, in this static configuration the
8270 gateway will be assigned the address 192.168.15.1, the address
8271 after the interface address, though this is subject to change.
8272 </para>
8273
8274 <para>
8275 To add a DHCP server to the NAT network after creation:
8276 </para>
8277
8278<screen>VBoxManage natnetwork modify --netname natnet1 --dhcp on</screen>
8279
8280 <para>
8281 Below are the subcommands for
8282 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8283 </computeroutput></emphasis>
8284 </para>
8285
8286<screen>VBoxManage natnetwork add --netname &lt;name&gt;
8287 [--network &lt;network&gt;]
8288 [--enable|--disable]
8289 [--dhcp on|off]
8290 [--port-forward-4 &lt;rule&gt;]
8291 [--loopback-4 &lt;rule&gt;]
8292 [--ipv6 on|off]
8293 [--port-forward-6 &lt;rule&gt;]
8294 [--loopback-6 &lt;rule&gt;]
8295 </screen>
8296
8297 <para>
8298 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8299 add</computeroutput></emphasis> Creates a new internal network
8300 interface, and adds a NAT network service. This command is a
8301 prerequisite for enabling attachment of VMs to the NAT network.
8302 Parameters are as follows:
8303 </para>
8304
8305 <variablelist>
8306
8307 <varlistentry>
8308 <term>
8309 <computeroutput>--netname &lt;name&gt;</computeroutput>
8310 </term>
8311
8312 <listitem>
8313 <para>
8314 Where &lt;name&gt; is the name of the new internal network
8315 interface on the host OS.
8316 </para>
8317 </listitem>
8318 </varlistentry>
8319
8320 <varlistentry>
8321 <term>
8322 <computeroutput>--network &lt;network&gt;</computeroutput>
8323 </term>
8324
8325 <listitem>
8326 <para>
8327 Where &lt;network&gt; specifies the static(default)/DHCP
8328 network address and mask of the NAT service interface.
8329 </para>
8330 </listitem>
8331 </varlistentry>
8332
8333 <varlistentry>
8334 <term>
8335 <computeroutput>--enable|--disable</computeroutput>
8336 </term>
8337
8338 <listitem>
8339 <para>
8340 Enables/disables the NAT network service.
8341 </para>
8342 </listitem>
8343 </varlistentry>
8344
8345 <varlistentry>
8346 <term>
8347 <computeroutput>--dhcp on|off</computeroutput>
8348 </term>
8349
8350 <listitem>
8351 <para>
8352 Enables/disables DHCP server specified by --netname; its use
8353 also indicates that it is a DHCP server.
8354 </para>
8355 </listitem>
8356 </varlistentry>
8357
8358 <varlistentry>
8359 <term>
8360 <computeroutput>--port-forward-4 &lt;rule&gt;</computeroutput>
8361 </term>
8362
8363 <listitem>
8364 <para>
8365 Enables IPv4 port forwarding, rule specified by
8366 &lt;rule&gt;.
8367 </para>
8368 </listitem>
8369 </varlistentry>
8370
8371 <varlistentry>
8372 <term>
8373 <computeroutput>--loopback-4 &lt;rule&gt;</computeroutput>
8374 </term>
8375
8376 <listitem>
8377 <para>
8378 Enables IPv4 loopback interface, rule specified by
8379 &lt;rule&gt;.
8380 </para>
8381 </listitem>
8382 </varlistentry>
8383
8384 <varlistentry>
8385 <term>
8386 <computeroutput>--ipv6 on|off</computeroutput>
8387 </term>
8388
8389 <listitem>
8390 <para>
8391 Enables/disables IPv6 (default is IPv4, disables gives
8392 IPv4).
8393 </para>
8394 </listitem>
8395 </varlistentry>
8396
8397 <varlistentry>
8398 <term>
8399 <computeroutput>--port-forward-6 &lt;rule&gt;</computeroutput>
8400 </term>
8401
8402 <listitem>
8403 <para>
8404 Enables IPv6 port forwarding, rule specified by
8405 &lt;rule&gt;.
8406 </para>
8407 </listitem>
8408 </varlistentry>
8409
8410 <varlistentry>
8411 <term>
8412 <computeroutput>--loopback-6 &lt;rule&gt;</computeroutput>
8413 </term>
8414
8415 <listitem>
8416 <para>
8417 Enables IPv6 loopback interface, rule specified by
8418 &lt;rule&gt;.
8419 </para>
8420 </listitem>
8421 </varlistentry>
8422
8423 </variablelist>
8424
8425<screen>VBoxManage natnetwork remove --netname &lt;name&gt; </screen>
8426
8427 <para>
8428 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8429 remove</computeroutput></emphasis> Removes a NAT network service.
8430 Parameters are as follows:
8431 </para>
8432
8433 <variablelist>
8434
8435 <varlistentry>
8436 <term>
8437 <computeroutput>--netname &lt;name&gt;</computeroutput>
8438 </term>
8439
8440 <listitem>
8441 <para>
8442 Where &lt;name&gt; specifies an existing NAT network
8443 service. Does not remove any DHCP server enabled on the
8444 network.
8445 </para>
8446 </listitem>
8447 </varlistentry>
8448
8449 </variablelist>
8450
8451<screen>VBoxManage natnetwork modify --netname &lt;name&gt;
8452 [--network &lt;network&gt;]
8453 [--enable|--disable]
8454 [--dhcp on|off]
8455 [--port-forward-4 &lt;rule&gt;]
8456 [--loopback-4 &lt;rule&gt;]
8457 [--ipv6 on|off]
8458 [--port-forward-6 &lt;rule&gt;]
8459 [--loopback-6 &lt;rule&gt;]
8460 </screen>
8461
8462 <para>
8463 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8464 modify</computeroutput></emphasis> Modifies an existing NAT
8465 network service. Parameters are as follows:
8466 </para>
8467
8468 <variablelist>
8469
8470 <varlistentry>
8471 <term>
8472 <computeroutput>--netname &lt;name&gt;</computeroutput>
8473 </term>
8474
8475 <listitem>
8476 <para>
8477 Where &lt;name&gt; specifies an existing NAT network
8478 service.
8479 </para>
8480 </listitem>
8481 </varlistentry>
8482
8483 <varlistentry>
8484 <term>
8485 <computeroutput>--network &lt;network&gt;</computeroutput>
8486 </term>
8487
8488 <listitem>
8489 <para>
8490 Where &lt;network&gt; specifies the new static(default)/DHCP
8491 network address and mask of the NAT service interface.
8492 </para>
8493 </listitem>
8494 </varlistentry>
8495
8496 <varlistentry>
8497 <term>
8498 <computeroutput>--enable|--disable</computeroutput>
8499 </term>
8500
8501 <listitem>
8502 <para>
8503 Enables/disables the NAT network service.
8504 </para>
8505 </listitem>
8506 </varlistentry>
8507
8508 <varlistentry>
8509 <term>
8510 <computeroutput>--dhcp on|off</computeroutput>
8511 </term>
8512
8513 <listitem>
8514 <para>
8515 Enables (and if absent, adds)/disables (if any) DHCP server.
8516 </para>
8517 </listitem>
8518 </varlistentry>
8519
8520 <varlistentry>
8521 <term>
8522 <computeroutput>--port-forward-4 &lt;rule&gt;</computeroutput>
8523 </term>
8524
8525 <listitem>
8526 <para>
8527 Enables IPv4 port forwarding, rule specified by
8528 &lt;rule&gt;.
8529 </para>
8530 </listitem>
8531 </varlistentry>
8532
8533 <varlistentry>
8534 <term>
8535 <computeroutput>--loopback-4 &lt;rule&gt;</computeroutput>
8536 </term>
8537
8538 <listitem>
8539 <para>
8540 Enables IPv4 loopback interface, rule specified by
8541 &lt;rule&gt;.
8542 </para>
8543 </listitem>
8544 </varlistentry>
8545
8546 <varlistentry>
8547 <term>
8548 <computeroutput>--ipv6 on|off</computeroutput>
8549 </term>
8550
8551 <listitem>
8552 <para>
8553 Enables/disables IPv6 (default is IPv4, disables gives
8554 IPv4).
8555 </para>
8556 </listitem>
8557 </varlistentry>
8558
8559 <varlistentry>
8560 <term>
8561 <computeroutput>--port-forward-6 &lt;rule&gt;</computeroutput>
8562 </term>
8563
8564 <listitem>
8565 <para>
8566 Enables IPv6 port forwarding, rule specified by
8567 &lt;rule&gt;.
8568 </para>
8569 </listitem>
8570 </varlistentry>
8571
8572 <varlistentry>
8573 <term>
8574 <computeroutput>--loopback-6 &lt;rule&gt;</computeroutput>
8575 </term>
8576
8577 <listitem>
8578 <para>
8579 Enables IPv6 loopback interface, rule specified by
8580 &lt;rule&gt;.
8581 </para>
8582 </listitem>
8583 </varlistentry>
8584
8585 </variablelist>
8586
8587<screen>VBoxManage natnetwork start --netname &lt;name&gt;
8588 </screen>
8589
8590 <para>
8591 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8592 start</computeroutput></emphasis> Starts specified NAT network
8593 service and any associated DHCP server. Parameters are as follows:
8594 </para>
8595
8596 <variablelist>
8597
8598 <varlistentry>
8599 <term>
8600 <computeroutput>--netname &lt;name&gt;</computeroutput>
8601 </term>
8602
8603 <listitem>
8604 <para>
8605 Where &lt;name&gt; specifies an existing NAT network
8606 service.
8607 </para>
8608 </listitem>
8609 </varlistentry>
8610
8611 </variablelist>
8612
8613<screen>VBoxManage natnetwork stop --netname &lt;name&gt;
8614 </screen>
8615
8616 <para>
8617 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8618 stop</computeroutput></emphasis> Stops specified NAT network
8619 service and any DHCP server. Parameters are as follows:
8620 </para>
8621
8622 <variablelist>
8623
8624 <varlistentry>
8625 <term>
8626 <computeroutput>--netname &lt;name&gt;</computeroutput>
8627 </term>
8628
8629 <listitem>
8630 <para>
8631 Where &lt;name&gt; specifies an existing NAT network
8632 service.
8633 </para>
8634 </listitem>
8635 </varlistentry>
8636
8637 </variablelist>
8638
8639<screen>VBoxManage natnetwork list [&lt;pattern&gt;] </screen>
8640
8641 <para>
8642 <emphasis role="bold"><computeroutput>VBoxManage natnetwork
8643 list</computeroutput></emphasis> Lists all NAT network services
8644 with optional filtering. Parameters are as follows:
8645 </para>
8646
8647 <variablelist>
8648
8649 <varlistentry>
8650 <term>
8651 <computeroutput>[&lt;pattern&gt;]</computeroutput>
8652 </term>
8653
8654 <listitem>
8655 <para>
8656 Where &lt;pattern&gt; is optional filtering pattern.
8657 </para>
8658 </listitem>
8659 </varlistentry>
8660
8661 </variablelist>
8662
8663 </sect1>
8664
8665 <sect1 id="vboxmanage-hostonlyif">
8666
8667 <title>VBoxManage hostonlyif</title>
8668
8669 <para>
8670 With "hostonlyif" you can change the IP configuration of a
8671 host-only network interface. For a description of host-only
8672 networking, see <xref linkend="network_hostonly" />. Each
8673 host-only interface is identified by a name and can either use the
8674 internal DHCP server or a manual IP configuration, both IP4 and
8675 IP6.
8676 </para>
8677
8678 <para>
8679 The following list summarizes the available subcommands:
8680 </para>
8681
8682 <variablelist>
8683
8684 <varlistentry>
8685 <term>
8686 <computeroutput>ipconfig "&lt;name&gt;"</computeroutput>
8687 </term>
8688
8689 <listitem>
8690 <para>
8691 Configure a host-only interface
8692 </para>
8693 </listitem>
8694 </varlistentry>
8695
8696 <varlistentry>
8697 <term>
8698 <computeroutput>create</computeroutput>
8699 </term>
8700
8701 <listitem>
8702 <para>
8703 Creates a new vboxnet&lt;N&gt; interface on the host OS.
8704 This command is essential before you can attach VMs to a
8705 host-only network.
8706 </para>
8707 </listitem>
8708 </varlistentry>
8709
8710 <varlistentry>
8711 <term>
8712 <computeroutput>remove vboxnet&lt;N&gt;</computeroutput>
8713 </term>
8714
8715 <listitem>
8716 <para>
8717 Removes a vboxnet&lt;N&gt; interface from the host OS.
8718 </para>
8719 </listitem>
8720 </varlistentry>
8721
8722 </variablelist>
8723
8724 </sect1>
8725
8726 <sect1 id="vboxmanage-dhcpserver">
8727
8728 <title>VBoxManage dhcpserver</title>
8729
8730 <para>
8731 The "dhcpserver" commands allow you to control the DHCP server
8732 that is built into VirtualBox. You may find this useful when using
8733 internal or host-only networking. Theoretically, you can enable it
8734 for a bridged network as well, but that will likely cause
8735 conflicts with other DHCP servers in your physical network.
8736 </para>
8737
8738 <para>
8739 Use the following command line options:
8740 </para>
8741
8742 <itemizedlist>
8743
8744 <listitem>
8745 <para>
8746 If you use internal networking for a virtual network adapter
8747 of a virtual machine, use <computeroutput>VBoxManage
8748 dhcpserver add --netname
8749 &lt;network_name&gt;</computeroutput>, where
8750 <computeroutput>&lt;network_name&gt;</computeroutput> is the
8751 same network name you used with <computeroutput>VBoxManage
8752 modifyvm &lt;vmname&gt; --intnet&lt;X&gt;
8753 &lt;network_name&gt;</computeroutput>.
8754 </para>
8755 </listitem>
8756
8757 <listitem>
8758 <para>
8759 If you use host-only networking for a virtual network adapter
8760 of a virtual machine, use <computeroutput>VBoxManage
8761 dhcpserver add --ifname
8762 &lt;hostonly_if_name&gt;</computeroutput> instead, where
8763 <computeroutput>&lt;hostonly_if_name&gt;</computeroutput> is
8764 the same host-only interface name you used with
8765 <computeroutput>VBoxManage modifyvm &lt;vmname&gt;
8766 --hostonlyadapter&lt;X&gt;
8767 &lt;hostonly_if_name&gt;</computeroutput>.
8768 </para>
8769
8770 <para>
8771 Alternatively, you can also use the
8772 <computeroutput>--netname</computeroutput> option as with
8773 internal networks if you know the host-only network's name.
8774 You can see the names with <computeroutput>VBoxManage list
8775 hostonlyifs</computeroutput>. See
8776 <xref linkend="vboxmanage-list" />.
8777 </para>
8778 </listitem>
8779
8780 </itemizedlist>
8781
8782 <para>
8783 The following additional parameters are required when first adding
8784 a DHCP server:
8785 </para>
8786
8787 <itemizedlist>
8788
8789 <listitem>
8790 <para>
8791 With <computeroutput>--ip</computeroutput>, specify the IP
8792 address of the DHCP server itself.
8793 </para>
8794 </listitem>
8795
8796 <listitem>
8797 <para>
8798 With <computeroutput>--netmask</computeroutput>, specify the
8799 netmask of the network.
8800 </para>
8801 </listitem>
8802
8803 <listitem>
8804 <para>
8805 With <computeroutput>--lowerip</computeroutput> and
8806 <computeroutput>--upperip</computeroutput>, you can specify
8807 the lowest and highest IP address, respectively, that the DHCP
8808 server will hand out to clients.
8809 </para>
8810 </listitem>
8811
8812 </itemizedlist>
8813
8814 <para>
8815 Finally, you must specify
8816 <computeroutput>--enable</computeroutput> or the DHCP server will
8817 be created in the disabled state, doing nothing.
8818 </para>
8819
8820 <para>
8821 After this, VirtualBox will automatically start the DHCP server
8822 for given internal or host-only network as soon as the first
8823 virtual machine which uses that network is started.
8824 </para>
8825
8826 <para>
8827 Reversely, use <computeroutput>VBoxManage dhcpserver
8828 remove</computeroutput> with the given <computeroutput>--netname
8829 &lt;network_name&gt;</computeroutput> or <computeroutput>--ifname
8830 &lt;hostonly_if_name&gt;</computeroutput> to remove the DHCP
8831 server again for the given internal or host-only network.
8832 </para>
8833
8834 <para>
8835 To modify the settings of a DHCP server created earlier with
8836 <computeroutput>VBoxManage dhcpserver add</computeroutput>, you
8837 can use <computeroutput>VBoxManage dhcpserver
8838 modify</computeroutput> for a given network or host-only interface
8839 name. This has the same parameters as <computeroutput>VBoxManage
8840 dhcpserver add</computeroutput>.
8841 </para>
8842
8843 </sect1>
8844
8845 <sect1 id="vboxmanage-usbdevsource">
8846
8847 <title>VBoxManage usbdevsource</title>
8848
8849 <para>
8850 The "usbdevsource" commands enable you to add and remove USB
8851 devices globally.
8852 </para>
8853
8854 <para>
8855 The following command adds a USB device.
8856 </para>
8857
8858<screen>VBoxManage usbdevsource add &lt;source name&gt;
8859 --backend &lt;backend&gt;
8860 --address &lt;address&gt;
8861 </screen>
8862
8863 <para>
8864 Where the command line options are:
8865 </para>
8866
8867 <itemizedlist>
8868
8869 <listitem>
8870 <para>
8871 &lt;source name&gt; specifies the ID of the 'source' USB
8872 device to be added. Mandatory.
8873 </para>
8874 </listitem>
8875
8876 <listitem>
8877 <para>
8878 --backend &lt;backend&gt; specifies the USB proxy service
8879 backend to use. Mandatory.
8880 </para>
8881 </listitem>
8882
8883 <listitem>
8884 <para>
8885 --address &lt;address&gt; specifies the backend specific
8886 address. Mandatory.
8887 </para>
8888 </listitem>
8889
8890 </itemizedlist>
8891
8892 <para>
8893 The following command removes a USB device.
8894 </para>
8895
8896<screen>VBoxManage usbdevsource remove &lt;source name&gt;
8897 </screen>
8898
8899 <para>
8900 Where the command line options are:
8901 </para>
8902
8903 <itemizedlist>
8904
8905 <listitem>
8906 <para>
8907 &lt;source name&gt; specifies the ID of the 'source' USB
8908 device to be removed. Mandatory.
8909 </para>
8910 </listitem>
8911
8912 </itemizedlist>
8913
8914 </sect1>
8915
8916 <xi:include href="user_man_VBoxManage-mediumio.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
8917
8918 <xi:include href="user_man_VBoxManage-debugvm.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
8919
8920 <xi:include href="user_man_VBoxManage-extpack.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
8921
8922 <xi:include href="user_man_VBoxManage-unattended.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
8923
8924</chapter>
Note: See TracBrowser for help on using the repository browser.

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