VirtualBox

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

最後變更 在這個檔案從73471是 73411,由 vboxsync 提交於 7 年 前

manual: typo fix

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

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