VirtualBox

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

Last change on this file since 80892 was 80756, checked in by vboxsync, 5 years ago

doc/manual: fix some omissions/imprecisions

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

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