VirtualBox

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

Last change on this file since 59148 was 58526, checked in by vboxsync, 9 years ago

doc/manual: typo.

File size: 198.7 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!--
3 user_VBoxManage.xml:
4 VBoxManage documentation for the user manual.
5
6 This XML document is also be used for generating the help text
7 built into VBoxManage as well as manpages (hacking in progress).
8
9 Copyright (C) 2006-2015 Oracle Corporation
10
11 This file is part of VirtualBox Open Source Edition (OSE), as
12 available from http://www.virtualbox.org. This file is free software;
13 you can redistribute it and/or modify it under the terms of the GNU
14 General Public License (GPL) as published by the Free Software
15 Foundation, in version 2 as it comes in the "COPYING" file of the
16 VirtualBox OSE distribution. VirtualBox OSE is distributed in the
17 hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
18 -->
19<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
20"http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
21<chapter id="vboxmanage">
22 <title>VBoxManage</title>
23
24 <sect1>
25 <title>Introduction</title>
26
27 <para>As briefly mentioned in <xref linkend="frontends" />, VBoxManage is
28 the command-line interface to VirtualBox. With it, you can completely
29 control VirtualBox from the command line of your host operating system.
30 VBoxManage supports all the features that the graphical user interface
31 gives you access to, but it supports a lot more than that. It exposes
32 really all the features of the virtualization engine, even those that
33 cannot (yet) be accessed from the GUI.</para>
34
35 <para>You will need to use the command line if you want to</para>
36
37 <para><itemizedlist>
38 <listitem>
39 <para>use a different user interface than the main GUI (for example,
40 VBoxSDL or the VBoxHeadless server);</para>
41 </listitem>
42
43 <listitem>
44 <para>control some of the more advanced and experimental
45 configuration settings for a VM.</para>
46 </listitem>
47 </itemizedlist></para>
48
49 <para>There are two main things to keep in mind when using
50 <computeroutput>VBoxManage</computeroutput>: First,
51 <computeroutput>VBoxManage</computeroutput> must always be used with a
52 specific "subcommand", such as "list" or "createvm" or "startvm". All the
53 subcommands that <computeroutput>VBoxManage</computeroutput> supports are
54 described in detail in <xref linkend="vboxmanage" />.</para>
55
56 <para>Second, most of these subcommands require that you specify a
57 particular virtual machine after the subcommand. There are two ways you
58 can do this:</para>
59
60 <itemizedlist>
61 <listitem>
62 <para>You can specify the VM name, as it is shown in the VirtualBox
63 GUI. Note that if that name contains spaces, then you must enclose the
64 entire name in double quotes (as it is always required with command
65 line arguments that contain spaces).</para>
66
67 <para>For example:<screen>VBoxManage startvm "Windows XP"</screen></para>
68 </listitem>
69
70 <listitem>
71 <para>You can specify the UUID, which is the internal unique
72 identifier that VirtualBox uses to refer to the virtual machine.
73 Assuming that the aforementioned VM called "Windows XP" has the UUID
74 shown below, the following command has the same effect as the
75 previous:<screen>VBoxManage startvm 670e746d-abea-4ba6-ad02-2a3b043810a5</screen></para>
76 </listitem>
77 </itemizedlist>
78
79 <para>You can type <computeroutput>VBoxManage list vms</computeroutput> to
80 have all currently registered VMs listed with all their settings,
81 including their respective names and UUIDs.</para>
82
83 <para>Some typical examples of how to control VirtualBox from the command
84 line are listed below:</para>
85
86 <itemizedlist>
87 <listitem>
88 <para>To create a new virtual machine from the command line and
89 immediately register it with VirtualBox, use
90 <computeroutput>VBoxManage createvm</computeroutput> with the
91 <computeroutput>--register</computeroutput> option,<footnote>
92 <para>For details, see <xref
93 linkend="vboxmanage-createvm" />.</para>
94 </footnote> like this:</para>
95
96 <screen>$ VBoxManage createvm --name "SUSE 10.2" --register
97VirtualBox Command Line Management Interface Version @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@
98(C) 2005-@VBOX_C_YEAR@ @VBOX_VENDOR@
99All rights reserved.
100
101Virtual machine 'SUSE 10.2' is created.
102UUID: c89fc351-8ec6-4f02-a048-57f4d25288e5
103Settings file: '/home/username/.config/VirtualBox/Machines/SUSE 10.2/SUSE 10.2.xml'</screen>
104
105 <para>As can be seen from the above output, a new virtual machine has
106 been created with a new UUID and a new XML settings file.</para>
107 </listitem>
108
109 <listitem>
110 <para>To show the configuration of a particular VM, use
111 <computeroutput>VBoxManage showvminfo</computeroutput>; see <xref
112 linkend="vboxmanage-showvminfo" /> for details and an example.</para>
113 </listitem>
114
115 <listitem>
116 <para>To change settings while a VM is powered off, use
117 <computeroutput>VBoxManage modifyvm</computeroutput>, e.g. as
118 follows:<screen>VBoxManage modifyvm "Windows XP" --memory 512</screen></para>
119
120 <para>For details, see <xref linkend="vboxmanage-modifyvm" />.</para>
121 </listitem>
122
123 <listitem>
124 <para>To change the storage configuration (e.g. to add a storage
125 controller and then a virtual disk), use <computeroutput>VBoxManage
126 storagectl</computeroutput> and <computeroutput>VBoxManage
127 storageattach</computeroutput>; see <xref
128 linkend="vboxmanage-storagectl" /> and <xref
129 linkend="vboxmanage-storageattach" /> for details.</para>
130 </listitem>
131
132 <listitem>
133 <para>To control VM operation, use one of the following:<itemizedlist>
134 <listitem>
135 <para>To start a VM that is currently powered off, use
136 <computeroutput>VBoxManage startvm</computeroutput>; see <xref
137 linkend="vboxmanage-startvm" /> for details.</para>
138 </listitem>
139
140 <listitem>
141 <para>To pause or save a VM that is currently running or change
142 some of its settings, use <computeroutput>VBoxManage
143 controlvm</computeroutput>; see <xref
144 linkend="vboxmanage-controlvm" /> for details.</para>
145 </listitem>
146 </itemizedlist></para>
147 </listitem>
148 </itemizedlist>
149 </sect1>
150
151 <sect1>
152 <title>Commands overview</title>
153
154 <para>When running VBoxManage without parameters or when supplying an
155 invalid command line, the below syntax diagram will be shown. Note that
156 the output will be slightly different depending on the host platform; when
157 in doubt, check the output of <computeroutput>VBoxManage</computeroutput>
158 for the commands available on your particular host.</para>
159
160 <xi:include href="../user_VBoxManage_CommandsOverview.xml" xpointer="xpointer(/sect1/*)"
161 xmlns:xi="http://www.w3.org/2001/XInclude" />
162
163 <para>Each time VBoxManage is invoked, only one command can be executed.
164 However, a command might support several subcommands which then can be
165 invoked in one single call. The following sections provide detailed
166 reference information on the different commands.</para>
167 </sect1>
168
169 <sect1 id="vboxmanage-general">
170 <title>General options</title>
171 <para>
172 <itemizedlist>
173 <listitem>
174 <para><computeroutput>--version</computeroutput>: show the version of
175 this tool and exit.</para>
176 </listitem>
177 <listitem>
178 <para><computeroutput>--nologo</computeroutput>: suppress the output
179 of the logo information (useful for scripts)</para>
180 </listitem>
181 <listitem>
182 <para><computeroutput>--settingspw</computeroutput>: specifiy a settings
183 password</para>
184 </listitem>
185 <listitem>
186 <para><computeroutput>--settingspwfile</computeroutput>: specify a file
187 containing the settings password.</para>
188 </listitem>
189 </itemizedlist>
190 The settings password is used for certain settings which need to be
191 stored encrypted for security reasons. At the moment, the only encrypted
192 setting is the iSCSI initiator secret (see
193 <xref linkend="vboxmanage-storageattach" /> for details). As long as no
194 settings password is specified, this information is stored in
195 <emphasis role="bold">plain text</emphasis>. After using the
196 <computeroutput>--settingspw|--settingspwfile</computeroutput> option
197 once, it must be always used, otherwise the encrypted setting cannot
198 be unencrypted.
199 </para>
200 </sect1>
201
202 <sect1 id="vboxmanage-list">
203 <title>VBoxManage list</title>
204
205 <para>The <computeroutput>list</computeroutput> command gives relevant
206 information about your system and information about VirtualBox's current
207 settings.</para>
208
209 <para>The following subcommands are available with
210 <computeroutput>VBoxManage list</computeroutput>: <itemizedlist>
211 <listitem>
212 <para><computeroutput>vms</computeroutput> lists all virtual
213 machines currently registered with VirtualBox. By default this
214 displays a compact list with each VM's name and UUID; if you also
215 specify <computeroutput>--long</computeroutput> or
216 <computeroutput>-l</computeroutput>, this will be a detailed list as
217 with the <computeroutput>showvminfo</computeroutput> command (see
218 below).</para>
219 </listitem>
220
221 <listitem>
222 <para><computeroutput>runningvms</computeroutput> lists all
223 currently running virtual machines by their unique identifiers
224 (UUIDs) in the same format as with
225 <computeroutput>vms</computeroutput>.</para>
226 </listitem>
227
228 <listitem>
229 <para><computeroutput>ostypes</computeroutput> lists all guest
230 operating systems presently known to VirtualBox, along with the
231 identifiers used to refer to them with the
232 <computeroutput>modifyvm</computeroutput> command.</para>
233 </listitem>
234
235 <listitem>
236 <para><computeroutput>hostdvds</computeroutput>,
237 <computeroutput>hostfloppies</computeroutput>, respectively, list
238 DVD, floppy, bridged networking and host-only networking interfaces
239 on the host, along with the name used to access them from within
240 VirtualBox.</para>
241 </listitem>
242
243 <listitem>
244 <para><computeroutput>bridgedifs</computeroutput>,
245 <computeroutput>hostonlyifs</computeroutput> and
246 <computeroutput>dhcpservers</computeroutput>, respectively, list
247 bridged network interfaces, host-only network interfaces and DHCP
248 servers currently available on the host. Please see <xref
249 linkend="networkingdetails" /> for details on these.</para>
250 </listitem>
251
252 <listitem>
253 <para><computeroutput>hostinfo</computeroutput> displays information
254 about the host system, such as CPUs, memory size and operating
255 system version.</para>
256 </listitem>
257
258 <listitem>
259 <para><computeroutput>hostcpuids</computeroutput> dumps the CPUID
260 parameters for the host CPUs. This can be used for a more fine
261 grained analyis of the host's virtualization capabilities.</para>
262 </listitem>
263
264 <listitem>
265 <para><computeroutput>hddbackends</computeroutput> lists all known
266 virtual disk back-ends of VirtualBox. For each such format (such as
267 VDI, VMDK or RAW), this lists the back-end's capabilities and
268 configuration.</para>
269 </listitem>
270
271 <listitem>
272 <para><computeroutput>hdds</computeroutput>,
273 <computeroutput>dvds</computeroutput> and
274 <computeroutput>floppies</computeroutput> all give you information
275 about virtual disk images currently in use by VirtualBox, including
276 all their settings, the unique identifiers (UUIDs) associated with
277 them by VirtualBox and all files associated with them. This is the
278 command-line equivalent of the Virtual Media Manager; see <xref
279 linkend="vdis" />.</para>
280 </listitem>
281
282 <listitem>
283 <para><computeroutput>usbhost</computeroutput> supplies information
284 about USB devices attached to the host, notably information useful
285 for constructing USB filters and whether they are currently in use
286 by the host.</para>
287 </listitem>
288
289 <listitem>
290 <para><computeroutput>usbfilters</computeroutput> lists all global
291 USB filters registered with VirtualBox -- that is, filters for
292 devices which are accessible to all virtual machines -- and displays
293 the filter parameters.</para>
294 </listitem>
295
296 <listitem>
297 <para><computeroutput>systemproperties</computeroutput> displays
298 some global VirtualBox settings, such as minimum and maximum guest
299 RAM and virtual hard disk size, folder settings and the current
300 authentication library in use.</para>
301 </listitem>
302
303 <listitem>
304 <para><computeroutput>extpacks</computeroutput> displays all
305 VirtualBox extension packs currently installed; see <xref
306 linkend="intro-installing" /> and <xref
307 linkend="vboxmanage-extpack" /> for more information.</para>
308 </listitem>
309 </itemizedlist></para>
310 </sect1>
311
312 <sect1 id="vboxmanage-showvminfo">
313 <title>VBoxManage showvminfo</title>
314
315 <para>The <computeroutput>showvminfo</computeroutput> command shows
316 information about a particular virtual machine. This is the same
317 information as <computeroutput>VBoxManage list vms --long</computeroutput>
318 would show for all virtual machines.</para>
319
320 <para>You will get information that resembles the following example.</para>
321
322 <para><screen>$ VBoxManage showvminfo "Windows XP"
323VirtualBox Command Line Management Interface Version @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@
324(C) 2005-@VBOX_C_YEAR@ @VBOX_VENDOR@
325All rights reserved.
326
327Name: Windows XP
328Guest OS: Other/Unknown
329UUID: 1bf3464d-57c6-4d49-92a9-a5cc3816b7e7
330Config file: /home/username/.config/VirtualBox/Machines/Windows XP/Windows XP.xml
331Memory size: 512MB
332VRAM size: 12MB
333Number of CPUs: 2
334Synthetic Cpu: off
335Boot menu mode: message and menu
336Boot Device (1): DVD
337Boot Device (2): HardDisk
338Boot Device (3): Not Assigned
339Boot Device (4): Not Assigned
340ACPI: on
341IOAPIC: on
342...
343</screen></para>
344 </sect1>
345
346 <sect1 id="vboxmanage-registervm">
347 <title>VBoxManage registervm / unregistervm</title>
348
349 <para>The <computeroutput>registervm</computeroutput> command allows you
350 to import a virtual machine definition in an XML file into VirtualBox. The
351 machine must not conflict with one already registered in VirtualBox and it
352 may not have any hard or removable disks attached. It is advisable to
353 place the definition file in the machines folder before registering
354 it.<note>
355 <para>When creating a new virtual machine with
356 <computeroutput>VBoxManage createvm</computeroutput> (see below), you
357 can directly specify the <computeroutput>--register</computeroutput>
358 option to avoid having to register it separately.</para>
359 </note></para>
360
361 <para>The <computeroutput>unregistervm</computeroutput> command
362 unregisters a virtual machine. If
363 <computeroutput>--delete</computeroutput> is also specified, the following
364 files will automatically be deleted as well:<orderedlist>
365 <listitem>
366 <para>all hard disk image files, including differencing files, which
367 are used by the machine and not shared with other machines;</para>
368 </listitem>
369
370 <listitem>
371 <para>saved state files that the machine created, if any (one if the
372 machine was in "saved" state and one for each online
373 snapshot);</para>
374 </listitem>
375
376 <listitem>
377 <para>the machine XML file and its backups;</para>
378 </listitem>
379
380 <listitem>
381 <para>the machine log files, if any;</para>
382 </listitem>
383
384 <listitem>
385 <para>the machine directory, if it is empty after having deleted all
386 the above.</para>
387 </listitem>
388 </orderedlist></para>
389 </sect1>
390
391 <sect1 id="vboxmanage-createvm">
392 <title>VBoxManage createvm</title>
393
394 <para>This command creates a new XML virtual machine definition
395 file.</para>
396
397 <para>The <computeroutput>--name &lt;name&gt;</computeroutput> parameter
398 is required and must specify the name of the machine. Since this name is
399 used by default as the file name of the settings file (with the extension
400 <computeroutput>.xml</computeroutput>) and the machine folder (a subfolder
401 of the <computeroutput>.config/VirtualBox/Machines</computeroutput> folder - this folder name may vary depending on the operating system and the version of VirtualBox which you are using), it
402 must conform to your host operating system's requirements for file name
403 specifications. If the VM is later renamed, the file and folder names will
404 change automatically.</para>
405
406 <para>However, if the <computeroutput>--basefolder
407 &lt;path&gt;</computeroutput> option is used, the machine folder will be
408 named <computeroutput>&lt;path&gt;</computeroutput>. In this case, the
409 names of the file and the folder will not change if the virtual machine is
410 renamed.</para>
411
412 <para>By default, this command only creates the XML file without
413 automatically registering the VM with your VirtualBox installation. To
414 register the VM instantly, use the optional
415 <computeroutput>--register</computeroutput> option, or run
416 <computeroutput>VBoxManage registervm</computeroutput> separately
417 afterwards.</para>
418 </sect1>
419
420 <sect1 id="vboxmanage-modifyvm">
421 <title>VBoxManage modifyvm</title>
422
423 <para>This command changes the properties of a registered virtual machine
424 which is not running. Most of the properties that this command makes
425 available correspond to the VM settings that VirtualBox graphical user
426 interface displays in each VM's "Settings" dialog; these were described in
427 <xref linkend="BasicConcepts" />. Some of the more advanced settings,
428 however, are only available through the
429 <computeroutput>VBoxManage</computeroutput> interface.</para>
430
431 <para>These commands require that the machine is powered off (neither
432 running nor in "saved" state). Some machine settings can also be changed
433 while a machine is running; those settings will then have a corresponding
434 subcommand with the <computeroutput>VBoxManage controlvm</computeroutput>
435 subcommand (see <xref linkend="vboxmanage-controlvm" />).</para>
436
437 <sect2>
438 <title>General settings</title>
439
440 <para>The following general settings are available through
441 <computeroutput>VBoxManage modifyvm</computeroutput>:<itemizedlist>
442 <listitem>
443 <para><computeroutput>--name &lt;name&gt;</computeroutput>: This
444 changes the VM's name and possibly renames the internal virtual
445 machine files, as described with <computeroutput>VBoxManage
446 createvm</computeroutput> above.</para>
447 </listitem>
448
449 <listitem>
450 <para><computeroutput>--groups &lt;group&gt;, ...</computeroutput>:
451 This changes the group membership of a VM. Groups always start with
452 a <computeroutput>/</computeroutput> and can be nested. By default
453 VMs are in group <computeroutput>/</computeroutput>.</para>
454 </listitem>
455
456 <listitem>
457 <para><computeroutput>--description &lt;desc&gt;</computeroutput>:
458 This changes the VM's description, which is a way to record details
459 about the VM in a way which is meaningful for the user. The GUI
460 interprets HTML formatting, the command line allows arbitrary
461 strings potentially containing multiple lines.</para>
462 </listitem>
463
464 <listitem>
465 <para><computeroutput>--ostype &lt;ostype&gt;</computeroutput>:
466 This specifies what guest operating system is supposed to run in
467 the VM. To learn about the various identifiers that can be used
468 here, use <computeroutput>VBoxManage list
469 ostypes</computeroutput>.</para>
470 </listitem>
471
472 <listitem>
473 <para><computeroutput>--memory
474 &lt;memorysize&gt;</computeroutput>: This sets the amount of RAM,
475 in MB, that the virtual machine should allocate for itself from
476 the host. See the remarks in <xref linkend="gui-createvm" /> for
477 more information.</para>
478 </listitem>
479
480 <listitem>
481 <para><computeroutput>--vram &lt;vramsize&gt;</computeroutput>:
482 This sets the amount of RAM that the virtual graphics card should
483 have. See <xref linkend="settings-display" /> for details.</para>
484 </listitem>
485
486 <listitem>
487 <para><computeroutput>--acpi on|off</computeroutput>;
488 <computeroutput>--ioapic on|off</computeroutput>: These two
489 determine whether the VM should have ACPI and I/O APIC support,
490 respectively; see <xref linkend="settings-motherboard" /> for
491 details.</para>
492 </listitem>
493
494 <listitem>
495 <para><computeroutput>--hardwareuuid
496 &lt;uuid&gt;</computeroutput>: The UUID presented to the guest via
497 memory tables (DMI/SMBIOS), hardware and guest properties. By
498 default this is the same as the VM uuid. Useful when cloning a VM.
499 Teleporting takes care of this automatically.</para>
500 </listitem>
501
502 <listitem>
503 <para><computeroutput>--cpus &lt;cpucount&gt;</computeroutput>:
504 This sets the number of virtual CPUs for the virtual machine (see
505 <xref linkend="settings-processor" />). If CPU hot-plugging is
506 enabled (see below), this then sets the
507 <emphasis>maximum</emphasis> number of virtual CPUs that can be
508 plugged into the virtual machines.</para>
509 </listitem>
510
511 <listitem>
512 <para><computeroutput>--cpuhotplug on|off</computeroutput>: This
513 enables CPU hot-plugging. When enabled, virtual CPUs can be added
514 to and removed from a virtual machine while it is running. See
515 <xref linkend="cpuhotplug" /> for more information.</para>
516 </listitem>
517
518 <listitem>
519 <para><computeroutput>--plugcpu|unplugcpu
520 &lt;id&gt;</computeroutput>: If CPU hot-plugging is enabled (see
521 above), this adds a virtual CPU to the virtual machines (or
522 removes one). <computeroutput>&lt;id&gt;</computeroutput>
523 specifies the index of the virtual CPU to be added or removed and
524 must be a number from 0 to the maximum no. of CPUs configured with
525 the <computeroutput>--cpus</computeroutput> option. CPU 0 can
526 never be removed.</para>
527 </listitem>
528
529 <listitem>
530 <para><computeroutput>--cpuexecutioncap
531 &lt;1-100&gt;</computeroutput>: This setting controls how much cpu
532 time a virtual CPU can use. A value of 50 implies a single virtual
533 CPU can use up to 50% of a single host CPU.</para>
534 </listitem>
535
536 <listitem>
537 <para><computeroutput>--pae on|off</computeroutput>: This
538 enables/disables PAE (see <xref
539 linkend="settings-processor" />).</para>
540 </listitem>
541
542 <listitem>
543 <para><computeroutput>--longmode on|off</computeroutput>: This
544 enables/disables long mode (see <xref
545 linkend="settings-processor" />).</para>
546 </listitem>
547
548 <listitem>
549 <para><computeroutput>--synthcpu on|off</computeroutput>: This
550 setting determines whether VirtualBox will expose a synthetic CPU
551 to the guest to allow live migration between host systems that
552 differ significantly.</para>
553 </listitem>
554
555 <listitem>
556 <para><computeroutput>--hpet on|off</computeroutput>: This
557 enables/disables a High Precision Event Timer (HPET) which can
558 replace the legacy system timers. This is turned off by default.
559 Note that Windows supports a HPET only from Vista onwards.</para>
560 </listitem>
561
562 <listitem>
563 <para><computeroutput>--hwvirtex on|off</computeroutput>: This
564 enables or disables the use of hardware virtualization extensions
565 (Intel VT-x or AMD-V) in the processor of your host system; see
566 <xref linkend="hwvirt" />.</para>
567 </listitem>
568
569 <listitem>
570 <para><computeroutput>--triplefaultreset on|off</computeroutput>:
571 This setting allows to reset the guest instead of triggering a
572 Guru Meditation. Some guests raise a triple fault to reset the
573 CPU so sometimes this is desired behavior. Works only for non-SMP
574 guests.</para>
575 </listitem>
576
577 <listitem>
578 <para><computeroutput>--paravirtprovider
579 none|default|legacy|minimal|hyperv|kvm</computeroutput>: This
580 setting specifies which paravirtualization interface to provide to
581 the guest operating system. Specifying
582 <computeroutput>none</computeroutput> explicitly turns off exposing
583 any paravirtualization interface. The option
584 <computeroutput>default</computeroutput>, will pick an appropriate
585 interface depending on the guest OS type while starting the VM.
586 This is the default option chosen while creating new VMs. The
587 <computeroutput>legacy</computeroutput> option is chosen for VMs
588 which were created with older VirtualBox versions and will pick a
589 paravirtualization interface while starting the VM with VirtualBox
590 5.0 and newer. The <computeroutput>minimal</computeroutput> provider
591 is mandatory for Mac OS X guests, while
592 <computeroutput>kvm</computeroutput> and
593 <computeroutput>hyperv</computeroutput> are recommended for Linux
594 and Windows guests respectively. These options are explained in
595 detail under <xref linkend="gimproviders" />.</para>
596 </listitem>
597
598 <listitem>
599 <para><computeroutput>--paravirtdebug &lt;key=value&gt;
600 [,&lt;key=value&gt; ...]</computeroutput>: This setting specifies debugging
601 options specific to the paravirtualization provider
602 configured for this VM. Please refer to the provider specific
603 options under <xref linkend="gimdebug" /> for a list of supported
604 key-value pairs for each provider.</para>
605 </listitem>
606
607 <listitem>
608 <para><computeroutput>--nestedpaging on|off</computeroutput>: If
609 hardware virtualization is enabled, this additional setting
610 enables or disables the use of the nested paging feature in the
611 processor of your host system; see <xref
612 linkend="hwvirt" />.</para>
613 </listitem>
614
615 <listitem>
616 <para><computeroutput>--largepages on|off</computeroutput>: If
617 hardware virtualization <emphasis>and</emphasis> nested paging are
618 enabled, for Intel VT-x only, an additional performance
619 improvement of up to 5% can be obtained by enabling this setting.
620 This causes the hypervisor to use large pages to reduce TLB use
621 and overhead.</para>
622 </listitem>
623
624 <listitem>
625 <para><computeroutput>--vtxvpid on|off</computeroutput>: If
626 hardware virtualization is enabled, for Intel VT-x only, this
627 additional setting enables or disables the use of the tagged TLB
628 (VPID) feature in the processor of your host system; see <xref
629 linkend="hwvirt" />.</para>
630 </listitem>
631
632 <listitem>
633 <para><computeroutput>--vtxux on|off</computeroutput>: If
634 hardware virtualization is enabled, for Intel VT-x only, this
635 setting enables or disables the use of the unrestricted guest mode
636 feature for executing your guest.</para>
637 </listitem>
638
639 <listitem>
640 <para><computeroutput>--accelerate3d on|off</computeroutput>: This
641 enables, if the Guest Additions are installed, whether hardware 3D
642 acceleration should be available; see <xref
643 linkend="guestadd-3d" />.</para>
644 </listitem>
645
646 <listitem>
647 <para><computeroutput>--accelerate2dvideo on|off</computeroutput>:
648 This enables, if the Guest Additions are installed, whether 2D video
649 acceleration should be available; see <xref
650 linkend="guestadd-2d" />.</para>
651 </listitem>
652
653 <listitem>
654 <para><computeroutput>--chipset piix3|ich9</computeroutput>:
655 By default VirtualBox emulates an Intel PIIX3 chipset. Usually there
656 is no reason to change the default setting unless it is required to
657 relax some of its constraints; see <xref
658 linkend="settings-motherboard" />.</para>
659 </listitem>
660
661 <listitem>
662 <para>You can influence the BIOS logo that is displayed when a
663 virtual machine starts up with a number of settings. Per default,
664 a VirtualBox logo is displayed.</para>
665
666 <para>With <computeroutput>--bioslogofadein
667 on|off</computeroutput> and <computeroutput>--bioslogofadeout
668 on|off</computeroutput>, you can determine whether the logo should
669 fade in and out, respectively.</para>
670
671 <para>With <computeroutput>--bioslogodisplaytime
672 &lt;msec&gt;</computeroutput> you can set how long the logo should
673 be visible, in milliseconds.</para>
674
675 <para>With <computeroutput>--bioslogoimagepath
676 &lt;imagepath&gt;</computeroutput> you can, if you are so
677 inclined, replace the image that is shown, with your own logo. The
678 image must be an uncompressed 256 color BMP file without color
679 space information (Windows 3.0 format). The image must not be
680 bigger than 640 x 480.</para>
681 </listitem>
682
683 <listitem>
684 <para><computeroutput>--biosbootmenu
685 disabled|menuonly|messageandmenu</computeroutput>: This specifies
686 whether the BIOS allows the user to select a temporary boot
687 device. <computeroutput>menuonly</computeroutput> suppresses the
688 message, but the user can still press F12 to select a temporary
689 boot device.</para>
690 </listitem>
691
692 <listitem>
693 <para><computeroutput>--nicbootprio&lt;1-N&gt;
694 &lt;priority&gt;</computeroutput>: This specifies the order in which
695 NICs are tried for booting over the network (using PXE). The
696 priority is an integer in the 0 to 4 range. Priority 1 is the
697 highest, priority 4 is low. Priority 0, which is the default unless
698 otherwise specified, is the lowest.
699 </para>
700 <para> Note that this option only has effect when the Intel PXE boot
701 ROM is used.
702 </para>
703 </listitem>
704
705 <listitem>
706 <para><computeroutput>--biospxedebug on|off</computeroutput>:
707 This option enables additional debugging output when using the
708 Intel PXE boot ROM. The output will be written to the release log
709 file (<xref linkend="collect-debug-info" />.</para>
710 </listitem>
711
712 <listitem>
713 <para><computeroutput>--boot&lt;1-4&gt;
714 none|floppy|dvd|disk|net</computeroutput>: This specifies the boot
715 order for the virtual machine. There are four "slots", which the
716 VM will try to access from 1 to 4, and for each of which you can
717 set a device that the VM should attempt to boot from.</para>
718 </listitem>
719
720 <listitem>
721 <para><computeroutput>--rtcuseutc on|off</computeroutput>: This
722 option lets the real-time clock (RTC) operate in UTC time (see
723 <xref linkend="settings-motherboard" />).</para>
724 </listitem>
725
726 <listitem>
727 <para><computeroutput>--biossystemtimeoffset &lt;ms&gt;</computeroutput>:
728 This allows you to set a fixed time offset of the guest relative to
729 the host time. The offset is specified in milliseconds. If the offset
730 is positive the guest time runs ahead the host time.</para>
731 </listitem>
732
733 <listitem>
734 <para><computeroutput>--snapshotfolder
735 default|&lt;path&gt;</computeroutput>: This allows you to specify
736 the folder in which snapshots will be kept for a virtual
737 machine.</para>
738 </listitem>
739
740 <listitem>
741 <para><computeroutput>--firmware efi|bios</computeroutput>:
742 Specifies which firmware is used to boot particular virtual
743 machine: EFI or BIOS. Use EFI only if your fully understand what
744 you're doing.</para>
745 </listitem>
746
747 <listitem>
748 <para><computeroutput>--guestmemoryballoon
749 &lt;size&gt;</computeroutput> sets the default size of the guest
750 memory balloon, that is, memory allocated by the VirtualBox Guest
751 Additions from the guest operating system and returned to the
752 hypervisor for re-use by other virtual machines.
753 <computeroutput>&lt;size&gt;</computeroutput> must be specified in
754 megabytes. The default size is 0 megabytes. For details,
755 see <xref linkend="guestadd-balloon" />.</para>
756 </listitem>
757
758 <listitem>
759 <para><computeroutput>--defaultfrontend
760 default|&lt;name&gt;</computeroutput>: This allows you to specify
761 the default frontend which will be used when starting this VM; see
762 <xref linkend="vboxmanage-startvm" /> for details.</para>
763 </listitem>
764 </itemizedlist></para>
765 </sect2>
766
767 <sect2>
768 <title>Networking settings</title>
769
770 <para>The following networking settings are available through
771 <computeroutput>VBoxManage modifyvm</computeroutput>. With all these
772 settings, the decimal number directly following the option name ("1-N"
773 in the list below) specifies the virtual network adapter whose settings
774 should be changed.<itemizedlist>
775 <listitem>
776 <para><computeroutput>--nic&lt;1-N&gt;
777 none|null|nat|natnetwork|bridged|intnet|hostonly|generic</computeroutput>:
778 With this, you can set, for each of the VM's virtual network cards,
779 what type of networking should be available. They can be not
780 present (<computeroutput>none</computeroutput>), not connected to
781 the host (<computeroutput>null</computeroutput>), use network
782 address translation (<computeroutput>nat</computeroutput>),
783 use the new network address translation engine
784 (<computeroutput>natnetwork</computeroutput>),
785 bridged networking (<computeroutput>bridged</computeroutput>) or
786 communicate with other virtual machines using internal networking
787 (<computeroutput>intnet</computeroutput>), host-only networking
788 (<computeroutput>hostonly</computeroutput>), or access rarely used
789 sub-modes (<computeroutput>generic</computeroutput>).
790 These options correspond
791 to the modes which are described in detail in <xref
792 linkend="networkingmodes" />.</para>
793 </listitem>
794
795 <listitem>
796 <para><computeroutput>--nicpromisc&lt;1-N&gt;
797 deny|allow-vms|allow-all</computeroutput>:
798 This allows you, for each of the VM's virtual network cards, to
799 specify how the promiscious mode is handled. This setting is only
800 relevant for bridged networking.
801 <computeroutput>deny</computeroutput> (default setting) hides
802 any traffic not intended for this VM.
803 <computeroutput>allow-vms</computeroutput> hides all host
804 traffic from this VM but allows the VM to see traffic from/to other
805 VMs.
806 <computeroutput>allow-all</computeroutput> removes this
807 restriction completely.</para>
808 </listitem>
809
810 <listitem>
811 <para><computeroutput>--nictype&lt;1-N&gt;
812 Am79C970A|Am79C973|82540EM|82543GC|82545EM|virtio</computeroutput>:
813 This allows you, for each of the VM's virtual network cards, to
814 specify which networking hardware VirtualBox presents to the
815 guest; see <xref linkend="nichardware" />.</para>
816 </listitem>
817
818 <listitem>
819 <para><computeroutput>--cableconnected&lt;1-N&gt;
820 on|off</computeroutput>: This allows you to temporarily disconnect
821 a virtual network interface, as if a network cable had been pulled
822 from a real network card. This might be useful for resetting
823 certain software components in the VM.</para>
824 </listitem>
825
826 <listitem>
827 <para>With the "nictrace" options, you can optionally trace
828 network traffic by dumping it to a file, for debugging
829 purposes.</para>
830
831 <para>With <computeroutput>--nictrace&lt;1-N&gt;
832 on|off</computeroutput>, you can enable network tracing for a
833 particular virtual network card.</para>
834
835 <para>If enabled, you must specify with
836 <computeroutput>--nictracefile&lt;1-N&gt;
837 &lt;filename&gt;</computeroutput> what file the trace should be
838 logged to.</para>
839 </listitem>
840
841 <listitem>
842 <para><computeroutput>--natnet&lt;1-N&gt;
843 &lt;network&gt;|default</computeroutput>:
844 If the networking type is set to <computeroutput>nat</computeroutput>
845 (not <computeroutput>natnetwork</computeroutput>) then this
846 setting specifies the IP address range to be used for
847 this network. See <xref linkend="changenat" /> for an
848 example.</para>
849 </listitem>
850
851 <listitem>
852 <para><computeroutput>--nat-network&lt;1-N&gt; &lt;network
853 name&gt;</computeroutput>: If the networking type is set to
854 <computeroutput>natnetwork</computeroutput> (not
855 <computeroutput>nat</computeroutput>) then this setting specifies
856 the name of the NAT network this adapter is connected to.</para>
857 </listitem>
858
859 <listitem>
860 <para><computeroutput>--bridgeadapter&lt;1-N&gt;
861 none|&lt;devicename&gt;</computeroutput>: If bridged networking
862 has been enabled for a virtual network card (see the
863 <computeroutput>--nic</computeroutput> option above; otherwise
864 this setting has no effect), use this option to specify which host
865 interface the given virtual network interface will use. For
866 details, please see <xref linkend="network_bridged" />.</para>
867 </listitem>
868
869 <listitem>
870 <para><computeroutput>--hostonlyadapter&lt;1-N&gt;
871 none|&lt;devicename&gt;</computeroutput>: If host-only networking
872 has been enabled for a virtual network card (see the --nic option
873 above; otherwise this setting has no effect), use this option to
874 specify which host-only networking interface the given virtual
875 network interface will use. For details, please see <xref
876 linkend="network_hostonly" />.</para>
877 </listitem>
878
879 <listitem>
880 <para><computeroutput>--intnet&lt;1-N&gt;
881 network</computeroutput>: If internal networking has been enabled
882 for a virtual network card (see the
883 <computeroutput>--nic</computeroutput> option above; otherwise
884 this setting has no effect), use this option to specify the name
885 of the internal network (see <xref
886 linkend="network_internal" />).</para>
887 </listitem>
888
889 <listitem>
890 <para><computeroutput>--macaddress&lt;1-N&gt;
891 auto|&lt;mac&gt;</computeroutput>: With this option you can set
892 the MAC address of the virtual network card. Normally, each
893 virtual network card is assigned a random address by VirtualBox at
894 VM creation.</para>
895 </listitem>
896
897 <listitem>
898 <para><computeroutput>--nicgenericdrv&lt;1-N&gt;
899 &lt;backend driver&gt;</computeroutput>: If generic networking has been
900 enabled for a virtual network card (see the
901 <computeroutput>--nic</computeroutput> option above; otherwise
902 this setting has no effect), this mode allows you to access
903 rarely used networking sub-modes, such as VDE network or UDP Tunnel.
904 </para>
905 </listitem>
906
907 <listitem>
908 <para><computeroutput>--nicproperty&lt;1-N&gt;
909 &lt;paramname&gt;="paramvalue"</computeroutput>:
910 This option, in combination with "nicgenericdrv" allows you to
911 pass parameters to rarely-used network backends.</para><para>
912 Those parameters are backend engine-specific, and are different
913 between UDP Tunnel and the VDE backend drivers. For example,
914 please see <xref linkend="network_udp_tunnel" />.
915 </para>
916 </listitem>
917 </itemizedlist></para>
918
919 <sect3>
920 <title>NAT Networking settings.</title>
921
922 <para>The following NAT networking settings are available through
923 <computeroutput>VBoxManage modifyvm</computeroutput>. With all these
924 settings, the decimal number directly following the option name ("1-N"
925 in the list below) specifies the virtual network adapter whose
926 settings should be changed.<itemizedlist>
927 <listitem>
928 <para><computeroutput>--natpf&lt;1-N&gt;
929 [&lt;name&gt;],tcp|udp,[&lt;hostip&gt;],&lt;hostport&gt;,[&lt;guestip&gt;],
930 &lt;guestport&gt;</computeroutput>: This option defines a NAT
931 port-forwarding rule (please see <xref linkend="natforward" />
932 for details).</para>
933 </listitem>
934
935 <listitem>
936 <para><computeroutput>--natpf&lt;1-N&gt; delete
937 &lt;name&gt;</computeroutput>: This option deletes a NAT
938 port-forwarding rule (please see <xref linkend="natforward" />
939 for details).</para>
940 </listitem>
941
942 <listitem>
943 <para><computeroutput>--nattftpprefix&lt;1-N&gt;
944 &lt;prefix&gt;</computeroutput>: This option defines a prefix
945 for the built-in TFTP server, i.e. where the boot file is
946 located (please see <xref linkend="nat-tftp" /> and <xref
947 linkend="nat-adv-tftp" /> for details).</para>
948 </listitem>
949
950 <listitem>
951 <para><computeroutput>--nattftpfile&lt;1-N&gt;
952 &lt;bootfile&gt;</computeroutput>: This option defines the TFT
953 boot file (please see <xref linkend="nat-adv-tftp" /> for
954 details).</para>
955 </listitem>
956
957 <listitem>
958 <para><computeroutput>--nattftpserver&lt;1-N&gt;
959 &lt;tftpserver&gt;</computeroutput>: This option defines the
960 TFTP server address to boot from (please see <xref
961 linkend="nat-adv-tftp" /> for details).</para>
962 </listitem>
963
964 <listitem>
965 <para><computeroutput>--natdnspassdomain&lt;1-N&gt;
966 on|off</computeroutput>: This option specifies whether the
967 built-in DHCP server passes the domain name for network name
968 resolution.</para>
969 </listitem>
970
971 <listitem>
972 <para><computeroutput>--natdnsproxy&lt;1-N&gt;
973 on|off</computeroutput>: This option makes the NAT engine proxy
974 all guest DNS requests to the host's DNS servers (please see
975 <xref linkend="nat-adv-dns" /> for details).</para>
976 </listitem>
977
978 <listitem>
979 <para><computeroutput>--natdnshostresolver&lt;1-N&gt;
980 on|off</computeroutput>: This option makes the NAT engine use
981 the host's resolver mechanisms to handle DNS requests (please
982 see <xref linkend="nat-adv-dns" /> for details).</para>
983 </listitem>
984
985 <listitem>
986 <para><computeroutput>--natsettings&lt;1-N&gt;
987 [&lt;mtu&gt;],[&lt;socksnd&gt;],[&lt;sockrcv&gt;],[&lt;tcpsnd&gt;],
988 [&lt;tcprcv&gt;]</computeroutput>: This option controls several
989 NAT settings (please see <xref linkend="nat-adv-settings" /> for
990 details).</para>
991 </listitem>
992
993 <listitem>
994 <para><computeroutput>--nataliasmode&lt;1-N&gt;
995 default|[log],[proxyonly],[sameports]</computeroutput>: This
996 option defines behaviour of NAT engine core: log - enables
997 logging, proxyonly - switches of aliasing mode makes NAT
998 transparent, sameports enforces NAT engine to send packets via
999 the same port as they originated on, default - disable all
1000 mentioned modes above . (please see <xref
1001 linkend="nat-adv-alias" /> for details).</para>
1002 </listitem>
1003 </itemizedlist></para>
1004 </sect3>
1005 </sect2>
1006
1007 <sect2 id="vboxmanage-modifyvm-other">
1008 <title>Miscellaneous settings</title>
1009
1010 <para>The following other hardware settings, such as serial port, audio,
1011 clipboard, drag and drop, monitor and USB settings are available through
1012 <computeroutput>VBoxManage modifyvm</computeroutput>:<itemizedlist>
1013 <listitem>
1014 <para><computeroutput>--uart&lt;1-N&gt; off|&lt;I/O base&gt;
1015 &lt;IRQ&gt;</computeroutput>: With this option you can configure
1016 virtual serial ports for the VM; see <xref
1017 linkend="serialports" /> for an introduction.</para>
1018 </listitem>
1019
1020 <listitem>
1021 <para><computeroutput>--uartmode&lt;1-N&gt;
1022 &lt;arg&gt;</computeroutput>: This setting controls how VirtualBox
1023 connects a given virtual serial port (previously configured with
1024 the <computeroutput>--uartX</computeroutput> setting, see above)
1025 to the host on which the virtual machine is running. As described
1026 in detail in <xref linkend="serialports" />, for each such port,
1027 you can specify <computeroutput>&lt;arg&gt;</computeroutput> as
1028 one of the following options:<itemizedlist>
1029 <listitem>
1030 <para><computeroutput>disconnected</computeroutput>: Even
1031 though the serial port is shown to the guest, it has no
1032 "other end" -- like a real COM port without a cable.</para>
1033 </listitem>
1034
1035 <listitem>
1036 <para><computeroutput>server
1037 &lt;pipename&gt;</computeroutput>: On a Windows host, this
1038 tells VirtualBox to create a named pipe on the host named
1039 <computeroutput>&lt;pipename&gt;</computeroutput> and
1040 connect the virtual serial device to it. Note that Windows
1041 requires that the name of a named pipe begin with
1042 <computeroutput>\\.\pipe\</computeroutput>.</para>
1043
1044 <para>On a Linux host, instead of a named pipe, a local
1045 domain socket is used.</para>
1046 </listitem>
1047
1048 <listitem>
1049 <para><computeroutput>client
1050 &lt;pipename&gt;</computeroutput>: This operates just like
1051 <computeroutput>server ...</computeroutput>, except that the
1052 pipe (or local domain socket) is not created by VirtualBox,
1053 but assumed to exist already.</para>
1054 </listitem>
1055
1056 <listitem>
1057 <para><computeroutput>tcpserver
1058 &lt;port&gt;</computeroutput>: This
1059 tells VirtualBox to create a TCP socket on the host with TCP
1060 <computeroutput>&lt;port&gt;</computeroutput> and
1061 connect the virtual serial device to it. Note that UNIX-like
1062 systems require ports over 1024 for normal users.</para>
1063 </listitem>
1064
1065 <listitem>
1066 <para><computeroutput>tcpclient
1067 &lt;hostname:port&gt;</computeroutput>: This operates just like
1068 <computeroutput>tcpserver ...</computeroutput>, except that the
1069 TCP socket is not created by VirtualBox,
1070 but assumed to exist already.</para>
1071 </listitem>
1072
1073 <listitem>
1074 <para><computeroutput>&lt;devicename&gt;</computeroutput>:
1075 If, instead of the above, the device name of a physical
1076 hardware serial port of the host is specified, the virtual
1077 serial port is connected to that hardware port. On a Windows
1078 host, the device name will be a COM port such as
1079 <computeroutput>COM1</computeroutput>; on a Linux host, the
1080 device name will look like
1081 <computeroutput>/dev/ttyS0</computeroutput>. This allows you
1082 to "wire" a real serial port to a virtual machine.</para>
1083 </listitem>
1084 </itemizedlist></para>
1085 </listitem>
1086
1087 <listitem>
1088 <para><computeroutput>--lptmode&lt;1-N&gt;
1089 &lt;Device&gt;</computeroutput>:
1090 Specifies the Device Name of the parallel port that
1091 the Parallel Port feature will be using. Use this
1092 <emphasis>before</emphasis> <computeroutput>--lpt</computeroutput>.
1093 This feature is host operating system specific.</para>
1094 </listitem>
1095
1096 <listitem>
1097 <para><computeroutput>--lpt&lt;1-N&gt;
1098 &lt;I/O base&gt; &lt;IRQ&gt;</computeroutput>:
1099 Specifies the I/O address of the parallel port and the IRQ
1100 number that the Parallel Port feature will be using. Use this
1101 <emphasis>after</emphasis>
1102 <computeroutput>--lptmod</computeroutput>. I/O base address and IRQ are
1103 the values that guest sees i.e. the values avalable under guest Device Manager.</para>
1104 </listitem>
1105
1106 <listitem>
1107 <para><computeroutput>--audio none|null|oss</computeroutput>: With
1108 this option, you can set whether the VM should have audio
1109 support.</para>
1110 </listitem>
1111
1112 <listitem>
1113 <para><computeroutput>--clipboard
1114 disabled|hosttoguest|guesttohost|bidirectional</computeroutput>:
1115 With this setting, you can select if and how the guest or host
1116 operating system's clipboard should be shared with the host or guest;
1117 see <xref linkend="generalsettings" />. This requires that the Guest
1118 Additions be installed in the virtual machine.</para>
1119 </listitem>
1120
1121 <listitem>
1122 <para><computeroutput>--draganddrop
1123 disabled|hosttoguest|guesttohost|bidirectional</computeroutput>:
1124 With this setting, you can select the current drag and drop mode
1125 being used between the host and the virtual machine;
1126 see <xref linkend="guestadd-dnd" />. This requires that the Guest
1127 Additions be installed in the virtual machine.</para>
1128 </listitem>
1129
1130 <listitem>
1131 <para><computeroutput>--monitorcount
1132 &lt;count&gt;</computeroutput>: This enables multi-monitor
1133 support; see <xref linkend="settings-display" />.</para>
1134 </listitem>
1135
1136 <listitem>
1137 <para><computeroutput>--usb on|off</computeroutput>: This option
1138 enables or disables the VM's virtual USB controller; see <xref
1139 linkend="settings-usb" /> for details.</para>
1140 </listitem>
1141
1142 <listitem>
1143 <para><computeroutput>--usbehci on|off</computeroutput>: This
1144 option enables or disables the VM's virtual USB 2.0 controller;
1145 see <xref linkend="settings-usb" /> for details.</para>
1146 </listitem>
1147
1148 <listitem>
1149 <para><computeroutput>--usbxhci on|off</computeroutput>: This
1150 option enables or disables the VM's virtual USB 3.0 controller;
1151 see <xref linkend="settings-usb" /> for details.</para>
1152 </listitem>
1153 <!-- @todo r=andy Document tracing-* commands -->
1154 </itemizedlist></para>
1155
1156 </sect2>
1157
1158 <sect2 id="vboxmanage-modifyvm-videocap">
1159 <title>Video Capture settings</title>
1160
1161 <para>The following settings for changing video recording parameters are
1162 available through <computeroutput>VBoxManage modifyvm</computeroutput>.
1163 <itemizedlist>
1164 <listitem>
1165 <para><computeroutput>--videocap on|off</computeroutput>:
1166 This option enables or disables recording a VM session into a WebM/VP8
1167 file. If this option is enabled, recording will start when the VM
1168 session is started.</para>
1169 </listitem>
1170 <listitem>
1171 <para><computeroutput>--videocapscreens all|&lt;screen ID&gt;
1172 [&lt;screen ID&gt; ...]</computeroutput>: This option allows to specify which screens of
1173 the VM are being recorded. Each screen is recorded into a separate file.</para>
1174 </listitem>
1175 <listitem>
1176 <para><computeroutput>--videocapfile &lt;filename&gt;</computeroutput>:
1177 This option sets the filename VirtualBox uses to save the recorded content.
1178 </para>
1179 </listitem>
1180 <listitem>
1181 <para><computeroutput>--videocapres &lt;width&gt;x&lt;height&gt;</computeroutput>:
1182 This option sets the resolution (in pixels) of the recorded video.</para>
1183 </listitem>
1184 <listitem>
1185 <para><computeroutput>--videocaprate &lt;rate&gt;</computeroutput>:
1186 This option sets the bitrate in kilobits (kb) per second. Increasing this
1187 value makes the video look better for the cost of an increased file size.</para>
1188 </listitem>
1189 <listitem>
1190 <para><computeroutput>--videocapfps &lt;fps&gt;</computeroutput>:
1191 This option sets the maximum number of frames per second (FPS) to be
1192 recorded. Frames with a higher frequency will be skipped. Reducing this
1193 value increases the number of skipped frames and reduces the file size.</para>
1194 </listitem>
1195 <listitem>
1196 <para><computeroutput>--videocapmaxtime &lt;ms&gt;</computeroutput>:
1197 This option sets the maximum time in milliseconds the video capturing
1198 will be enabled since activation. The capturing stops when the defined
1199 time interval has elapsed. If this value is zero the capturing is not
1200 limited by time.</para>
1201 </listitem>
1202 <listitem>
1203 <para><computeroutput>--videocapmaxsize &lt;MB&gt;</computeroutput>:
1204 This option limits the maximum size of the captured video file (in MB).
1205 The capturing stops when the file size has reached the specified size. If
1206 this value is zero the capturing will not be limited by file size.</para>
1207 </listitem>
1208 <listitem>
1209 <para><computeroutput>--videocapopts &lt;key=value&gt;
1210 [,&lt;key=value&gt; ...]</computeroutput>:
1211 This format can be used to specify additional video capturing options.
1212 These options only are for advanced users and must be specified in a
1213 comma-separated key=value format, e.g.
1214 <computeroutput>foo=bar,a=b</computeroutput>.
1215 </para>
1216 </listitem>
1217 </itemizedlist></para>
1218
1219 </sect2>
1220
1221 <sect2 id="vboxmanage-modifyvm-vrde">
1222 <title>Remote machine settings</title>
1223
1224 <para>The following settings that affect remote machine behavior are
1225 available through <computeroutput>VBoxManage
1226 modifyvm</computeroutput>:<itemizedlist>
1227 <listitem>
1228 <para><computeroutput>--vrde on|off</computeroutput>:
1229 This enables or disables the VirtualBox remote desktop extension
1230 (VRDE) server.</para>
1231 </listitem>
1232
1233 <!-- @todo r=andy Document vrdeproperty -->
1234
1235 <listitem>
1236 <para><computeroutput>--vrdeextpack default|&lt;name&gt;</computeroutput>:
1237 Allows to specify the library to use for to access the VM
1238 remotely. The default is to use the RDP code which is part of the
1239 Oracle VM VirtualBox Extension Pack.</para>
1240 </listitem>
1241
1242 <listitem>
1243 <para><computeroutput>--vrdeport
1244 default|&lt;ports&gt;</computeroutput>: A port or a range of ports
1245 the VRDE server can bind to; "default" or "0" means port 3389, the
1246 standard port for RDP. You can specify a comma-separated list of
1247 ports or ranges of ports. Use a dash between two port numbers to
1248 specify a range. The VRDE server will bind to <emphasis
1249 role="bold">one</emphasis> of available ports from the specified
1250 list. Only one machine can use a given port at a time. For
1251 example, the option <computeroutput> --vrdeport
1252 5000,5010-5012</computeroutput> will tell the server to bind to
1253 one of following ports: 5000, 5010, 5011 or 5012.</para>
1254 </listitem>
1255
1256 <listitem>
1257 <para><computeroutput>--vrdeaddress &lt;IP
1258 address&gt;</computeroutput>: The IP address of the host network
1259 interface the VRDE server will bind to. If specified, the server
1260 will accept connections only on the specified host network
1261 interface.</para>
1262 <para>The setting can be used to specify whether the VRDP server
1263 should accept either IPv4 or IPv6 or both connections:
1264 <itemizedlist>
1265 <listitem>
1266 <para>only IPv4: <computeroutput>--vrdeaddress "0.0.0.0"
1267 </computeroutput></para>
1268 </listitem>
1269 <listitem>
1270 <para>only IPv6: <computeroutput>--vrdeaddress "::"
1271 </computeroutput></para>
1272 </listitem>
1273 <listitem>
1274 <para>both IPv6 and IPv4 (default): <computeroutput>--vrdeaddress ""
1275 </computeroutput></para>
1276 </listitem>
1277 </itemizedlist></para>
1278 </listitem>
1279
1280 <listitem>
1281 <para><computeroutput>--vrdeauthtype
1282 null|external|guest</computeroutput>: This allows you to choose
1283 whether and how authorization will be performed; see <xref
1284 linkend="vbox-auth" /> for details.</para>
1285 </listitem>
1286
1287 <listitem>
1288 <para><computeroutput>--vrdeauthlibrary
1289 default|&lt;name&gt;</computeroutput>: This allos to set the
1290 library used for RDP authentication, see <xref lang=""
1291 linkend="vbox-auth" /> for details.</para>
1292 </listitem>
1293
1294 <listitem>
1295 <para><computeroutput>--vrdemulticon on|off</computeroutput>: This
1296 enables multiple connections to the same VRDE server, if the
1297 server supports this feature; see <xref lang=""
1298 linkend="vrde-multiconnection" />.</para>
1299 </listitem>
1300
1301 <listitem>
1302 <para><computeroutput>--vrdereusecon on|off</computeroutput>: This
1303 specifies the VRDE server behavior when multiple connections are
1304 disabled. When this option is enabled, the server will allow a new
1305 client to connect and will drop the existing connection. When this
1306 option is disabled (this is the default setting), a new connection
1307 will not be accepted if there is already a client connected to the
1308 server.</para>
1309 </listitem>
1310
1311 <listitem>
1312 <para><computeroutput>--vrdevideochannel on|off</computeroutput>:
1313 This enables video redirection, if it is supported by the VRDE
1314 server; see <xref lang="" linkend="vrde-videochannel" />.</para>
1315 </listitem>
1316
1317 <listitem>
1318 <para><computeroutput>--vrdevideochannelquality
1319 &lt;percent&gt;</computeroutput>: Sets the image quality for video
1320 redirection; see <xref lang=""
1321 linkend="vrde-videochannel" />.</para>
1322 </listitem>
1323 </itemizedlist></para>
1324 </sect2>
1325
1326 <sect2 id="vboxmanage-modifyvm-teleport">
1327 <title>Teleporting settings</title>
1328
1329 <para>With the following commands for <computeroutput>VBoxManage
1330 modifyvm</computeroutput> you can configure a machine to be a target for
1331 teleporting. See <xref linkend="teleporting" /> for an
1332 introduction.<itemizedlist>
1333 <listitem>
1334 <para><computeroutput>--teleporter on|off</computeroutput>: With
1335 this setting you turn on or off whether a machine waits for a
1336 teleporting request to come in on the network when it is started.
1337 If "on", when the machine is started, it does not boot the virtual
1338 machine as it would normally; instead, it then waits for a
1339 teleporting request to come in on the port and address listed with
1340 the next two parameters.</para>
1341 </listitem>
1342
1343 <listitem>
1344 <para><computeroutput>--teleporterport
1345 &lt;port&gt;</computeroutput>, <computeroutput>--teleporteraddress
1346 &lt;address&gt;</computeroutput>: these must be used with
1347 --teleporter and tell the virtual machine on which port and
1348 address it should listen for a teleporting request from another
1349 virtual machine. <computeroutput>&lt;port&gt;</computeroutput> can
1350 be any free TCP/IP port number (e.g. 6000);
1351 <computeroutput>&lt;address&gt;</computeroutput> can be any IP
1352 address or hostname and specifies the TCP/IP socket to bind to.
1353 The default is "0.0.0.0", which means any address.</para>
1354 </listitem>
1355
1356 <listitem>
1357 <para><computeroutput>--teleporterpassword
1358 &lt;password&gt;</computeroutput>: if this optional argument is
1359 given, then the teleporting request will only succeed if the
1360 source machine specifies the same password as the one given with
1361 this command.</para>
1362 </listitem>
1363
1364 <listitem>
1365 <para><computeroutput>--teleporterpasswordfile
1366 &lt;password&gt;</computeroutput>: if this optional argument is
1367 given, then the teleporting request will only succeed if the
1368 source machine specifies the same password as the one specified
1369 in the file give with this command. Use <computeroutput>stdin</computeroutput>
1370 to read the password from stdin.</para>
1371 </listitem>
1372
1373 <listitem>
1374 <para><computeroutput>--cpuid &lt;leaf&gt; &lt;eax&gt; &lt;ebx&gt;
1375 &lt;ecx&gt; &lt;edx&gt;</computeroutput>: Advanced users can use
1376 this command before a teleporting operation to restrict the
1377 virtual CPU capabilities that VirtualBox presents to the guest
1378 operating system. This must be run on both the source and the
1379 target machines involved in the teleporting and will then modify
1380 what the guest sees when it executes the
1381 <computeroutput>CPUID</computeroutput> machine instruction. This
1382 might help with misbehaving applications that wrongly assume that
1383 certain CPU capabilities are present. The meaning of the
1384 parameters is hardware dependent; please refer to the AMD or Intel
1385 processor manuals.</para>
1386 </listitem>
1387 </itemizedlist></para>
1388 </sect2>
1389
1390 <sect2 id="vboxmanage-modifyvm-debugging">
1391 <title>Debugging settings</title>
1392
1393 <para>The following settings are only relevant for low-level VM
1394 debugging. Regular users will never need these settings.<itemizedlist>
1395 <listitem>
1396 <para><computeroutput>--tracing-enabled on|off</computeroutput>:
1397 Enable the tracebuffer. This consumes some memory for the tracebuffer
1398 and adds extra overhead.</para>
1399 </listitem>
1400 <listitem>
1401 <para><computeroutput>--tracing-config &lt;config-string&gt;</computeroutput>:
1402 Allows to configure tracing. In particular this defines which group of
1403 tracepoints are enabled.</para>
1404 </listitem>
1405 </itemizedlist>
1406 </para>
1407 </sect2>
1408
1409 </sect1>
1410
1411 <sect1 id="vboxmanage-clonevm">
1412 <title>VBoxManage clonevm</title>
1413
1414 <para>This command creates a full or linked copy of an existing virtual
1415 machine.</para>
1416
1417 <para>The <computeroutput>clonevm</computeroutput> subcommand takes at
1418 least the name of the virtual machine which should be cloned. The following
1419 additional settings can be used to further configure the clone VM
1420 operation:</para>
1421
1422 <itemizedlist>
1423 <listitem>
1424 <para><computeroutput>--snapshot &lt;uuid&gt;|&lt;name&gt;</computeroutput>:
1425 Select a specific snapshot where the clone operation should refer
1426 to. Default is referring to the current state.</para>
1427 </listitem>
1428 <listitem>
1429 <para><computeroutput>--mode machine|machineandchildren|all</computeroutput>:
1430 Selects the cloning mode of the operation. If
1431 <computeroutput>machine</computeroutput> is selected (the default),
1432 the current state of the VM without any snapshots is cloned. In the
1433 <computeroutput>machineandchildren</computeroutput> mode the snapshot
1434 provided by <computeroutput>--snapshot</computeroutput> and all
1435 child snapshots are cloned. If <computeroutput>all</computeroutput>
1436 is the selected mode all snapshots and the current state are cloned.
1437 </para>
1438 </listitem>
1439 <listitem>
1440 <para><computeroutput>--options link|keepallmacs|keepnatmacs|keepdisknames</computeroutput>:
1441 Allows additional fine tuning of the clone operation. The first
1442 option defines that a linked clone should be created, which is
1443 only possible for a machine clone from a snapshot. The next two
1444 options allow to define how the MAC addresses of every virtual
1445 network card should be handled. They can either be reinitialized
1446 (the default), left unchanged
1447 (<computeroutput>keepallmacs</computeroutput>) or left unchanged
1448 when the network type is NAT
1449 (<computeroutput>keepnatmacs</computeroutput>). If you add
1450 <computeroutput>keepdisknames</computeroutput> all new disk images
1451 are called like the original ones, otherwise they are
1452 renamed.</para>
1453 </listitem>
1454 <listitem>
1455 <para><computeroutput>--name &lt;name&gt;</computeroutput>: Select a
1456 new name for the new virtual machine. Default is "Original Name
1457 Clone".</para>
1458 </listitem>
1459 <listitem>
1460 <para><computeroutput>--basefolder &lt;basefolder&gt;</computeroutput>:
1461 Select the folder where the new virtual machine configuration should
1462 be saved in.</para>
1463 </listitem>
1464 <listitem>
1465 <para><computeroutput>--uuid &lt;uuid&gt;</computeroutput>:
1466 Select the UUID the new VM should have. This id has to be unique in
1467 the VirtualBox instance this clone should be registered. Default is
1468 creating a new UUID.</para>
1469 </listitem>
1470 <listitem>
1471 <para><computeroutput>--register</computeroutput>:
1472 Automatically register the new clone in this VirtualBox
1473 installation. If you manually want to register the new VM later, see
1474 <xref linkend="vboxmanage-registervm" /> for instructions how to do
1475 so.</para>
1476 </listitem>
1477 </itemizedlist>
1478 </sect1>
1479
1480 <sect1 id="vboxmanage-import">
1481 <title>VBoxManage import</title>
1482
1483 <para>This command imports a virtual appliance in OVF format by copying
1484 the virtual disk images and creating virtual machines in VirtualBox. See
1485 <xref linkend="ovf" /> for an introduction to appliances.</para>
1486
1487 <para>The <computeroutput>import</computeroutput> subcommand takes at
1488 least the path name of an OVF file as input and expects the disk images,
1489 if needed, in the same directory as the OVF file. A lot of additional
1490 command-line options are supported to control in detail what is being
1491 imported and modify the import parameters, but the details depend on the
1492 content of the OVF file.</para>
1493
1494 <para>It is therefore recommended to first run the import subcommand with
1495 the <computeroutput>--dry-run</computeroutput> or
1496 <computeroutput>-n</computeroutput> option. This will then print a
1497 description of the appliance's contents to the screen how it would be
1498 imported into VirtualBox, together with the optional command-line options
1499 to influence the import behavior.</para>
1500
1501 <para>As an example, here is the screen output with a sample appliance
1502 containing a Windows XP guest:<screen>VBoxManage import WindowsXp.ovf --dry-run
1503Interpreting WindowsXp.ovf...
1504OK.
1505Virtual system 0:
1506 0: Suggested OS type: "WindowsXP"
1507 (change with "--vsys 0 --ostype &lt;type&gt;"; use "list ostypes" to list all)
1508 1: Suggested VM name "Windows XP Professional_1"
1509 (change with "--vsys 0 --vmname &lt;name&gt;")
1510 3: Number of CPUs: 1
1511 (change with "--vsys 0 --cpus &lt;n&gt;")
1512 4: Guest memory: 956 MB (change with "--vsys 0 --memory &lt;MB&gt;")
1513 5: Sound card (appliance expects "ensoniq1371", can change on import)
1514 (disable with "--vsys 0 --unit 5 --ignore")
1515 6: USB controller
1516 (disable with "--vsys 0 --unit 6 --ignore")
1517 7: Network adapter: orig bridged, config 2, extra type=bridged
1518 8: Floppy
1519 (disable with "--vsys 0 --unit 8 --ignore")
1520 9: SCSI controller, type BusLogic
1521 (change with "--vsys 0 --unit 9 --scsitype {BusLogic|LsiLogic}";
1522 disable with "--vsys 0 --unit 9 --ignore")
152310: IDE controller, type PIIX4
1524 (disable with "--vsys 0 --unit 10 --ignore")
152511: Hard disk image: source image=WindowsXp.vmdk,
1526 target path=/home/user/disks/WindowsXp.vmdk, controller=9;channel=0
1527 (change controller with "--vsys 0 --unit 11 --controller &lt;id&gt;";
1528 disable with "--vsys 0 --unit 11 --ignore")</screen></para>
1529
1530 <para>As you can see, the individual configuration items are numbered, and
1531 depending on their type support different command-line options. The import
1532 subcommand can be directed to ignore many such items with a
1533 <computeroutput>--vsys X --unit Y --ignore</computeroutput> option, where
1534 X is the number of the virtual system (zero unless there are several
1535 virtual system descriptions in the appliance) and Y the item number, as
1536 printed on the screen.</para>
1537
1538 <para>In the above example, Item #1 specifies the name of the target
1539 machine in VirtualBox. Items #9 and #10 specify hard disk controllers,
1540 respectively. Item #11 describes a hard disk image; in this case, the
1541 additional <computeroutput>--controller</computeroutput> option indicates
1542 which item the disk image should be connected to, with the default coming
1543 from the OVF file.</para>
1544
1545 <para>You can combine several items for the same virtual system behind the
1546 same <computeroutput>--vsys</computeroutput> option. For example, to
1547 import a machine as described in the OVF, but without the sound card and
1548 without the USB controller, and with the disk image connected to the IDE
1549 controller instead of the SCSI controller, use this:<screen>VBoxManage import WindowsXp.ovf
1550 --vsys 0 --unit 5 --ignore --unit 6 --ignore --unit 11 --controller 10</screen></para>
1551 </sect1>
1552
1553 <sect1 id="vboxmanage-export">
1554 <title>VBoxManage export</title>
1555
1556 <para>This command exports one or more virtual machines from VirtualBox
1557 into a virtual appliance in OVF format, including copying their virtual
1558 disk images to compressed VMDK. See <xref linkend="ovf" /> for an
1559 introduction to appliances.</para>
1560
1561 <para>The <computeroutput>export</computeroutput> command is simple to
1562 use: list the machine (or the machines) that you would like to export to
1563 the same OVF file and specify the target OVF file after an additional
1564 <computeroutput>--output</computeroutput> or
1565 <computeroutput>-o</computeroutput> option. Note that the directory of the
1566 target OVF file will also receive the exported disk images in the
1567 compressed VMDK format (regardless of the original format) and should have
1568 enough disk space left for them.</para>
1569
1570 <para>Beside a simple export of a given virtual machine, you can append
1571 several product information to the appliance file. Use
1572 <computeroutput>--product</computeroutput>,
1573 <computeroutput>--producturl</computeroutput>,
1574 <computeroutput>--vendor</computeroutput>,
1575 <computeroutput>--vendorurl</computeroutput> and
1576 <computeroutput>--version</computeroutput> to specify this additional
1577 information. For legal reasons you may add a license text or the content
1578 of a license file by using the <computeroutput>--eula</computeroutput> and
1579 <computeroutput>--eulafile</computeroutput> option respectively. As with
1580 OVF import, you must use the <computeroutput>--vsys X</computeroutput>
1581 option to direct the previously mentioned options to the correct virtual
1582 machine.</para>
1583
1584 <para>For virtualization products which aren't fully compatible with the
1585 OVF standard 1.0 you can enable a OVF 0.9 legacy mode with the
1586 <computeroutput>--legacy09</computeroutput> option.</para>
1587
1588 <para>To specify options controlling the exact content of the appliance
1589 file, you can use <computeroutput>--options</computeroutput> to request the
1590 creation of a manifest file (encouraged, allows detection of corrupted
1591 appliances on import), the additional export of DVD images, and the
1592 exclusion of MAC addresses. You can specify a list of options, e.g.
1593 <computeroutput>--options manifest,nomacs</computeroutput>. For details,
1594 check the help output of <computeroutput>VBoxManage export</computeroutput>.</para>
1595 </sect1>
1596
1597 <sect1 id="vboxmanage-startvm">
1598 <title>VBoxManage startvm</title>
1599
1600 <para>This command starts a virtual machine that is currently in the
1601 "Powered off" or "Saved" states.</para>
1602
1603 <para>The optional <computeroutput>--type</computeroutput> specifier
1604 determines whether the machine will be started in a window or whether the
1605 output should go through <computeroutput>VBoxHeadless</computeroutput>,
1606 with VRDE enabled or not; see <xref linkend="vboxheadless" /> for more
1607 information. The list of types is subject to change, and it's not
1608 guaranteed that all types are accepted by any product variant.</para>
1609
1610 <para>The global or per-VM default value for the VM frontend type will be
1611 taken if the type is not explicitly specified. If none of these are set,
1612 the GUI variant will be started.</para>
1613
1614 <para>The following values are allowed:</para>
1615
1616 <glosslist>
1617 <glossentry>
1618 <glossterm><computeroutput>gui</computeroutput></glossterm>
1619
1620 <glossdef>
1621 <para>Starts a VM showing a GUI window. This is the default.</para>
1622 </glossdef>
1623 </glossentry>
1624
1625 <glossentry>
1626 <glossterm><computeroutput>headless</computeroutput></glossterm>
1627
1628 <glossdef>
1629 <para>Starts a VM without a window for remote display only.</para>
1630 </glossdef>
1631 </glossentry>
1632
1633 <glossentry>
1634 <glossterm><computeroutput>sdl</computeroutput></glossterm>
1635
1636 <glossdef>
1637 <para>Starts a VM with a minimal GUI and limited features.</para>
1638 </glossdef>
1639 </glossentry>
1640
1641 <glossentry>
1642 <glossterm><computeroutput>separate</computeroutput></glossterm>
1643
1644 <glossdef>
1645 <para>Starts a VM with detachable UI (technically it is a headless VM
1646 with user interface in a separate process). This is an experimental
1647 feature as it lacks certain functionality at the moment (e.g. 3D
1648 acceleration will not work).</para>
1649 </glossdef>
1650 </glossentry>
1651 </glosslist>
1652
1653 <note>
1654 <para>If you experience problems with starting virtual machines with
1655 particular frontends and there is no conclusive error information,
1656 consider starting virtual machines directly by running the respective
1657 front-end, as this can give additional error information.</para>
1658 </note>
1659 </sect1>
1660
1661 <sect1 id="vboxmanage-controlvm">
1662 <title>VBoxManage controlvm</title>
1663
1664 <para>The <computeroutput>controlvm</computeroutput> subcommand allows you
1665 to change the state of a virtual machine that is currently running. The
1666 following can be specified:</para>
1667
1668 <para><itemizedlist>
1669 <listitem>
1670 <para><computeroutput>VBoxManage controlvm &lt;vm&gt;
1671 pause</computeroutput> temporarily puts a virtual machine on hold,
1672 without changing its state for good. The VM window will be painted
1673 in gray to indicate that the VM is currently paused. (This is
1674 equivalent to selecting the "Pause" item in the "Machine" menu of
1675 the GUI.)</para>
1676 </listitem>
1677
1678 <listitem>
1679 <para>Use <computeroutput>VBoxManage controlvm &lt;vm&gt;
1680 resume</computeroutput> to undo a previous
1681 <computeroutput>pause</computeroutput> command. (This is equivalent
1682 to selecting the "Resume" item in the "Machine" menu of the
1683 GUI.)</para>
1684 </listitem>
1685
1686 <listitem>
1687 <para><computeroutput>VBoxManage controlvm &lt;vm&gt;
1688 reset</computeroutput> has the same effect on a virtual machine as
1689 pressing the "Reset" button on a real computer: a cold reboot of the
1690 virtual machine, which will restart and boot the guest operating
1691 system again immediately. The state of the VM is not saved
1692 beforehand, and data may be lost. (This is equivalent to selecting
1693 the "Reset" item in the "Machine" menu of the GUI.)</para>
1694 </listitem>
1695
1696 <listitem>
1697 <para><computeroutput>VBoxManage controlvm &lt;vm&gt;
1698 poweroff</computeroutput> has the same effect on a virtual machine
1699 as pulling the power cable on a real computer. Again, the state of
1700 the VM is not saved beforehand, and data may be lost. (This is
1701 equivalent to selecting the "Close" item in the "Machine" menu of
1702 the GUI or pressing the window's close button, and then selecting
1703 "Power off the machine" in the dialog.)</para>
1704
1705 <para>After this, the VM's state will be "Powered off". From there,
1706 it can be started again; see <xref
1707 linkend="vboxmanage-startvm" />.</para>
1708 </listitem>
1709
1710 <listitem>
1711 <para><computeroutput>VBoxManage controlvm &lt;vm&gt;
1712 savestate</computeroutput> will save the current state of the VM to
1713 disk and then stop the VM. (This is equivalent to selecting the
1714 "Close" item in the "Machine" menu of the GUI or pressing the
1715 window's close button, and then selecting "Save the machine state"
1716 in the dialog.)</para>
1717
1718 <para>After this, the VM's state will be "Saved". From there, it can
1719 be started again; see <xref linkend="vboxmanage-startvm" />.</para>
1720 </listitem>
1721
1722 <listitem>
1723 <para><computeroutput>VBoxManage controlvm "VM name" teleport
1724 --hostname &lt;name&gt; --port &lt;port&gt; [--passwordfile
1725 &lt;file&gt; | --password &lt;password&gt;]</computeroutput> makes
1726 the machine the source of a teleporting operation and initiates a
1727 teleport to the given target. See <xref linkend="teleporting" /> for
1728 an introduction. If the optional password is specified, it must match
1729 the password that was given to the
1730 <computeroutput>modifyvm</computeroutput> command for the target
1731 machine; see <xref linkend="vboxmanage-modifyvm-teleport" /> for
1732 details.</para>
1733 </listitem>
1734 </itemizedlist></para>
1735
1736 <para>A few extra options are available with
1737 <computeroutput>controlvm</computeroutput> that do not directly affect the
1738 VM's running state:</para>
1739
1740 <itemizedlist>
1741 <!-- @todo r=andy Document keyboardputscancode -->
1742
1743 <listitem>
1744 <para>The <computeroutput>setlinkstate&lt;1-N&gt;</computeroutput>
1745 operation connects or disconnects virtual network cables from their
1746 network interfaces.</para>
1747 </listitem>
1748
1749 <listitem>
1750 <para><computeroutput>nic&lt;1-N&gt;
1751 null|nat|bridged|intnet|hostonly|generic</computeroutput>: With this, you can
1752 set, for each of the VM's virtual network cards, what type of
1753 networking should be available. They can be not connected to the host
1754 (<computeroutput>null</computeroutput>), use network address
1755 translation (<computeroutput>nat</computeroutput>), bridged networking
1756 (<computeroutput>bridged</computeroutput>) or communicate with other
1757 virtual machines using internal networking
1758 (<computeroutput>intnet</computeroutput>) or host-only networking
1759 (<computeroutput>hostonly</computeroutput>) or access to rarely used
1760 sub-modes
1761 (<computeroutput>generic</computeroutput>). These options correspond
1762 to the modes which are described in detail in <xref
1763 linkend="networkingmodes" />.</para>
1764 </listitem>
1765
1766 <listitem>
1767 <para>With the "nictrace" options, you can optionally trace
1768 network traffic by dumping it to a file, for debugging
1769 purposes.</para>
1770
1771 <para>With <computeroutput>nictrace&lt;1-N&gt;
1772 on|off</computeroutput>, you can enable network tracing for a
1773 particular virtual network card.</para>
1774
1775 <para>If enabled, you must specify with
1776 <computeroutput>--nictracefile&lt;1-N&gt;
1777 &lt;filename&gt;</computeroutput> what file the trace should be
1778 logged to.</para>
1779 </listitem>
1780
1781 <listitem>
1782 <para><computeroutput>nicpromisc&lt;1-N&gt;
1783 deny|allow-vms|allow-all</computeroutput>:
1784 This allows you, for each of the VM's virtual network cards, to
1785 specify how the promiscious mode is handled. This setting is only
1786 relevant for bridged networking.
1787 <computeroutput>deny</computeroutput> (default setting) hides
1788 any traffic not intended for this VM.
1789 <computeroutput>allow-vms</computeroutput> hides all host
1790 traffic from this VM but allows the VM to see traffic from/to other
1791 VMs.
1792 <computeroutput>allow-all</computeroutput> removes this
1793 restriction completely.</para>
1794 </listitem>
1795
1796 <listitem>
1797 <para><computeroutput>nicproperty&lt;1-N&gt;
1798 &lt;paramname&gt;="paramvalue"</computeroutput>:
1799 This option, in combination with "nicgenericdrv" allows you to
1800 pass parameters to rarely-used network backends.</para><para>
1801 Those parameters are backend engine-specific, and are different
1802 between UDP Tunnel and the VDE backend drivers. For example,
1803 please see <xref linkend="network_udp_tunnel" />.
1804 </para>
1805 </listitem>
1806
1807 <listitem>
1808 <para>The <computeroutput>guestmemoryballoon</computeroutput>
1809 operation changes the size of the guest memory balloon, that is,
1810 memory allocated by the VirtualBox Guest Additions from the guest
1811 operating system and returned to the hypervisor for re-use by other
1812 virtual machines. This must be specified in megabytes. For details,
1813 see <xref linkend="guestadd-balloon" />.</para>
1814 </listitem>
1815
1816 <listitem>
1817 <para><computeroutput>usbattach</computeroutput> and
1818 <computeroutput>usbdettach</computeroutput> make host USB devices
1819 visible to the virtual machine on the fly, without the need for
1820 creating filters first. The USB devices can be specified by UUID
1821 (unique identifier) or by address on the host system.</para>
1822
1823 <para>You can use <computeroutput>VBoxManage list
1824 usbhost</computeroutput> to locate this information.</para>
1825 </listitem>
1826
1827 <listitem>
1828 <para><computeroutput>clipboard
1829 disabled|hosttoguest|guesttohost|bidirectional</computeroutput>:
1830 With this setting, you can select if and how the guest or host
1831 operating system's clipboard should be shared with the host or guest;
1832 see <xref linkend="generalsettings" />. This requires that the Guest
1833 Additions be installed in the virtual machine.</para>
1834 </listitem>
1835
1836 <listitem>
1837 <para><computeroutput>draganddrop
1838 disabled|hosttoguest|guesttohost|bidirectional</computeroutput>:
1839 With this setting, you can select the current drag and drop mode
1840 being used between the host and the virtual machine;
1841 see <xref linkend="guestadd-dnd" />. This requires that the Guest
1842 Additions be installed in the virtual machine.</para>
1843 </listitem>
1844
1845 <listitem>
1846 <para><computeroutput>vrde on|off</computeroutput> lets you enable or
1847 disable the VRDE server, if it is installed.</para>
1848 </listitem>
1849
1850 <listitem>
1851 <para><computeroutput>vrdeport default|&lt;ports&gt;</computeroutput>
1852 changes the port or a range of ports that the VRDE server can bind to;
1853 "default" or "0" means port 3389, the standard port for RDP. For
1854 details, see the description for the
1855 <computeroutput>--vrdeport</computeroutput> option in <xref
1856 linkend="vboxmanage-modifyvm-other" />.</para>
1857 </listitem>
1858
1859
1860 <listitem>
1861 <para><computeroutput>setvideomodehint</computeroutput> requests that
1862 the guest system change to a particular video mode. This requires that
1863 the Guest Additions be installed, and will not work for all guest
1864 systems.</para>
1865 </listitem>
1866
1867 <listitem>
1868 <para><computeroutput>screenshotpng</computeroutput> takes a screenshot
1869 of the guest display and saves it in PNG format.</para>
1870 </listitem>
1871
1872 <listitem>
1873 <para><computeroutput>videocap on|off</computeroutput> enables or disables
1874 recording a VM session into a WebM/VP8 file.</para>
1875 </listitem>
1876
1877 <listitem>
1878 <para><computeroutput>videocapscreens all|&lt;screen ID&gt;
1879 [&lt;screen ID&gt; ...]]</computeroutput> allows to specify which screens of
1880 the VM are being recorded. This setting
1881 cannot be changed while video capturing is enabled. Each screen is recorded
1882 into a separate file.</para>
1883 </listitem>
1884
1885 <listitem>
1886 <para><computeroutput>videocapfile &lt;file&gt;</computeroutput> sets the filename
1887 VirtualBox uses to save the recorded content. This setting cannot be changed
1888 while video capturing is enabled.</para>
1889 </listitem>
1890
1891 <listitem>
1892 <para><computeroutput>videocapres &lt;width&gt; &lt;height&gt;</computeroutput>
1893 sets the resolution (in pixels) of the recorded video. This setting cannot be
1894 changed while video capturing is enabled.</para>
1895 </listitem>
1896
1897 <listitem> <!-- @todo r=andy Clarify rate. -->
1898 <para><computeroutput>videocaprate &lt;rate&gt;</computeroutput> sets the
1899 bitrate in kilobits (kb) per second. Increasing this value makes the video
1900 look better for the cost of an increased file size. This setting cannot be
1901 changed while video capturing is enabled.</para>
1902 </listitem>
1903
1904 <listitem>
1905 <para><computeroutput>videocapfps &lt;fps&gt;</computeroutput> sets the
1906 maximum number of frames per second (FPS) to be recorded. Frames with a
1907 higher frequency will be skipped. Reducing this value increases the number
1908 of skipped frames and reduces the file size. This setting cannot be changed
1909 while video capturing is enabled.</para>
1910 </listitem>
1911
1912 <listitem> <!-- @todo r=andy Clarify time format. -->
1913 <para><computeroutput>videocapmaxtime &lt;ms&gt;</computeroutput> sets
1914 the maximum time in milliseconds the video capturing will be enabled
1915 since activation.
1916 The capturing stops when the defined time interval has elapsed. If this
1917 value is zero the capturing is not limited by time. This setting cannot
1918 be changed while video capturing is enabled.</para>
1919 </listitem>
1920
1921 <listitem>
1922 <para><computeroutput>videocapmaxsize &lt;MB&gt;</computeroutput> limits
1923 the maximum size of the captured video file (in MB). The capturing stops
1924 when the file size has reached the specified size. If this value is zero
1925 the capturing will not be limited by file size. This setting cannot be
1926 changed while video capturing is enabled.</para>
1927 </listitem>
1928
1929 <listitem>
1930 <para><computeroutput>videocapopts &lt;key=value&gt;[,&lt;key=value&gt; ...]</computeroutput>
1931 can be used to specify additional video capturing options. These options
1932 only are for advanced users and must be specified in a comma-separated
1933 key=value format, e.g. <computeroutput>foo=bar,a=b</computeroutput>.
1934 This setting cannot be changed while video capturing is enabled.</para>
1935 </listitem>
1936
1937 <listitem>
1938 <para>The <computeroutput>setcredentials</computeroutput> operation is
1939 used for remote logons in Windows guests. For details, please refer to
1940 <xref linkend="autologon" />.</para>
1941 </listitem>
1942
1943 <!-- @todo r=andy Document teleport! -->
1944
1945 <listitem>
1946 <para><computeroutput>plugcpu|unplugcpu
1947 &lt;id&gt;</computeroutput>: If CPU hot-plugging is enabled, this adds
1948 a virtual CPU to the virtual machines (or removes one).
1949 <computeroutput>&lt;id&gt;</computeroutput> specifies the index of
1950 the virtual CPU to be added or removed and must be a number from 0
1951 to the maximum no. of CPUs configured. CPU 0 can never be removed.</para>
1952 </listitem>
1953
1954 <listitem>
1955 <para>The <computeroutput>cpuexecutioncap
1956 &lt;1-100&gt;</computeroutput>: This operation controls how much cpu
1957 time a virtual CPU can use. A value of 50 implies a single virtual CPU
1958 can use up to 50% of a single host CPU.</para>
1959 </listitem>
1960
1961 <!-- @todo r=andy Document webcam! -->
1962
1963 </itemizedlist>
1964 </sect1>
1965
1966 <sect1>
1967 <title>VBoxManage discardstate</title>
1968
1969 <para>This command discards the saved state of a virtual machine which is
1970 not currently running, which will cause its operating system to restart
1971 next time you start it. This is the equivalent of pulling out the power
1972 cable on a physical machine, and should be avoided if possible.</para>
1973 </sect1>
1974
1975 <sect1>
1976 <title>VBoxManage adoptstate</title>
1977
1978 <para>If you have a saved state file (<computeroutput>.sav</computeroutput>)
1979 that is separate from the VM configuration, you can use this command to
1980 "adopt" the file. This will change the VM to saved state and when you
1981 start it, VirtualBox will attempt to restore it from the saved state file
1982 you indicated. This command should only be used in special setups.</para>
1983 </sect1>
1984
1985 <sect1>
1986 <title>VBoxManage snapshot</title>
1987
1988 <para>This command is used to control snapshots from the command line. A
1989 snapshot consists of a complete copy of the virtual machine settings,
1990 copied at the time when the snapshot was taken, and optionally a virtual
1991 machine saved state file if the snapshot was taken while the machine was
1992 running. After a snapshot has been taken, VirtualBox creates differencing
1993 hard disk for each normal hard disk associated with the machine so that
1994 when a snapshot is restored, the contents of the virtual machine's virtual
1995 hard disks can be quickly reset by simply dropping the pre-existing
1996 differencing files.</para>
1997
1998 <para>The <computeroutput>take</computeroutput> operation takes a snapshot
1999 of the current state of the virtual machine. You must supply a name for
2000 the snapshot and can optionally supply a description. The new snapshot is
2001 inserted into the snapshots tree as a child of the current snapshot and
2002 then becomes the new current snapshot. The
2003 <computeroutput>--description</computeroutput> parameter allows to
2004 describe the snapshot. If <computeroutput>--live</computeroutput>
2005 is specified, the VM will not be stopped during the snapshot creation
2006 (live smapshotting).</para>
2007
2008 <para>The <computeroutput>delete</computeroutput> operation deletes a
2009 snapshot (specified by name or by UUID). This can take a while to finish
2010 since the differencing images associated with the snapshot might need to
2011 be merged with their child differencing images.</para>
2012
2013 <para>The <computeroutput>restore</computeroutput> operation will restore
2014 the given snapshot (specified by name or by UUID) by resetting the virtual
2015 machine's settings and current state to that of the snapshot. The previous
2016 current state of the machine will be lost. After this, the given snapshot
2017 becomes the new "current" snapshot so that subsequent snapshots are
2018 inserted under the snapshot from which was restored.</para>
2019
2020 <para>The <computeroutput>restorecurrent</computeroutput> operation is a
2021 shortcut to restore the current snapshot (i.e. the snapshot from which the
2022 current state is derived). This subcommand is equivalent to using the
2023 "restore" subcommand with the name or UUID of the current snapshot, except
2024 that it avoids the extra step of determining that name or UUID.</para>
2025
2026 <para>With the <computeroutput>edit</computeroutput> operation, you can
2027 change the name or description of an existing snapshot.</para>
2028
2029 <para>With the <computeroutput>showvminfo</computeroutput> operation, you
2030 can view the virtual machine settings that were stored with an existing
2031 snapshot.</para>
2032 </sect1>
2033
2034 <sect1 id="vboxmanage-closemedium">
2035 <title>VBoxManage closemedium</title>
2036
2037 <para>This commands removes a hard disk, DVD or floppy image from a
2038 VirtualBox media registry.<footnote>
2039 <para>Before VirtualBox 4.0, it was necessary to call VBoxManage
2040 openmedium before a medium could be attached to a virtual machine;
2041 that call "registered" the medium with the global VirtualBox media
2042 registry. With VirtualBox 4.0 this is no longer necessary; media are
2043 added to media registries automatically. The "closemedium" call has
2044 been retained, however, to allow for explicitly removing a medium from
2045 a registry.</para>
2046 </footnote></para>
2047
2048 <para>Optionally, you can request that the image be deleted. You will get
2049 appropriate diagnostics that the deletion failed, however the image will
2050 become unregistered in any case.</para>
2051 </sect1>
2052
2053 <sect1 id="vboxmanage-storageattach">
2054 <title>VBoxManage storageattach</title>
2055
2056 <para>This command attaches/modifies/removes a storage medium connected to
2057 a storage controller that was previously added with the
2058 <computeroutput>storagectl</computeroutput> command (see the previous
2059 section). The syntax is as follows:</para>
2060
2061 <screen>VBoxManage storageattach &lt;uuid|vmname&gt;
2062 --storagectl &lt;name&gt;
2063 [--port &lt;number&gt;]
2064 [--device &lt;number&gt;]
2065 [--type dvddrive|hdd|fdd]
2066 [--medium none|emptydrive|
2067 &lt;uuid&gt;|&lt;filename&gt;|host:&lt;drive&gt;|iscsi]
2068 [--mtype normal|writethrough|immutable|shareable]
2069 [--comment &lt;text&gt;]
2070 [--setuuid &lt;uuid&gt;]
2071 [--setparentuuid &lt;uuid&gt;]
2072 [--passthrough on|off]
2073 [--tempeject on|off]
2074 [--nonrotational on|off]
2075 [--discard on|off]
2076 [--bandwidthgroup name|none]
2077 [--forceunmount]
2078 [--server &lt;name&gt;|&lt;ip&gt;]
2079 [--target &lt;target&gt;]
2080 [--tport &lt;port&gt;]
2081 [--lun &lt;lun&gt;]
2082 [--encodedlun &lt;lun&gt;]
2083 [--username &lt;username&gt;]
2084 [--password &lt;password&gt;]
2085 [--initiator &lt;initiator&gt;]
2086 [--intnet]</screen>
2087
2088 <para>A number of parameters are commonly required; the ones at the end of
2089 the list are required only for iSCSI targets (see below).</para>
2090
2091 <para>The common parameters are:<glosslist>
2092 <glossentry>
2093 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
2094
2095 <glossdef>
2096 <para>The VM UUID or VM Name. Mandatory.</para>
2097 </glossdef>
2098 </glossentry>
2099
2100 <glossentry>
2101 <glossterm><computeroutput>--storagectl</computeroutput></glossterm>
2102
2103 <glossdef>
2104 <para>Name of the storage controller. Mandatory. The list of the
2105 storage controllers currently attached to a VM can be obtained
2106 with <computeroutput>VBoxManage showvminfo</computeroutput>; see
2107 <xref linkend="vboxmanage-showvminfo" />.</para>
2108 </glossdef>
2109 </glossentry>
2110
2111 <glossentry>
2112 <glossterm><computeroutput>--port</computeroutput></glossterm>
2113
2114 <glossdef>
2115 <para>The number of the storage controller's port which is to be
2116 modified. Mandatory, unless the storage controller has only a
2117 single port.</para>
2118 </glossdef>
2119 </glossentry>
2120
2121 <glossentry>
2122 <glossterm><computeroutput>--device</computeroutput></glossterm>
2123
2124 <glossdef>
2125 <para>The number of the port's device which is to be modified.
2126 Mandatory, unless the storage controller has only a single device
2127 per port.</para>
2128 </glossdef>
2129 </glossentry>
2130
2131 <glossentry>
2132 <glossterm><computeroutput>--type</computeroutput></glossterm>
2133
2134 <glossdef>
2135 <para>Define the type of the drive to which the medium is being
2136 attached/detached/modified. This argument can only be omitted if
2137 the type of medium can be determined from either the medium given
2138 with the <computeroutput>--medium</computeroutput> argument or
2139 from a previous medium attachment.</para>
2140 </glossdef>
2141 </glossentry>
2142
2143 <glossentry>
2144 <glossterm><computeroutput>--medium</computeroutput></glossterm>
2145
2146 <glossdef>
2147 <para>Specifies what is to be attached. The following values are
2148 supported:<itemizedlist>
2149 <listitem>
2150 <para>"none": Any existing device should be removed from the
2151 given slot.</para>
2152 </listitem>
2153
2154 <listitem>
2155 <para>"emptydrive": For a virtual DVD or floppy drive only,
2156 this makes the device slot behaves like a removeable drive
2157 into which no media has been inserted.</para>
2158 </listitem>
2159
2160 <listitem>
2161 <para>"additions": For a virtual DVD drive only, this
2162 attaches the <emphasis>VirtualBox Guest Additions</emphasis>
2163 image to the given device slot.</para>
2164 </listitem>
2165
2166 <listitem>
2167 <para>If a UUID is specified, it must be the UUID of a
2168 storage medium that is already known to VirtualBox (e.g.
2169 because it has been attached to another virtual machine).
2170 See <xref linkend="vboxmanage-list" /> for how to list known
2171 media. This medium is then attached to the given device
2172 slot.</para>
2173 </listitem>
2174
2175 <listitem>
2176 <para>If a filename is specified, it must be the full path
2177 of an existing disk image (ISO, RAW, VDI, VMDK or other),
2178 which is then attached to the given device slot.</para>
2179 </listitem>
2180
2181 <listitem>
2182 <para>"host:&lt;drive&gt;": For a virtual DVD or floppy
2183 drive only, this connects the given device slot to the
2184 specified DVD or floppy drive on the host computer.</para>
2185 </listitem>
2186
2187 <listitem>
2188 <para>"iscsi": For virtual hard disks only, this allows for
2189 specifying an iSCSI target. In this case, more parameters
2190 must be given; see below.</para>
2191 </listitem>
2192 </itemizedlist></para>
2193
2194 <para>Some of the above changes, in particular for removeable
2195 media (floppies and CDs/DVDs), can be effected while a VM is
2196 running. Others (device changes or changes in hard disk device
2197 slots) require the VM to be powered off.</para>
2198 </glossdef>
2199 </glossentry>
2200
2201 <glossentry>
2202 <glossterm><computeroutput>--mtype</computeroutput></glossterm>
2203
2204 <glossdef>
2205 <para>Defines how this medium behaves with respect to snapshots
2206 and write operations. See <xref linkend="hdimagewrites" /> for
2207 details.</para>
2208 </glossdef>
2209 </glossentry>
2210
2211 <glossentry>
2212 <glossterm><computeroutput>--comment</computeroutput></glossterm>
2213
2214 <glossdef>
2215 <para>Any description that you want to have stored with this
2216 medium (optional; for example, for an iSCSI target, "Big storage
2217 server downstairs"). This is purely descriptive and not needed for
2218 the medium to function correctly.</para>
2219 </glossdef>
2220 </glossentry>
2221
2222 <glossentry>
2223 <glossterm><computeroutput>--setuuid, --setparentuuid</computeroutput></glossterm>
2224
2225 <glossdef>
2226 <para>Modifies the UUID or parent UUID of a medium before
2227 attaching it to a VM. This is an expert option. Inappropriate use
2228 can make the medium unusable or lead to broken VM configurations
2229 if any other VM is referring to the same media already. The most
2230 frequently used variant is <code>--setuuid ""</code>, which assigns
2231 a new (random) UUID to an image. This is useful to resolve the
2232 duplicate UUID errors if one duplicated an image using file copy
2233 utilities.</para>
2234 </glossdef>
2235 </glossentry>
2236
2237 <glossentry>
2238 <glossterm><computeroutput>--passthrough</computeroutput></glossterm>
2239
2240 <glossdef>
2241 <para>For a virtual DVD drive only, you can enable DVD writing
2242 support (currently experimental; see <xref
2243 linkend="storage-cds" />).</para>
2244 </glossdef>
2245 </glossentry>
2246
2247 <glossentry>
2248 <glossterm><computeroutput>--tempeject</computeroutput></glossterm>
2249
2250 <glossdef>
2251 <para>For a virtual DVD drive only, you can configure the behavior
2252 for guest-triggered medium eject. If this is set to "on", the eject
2253 has only temporary effects. If the VM is powered off and restarted
2254 the originally configured medium will be still in the drive.</para>
2255 </glossdef>
2256 </glossentry>
2257
2258 <glossentry>
2259 <glossterm><computeroutput>--nonrotational</computeroutput></glossterm>
2260
2261 <glossdef>
2262 <para>This switch allows to enable the non-rotational flag for virtual
2263 hard disks. Some guests (i.e. Windows 7+) treat such disks like SSDs
2264 and don't perform disk fragmentation on such media.
2265 </para>
2266 </glossdef>
2267 </glossentry>
2268
2269 <glossentry>
2270 <glossterm><computeroutput>--bandwidthgroup</computeroutput></glossterm>
2271
2272 <glossdef>
2273 <para>Sets the bandwidth group to use for the given device; see
2274 <xref linkend="storage-bandwidth-limit" />.</para>
2275 </glossdef>
2276 </glossentry>
2277
2278 <glossentry>
2279 <glossterm><computeroutput>--forceunmount</computeroutput></glossterm>
2280
2281 <glossdef>
2282 <para>For a virtual DVD or floppy drive only, this forcibly
2283 unmounts the DVD/CD/Floppy or mounts a new DVD/CD/Floppy even if
2284 the previous one is locked down by the guest for reading. Again,
2285 see <xref linkend="storage-cds" /> for details.</para>
2286 </glossdef>
2287 </glossentry>
2288 </glosslist></para>
2289
2290 <para>When "iscsi" is used with the
2291 <computeroutput>--medium</computeroutput> parameter for iSCSI support --
2292 see <xref linkend="storage-iscsi" /> --, additional parameters must or can
2293 be used:<glosslist>
2294 <glossentry>
2295 <glossterm><computeroutput>--server</computeroutput></glossterm>
2296
2297 <glossdef>
2298 <para>The host name or IP address of the iSCSI target;
2299 required.</para>
2300 </glossdef>
2301 </glossentry>
2302
2303 <glossentry>
2304 <glossterm><computeroutput>--target</computeroutput></glossterm>
2305
2306 <glossdef>
2307 <para>Target name string. This is determined by the iSCSI target
2308 and used to identify the storage resource; required.</para>
2309 </glossdef>
2310 </glossentry>
2311
2312 <glossentry>
2313 <glossterm><computeroutput>--tport</computeroutput></glossterm>
2314
2315 <glossdef>
2316 <para>TCP/IP port number of the iSCSI service on the target
2317 (optional).</para>
2318 </glossdef>
2319 </glossentry>
2320
2321 <glossentry>
2322 <glossterm><computeroutput>--lun</computeroutput></glossterm>
2323
2324 <glossdef>
2325 <para>Logical Unit Number of the target resource (optional).
2326 Often, this value is zero.</para>
2327 </glossdef>
2328 </glossentry>
2329
2330 <glossentry>
2331 <glossterm><computeroutput>--username, --password</computeroutput></glossterm>
2332
2333 <glossdef>
2334 <para>Username and password (initiator secret) for target
2335 authentication, if required (optional).<note>
2336 <para>Username and password are stored without
2337 encryption (i.e. in clear text) in the XML machine
2338 configuration file if no settings password is provided.
2339 When a settings password was specified the first time,
2340 the password is stored encrypted.</para>
2341 </note></para>
2342 </glossdef>
2343 </glossentry>
2344
2345 <glossentry>
2346 <glossterm><computeroutput>--intnet</computeroutput></glossterm>
2347
2348 <glossdef>
2349 <para>If specified, connect to the iSCSI target via Internal
2350 Networking. This needs further configuration which is described in
2351 <xref linkend="iscsi-intnet" />.</para>
2352 </glossdef>
2353 </glossentry>
2354 </glosslist></para>
2355 </sect1>
2356
2357 <sect1 id="vboxmanage-storagectl">
2358 <title>VBoxManage storagectl</title>
2359
2360 <para>This command attaches/modifies/removes a storage controller. After
2361 this, virtual media can be attached to the controller with the
2362 <computeroutput>storageattach</computeroutput> command (see the next
2363 section).</para>
2364
2365 <para>The syntax is as follows:</para>
2366
2367 <screen>VBoxManage storagectl &lt;uuid|vmname&gt;
2368 --name &lt;name&gt;
2369 [--add &lt;ide/sata/scsi/floppy&gt;]
2370 [--controller &lt;LsiLogic|LSILogicSAS|BusLogic|
2371 IntelAhci|PIIX3|PIIX4|ICH6|I82078|usb&gt;]
2372 [--sataportcount &lt;1-30&gt;]
2373 [--hostiocache on|off]
2374 [--bootable on|off]
2375 [--remove]</screen>
2376
2377 <para>where the parameters mean: <glosslist>
2378 <glossentry>
2379 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
2380
2381 <glossdef>
2382 <para>The VM UUID or VM Name. Mandatory.</para>
2383 </glossdef>
2384 </glossentry>
2385
2386 <glossentry>
2387 <glossterm><computeroutput>--name</computeroutput></glossterm>
2388
2389 <glossdef>
2390 <para>Name of the storage controller. Mandatory.</para>
2391 </glossdef>
2392 </glossentry>
2393
2394 <glossentry>
2395 <glossterm><computeroutput>--add</computeroutput></glossterm>
2396
2397 <glossdef>
2398 <para>Define the type of the system bus to which the storage
2399 controller must be connected.</para>
2400 </glossdef>
2401 </glossentry>
2402
2403 <glossentry>
2404 <glossterm><computeroutput>--controller</computeroutput></glossterm>
2405
2406 <glossdef>
2407 <para>Allows to choose the type of chipset being emulated for the
2408 given storage controller.</para>
2409 </glossdef>
2410 </glossentry>
2411
2412 <glossentry>
2413 <glossterm><computeroutput>--sataportcount</computeroutput></glossterm>
2414
2415 <glossdef>
2416 <para>This determines how many ports the SATA controller should
2417 support.</para>
2418 </glossdef>
2419 </glossentry>
2420
2421 <glossentry>
2422 <glossterm><computeroutput>--hostiocache</computeroutput></glossterm>
2423
2424 <glossdef>
2425 <para>Configures the use of the host I/O cache for all disk images
2426 attached to this storage controller. For details, please see <xref
2427 linkend="iocaching" />.</para>
2428 </glossdef>
2429 </glossentry>
2430
2431 <glossentry>
2432 <glossterm><computeroutput>--bootable</computeroutput></glossterm>
2433
2434 <glossdef>
2435 <para>Selects whether this controller is bootable.</para>
2436 </glossdef>
2437 </glossentry>
2438
2439 <glossentry>
2440 <glossterm><computeroutput>--remove</computeroutput></glossterm>
2441
2442 <glossdef>
2443 <para>Removes the storage controller from the VM config.</para>
2444 </glossdef>
2445 </glossentry>
2446 </glosslist></para>
2447 </sect1>
2448
2449 <sect1>
2450 <title>VBoxManage bandwidthctl</title>
2451
2452 <para>This command creates/deletes/modifies/shows bandwidth groups of the given
2453 virtual machine:<screen>VBoxManage bandwidthctl &lt;uuid|vmname&gt;
2454 add &lt;name&gt; --type disk|network --limit &lt;megabytes per second&gt;[k|m|g|K|M|G] |
2455 set &lt;name&gt; --limit &lt;megabytes per second&gt;[k|m|g|K|M|G] |
2456 remove &lt;name&gt; |
2457 list [--machinereadable]</screen></para>
2458
2459 <para>The following subcommands are available:<itemizedlist>
2460 <listitem>
2461 <para><computeroutput>add</computeroutput>, creates a new bandwidth
2462 group of given type.</para>
2463 </listitem>
2464 <listitem>
2465 <para><computeroutput>set</computeroutput>, modifies the limit for an
2466 existing bandwidth group.</para>
2467 </listitem>
2468 <listitem>
2469 <para><computeroutput>remove</computeroutput>, destroys a bandwidth
2470 group.</para>
2471 </listitem>
2472 <listitem>
2473 <para><computeroutput>list</computeroutput>, shows all bandwidth groups
2474 defined for the given VM.</para>
2475 </listitem>
2476 </itemizedlist>
2477 </para>
2478 <para>The parameters mean:<glosslist>
2479 <glossentry>
2480 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
2481
2482 <glossdef>
2483 <para>The VM UUID or VM Name. Mandatory.</para>
2484 </glossdef>
2485 </glossentry>
2486
2487 <glossentry>
2488 <glossterm><computeroutput>--name</computeroutput></glossterm>
2489
2490 <glossdef>
2491 <para>Name of the bandwidth group. Mandatory.</para>
2492 </glossdef>
2493 </glossentry>
2494
2495 <glossentry>
2496 <glossterm><computeroutput>--type</computeroutput></glossterm>
2497
2498 <glossdef>
2499 <para>Type of the bandwidth group. Mandatory. Two types are
2500 supported: <computeroutput>disk</computeroutput> and
2501 <computeroutput>network</computeroutput>. See
2502 <xref linkend="storage-bandwidth-limit" /> or
2503 <xref linkend="network_bandwidth_limit" /> for a description of a
2504 particular type.</para>
2505 </glossdef>
2506 </glossentry>
2507
2508 <glossentry>
2509 <glossterm><computeroutput>--limit</computeroutput></glossterm>
2510
2511 <glossdef>
2512 <para>Specifies the limit for the given group. Can be changed
2513 while the VM is running. The default unit is megabytes per
2514 second. The unit can be changed by specifying one of the
2515 following suffixes: <computeroutput>k</computeroutput> for kilobits/s, <computeroutput>m</computeroutput> for megabits/s, <computeroutput>g</computeroutput> for gigabits/s, <computeroutput>K</computeroutput> for kilobytes/s, <computeroutput>M</computeroutput> for megabytes/s, <computeroutput>G</computeroutput> for gigabytes/s.</para>
2516 </glossdef>
2517 </glossentry>
2518 </glosslist>
2519 <note>
2520 <para>The network bandwidth limits apply only to the traffic being sent by
2521 virtual machines. The traffic being received by VMs is unlimited.</para>
2522 </note>
2523 <note>
2524 <para>To remove a bandwidth group it must not be referenced by any disks
2525 or adapters in running VM.</para>
2526 </note>
2527 </para>
2528 </sect1>
2529
2530 <sect1>
2531 <title>VBoxManage showhdinfo</title>
2532
2533 <para>This command shows information about a virtual hard disk image,
2534 notably its size, its size on disk, its type and the virtual machines
2535 which use it.<note>
2536 <para>For compatibility with earlier versions of VirtualBox, the
2537 "showvdiinfo" command is also supported and mapped internally to the
2538 "showhdinfo" command.</para>
2539 </note></para>
2540 <para>The disk image must be specified either by its UUID (if the medium
2541 is registered) or by its filename. Registered images can be listed by
2542 <computeroutput>VBoxManage list hdds</computeroutput> (see <xref linkend="vboxmanage-list" />
2543 for more information). A filename must be specified as valid path, either
2544 as an absolute path or as a relative path starting from the current
2545 directory.</para>
2546 </sect1>
2547
2548 <sect1 id="vboxmanage-createvdi">
2549 <title>VBoxManage createhd</title>
2550
2551 <para>This command creates a new virtual hard disk image. The syntax is as
2552 follows:</para>
2553
2554 <screen>VBoxManage createhd --filename &lt;filename&gt;
2555 --size &lt;megabytes&gt;
2556 [--format VDI|VMDK|VHD] (default: VDI)
2557 [--variant Standard,Fixed,Split2G,Stream,ESX]</screen>
2558
2559 <para>where the parameters mean:<glosslist>
2560 <glossentry>
2561 <glossterm><computeroutput>--filename</computeroutput></glossterm>
2562
2563 <glossdef>
2564 <para>Allows to choose a file name. Mandatory.</para>
2565 </glossdef>
2566 </glossentry>
2567
2568 <glossentry>
2569 <glossterm><computeroutput>--size</computeroutput></glossterm>
2570
2571 <glossdef>
2572 <para>Allows to define the image capacity, in 1 MiB units.
2573 Mandatory.</para>
2574 </glossdef>
2575 </glossentry>
2576
2577 <glossentry>
2578 <glossterm><computeroutput>--format</computeroutput></glossterm>
2579
2580 <glossdef>
2581 <para>Allows to choose a file format for the output file different
2582 from the file format of the input file.</para>
2583 </glossdef>
2584 </glossentry>
2585
2586 <glossentry>
2587 <glossterm><computeroutput>--variant</computeroutput></glossterm>
2588
2589 <glossdef>
2590 <para>Allows to choose a file format variant for the output file.
2591 It is a comma-separated list of variant flags. Not all
2592 combinations are supported, and specifying inconsistent flags will
2593 result in an error message.</para>
2594 </glossdef>
2595 </glossentry>
2596 </glosslist> <note>
2597 <para>For compatibility with earlier versions of VirtualBox, the
2598 "createvdi" command is also supported and mapped internally to the
2599 "createhd" command.</para>
2600 </note></para>
2601 </sect1>
2602
2603 <sect1 id="vboxmanage-modifyvdi">
2604 <title>VBoxManage modifyhd</title>
2605
2606 <para>With the <computeroutput>modifyhd</computeroutput> command, you can
2607 change the characteristics of a disk image after it has been
2608 created:<screen>VBoxManage modifyhd &lt;uuid|filename&gt;
2609 [--type normal|writethrough|immutable|shareable|
2610 readonly|multiattach]
2611 [--autoreset on|off]
2612 [--compact]
2613 [--resize &lt;megabytes&gt;|--resizebyte &lt;bytes&gt;]</screen><note>
2614 <para>Despite the "hd" in the subcommand name, the command works with
2615 all disk images, not only hard disks. For compatibility with earlier
2616 versions of VirtualBox, the "modifyvdi" command is also supported and
2617 mapped internally to the "modifyhd" command.</para>
2618 </note></para>
2619
2620 <para>The disk image to modify must be specified either by its UUID
2621 (if the medium is registered) or by its filename. Registered images
2622 can be listed by <computeroutput>VBoxManage list hdds</computeroutput>
2623 (see <xref linkend="vboxmanage-list" /> for more information).
2624 A filename must be specified as valid path, either as an absolute path
2625 or as a relative path starting from the current directory.</para>
2626 <para>The following options are available:<itemizedlist>
2627 <listitem>
2628 <para>With the <computeroutput>--type</computeroutput> argument, you
2629 can change the type of an existing image between the normal,
2630 immutable, write-through and other modes; see <xref
2631 linkend="hdimagewrites" /> for details.</para>
2632 </listitem>
2633
2634 <listitem>
2635 <para>For immutable (differencing) hard disks only, the
2636 <computeroutput>--autoreset on|off</computeroutput> option
2637 determines whether the disk is automatically reset on every VM
2638 startup (again, see <xref linkend="hdimagewrites" />). The default
2639 is "on".</para>
2640 </listitem>
2641
2642 <listitem>
2643 <para>With the <computeroutput>--compact</computeroutput> option,
2644 can be used to compact disk images, i.e. remove blocks that only
2645 contains zeroes. This will shrink a dynamically allocated image
2646 again; it will reduce the <emphasis>physical</emphasis> size of the
2647 image without affecting the logical size of the virtual disk.
2648 Compaction works both for base images and for diff images created as
2649 part of a snapshot.</para>
2650
2651 <para>For this operation to be effective, it is required that free
2652 space in the guest system first be zeroed out using a suitable
2653 software tool. For Windows guests, you can use the
2654 <computeroutput>sdelete</computeroutput> tool provided by Microsoft.
2655 Execute <computeroutput>sdelete -z</computeroutput> in the guest to
2656 zero the free disk space before compressing the virtual disk
2657 image. For Linux, use the <code>zerofree</code> utility which
2658 supports ext2/ext3 filesystems. For Mac OS X guests, use the
2659 <emphasis>Erase Free Space</emphasis> feature of the built-in
2660 <emphasis>Disk Utility</emphasis>. Use
2661 <emphasis>Zero Out Data</emphasis> there.</para>
2662
2663 <para>Please note that compacting is currently only available for
2664 VDI images. A similar effect can be achieved by zeroing out free
2665 blocks and then cloning the disk to any other dynamically allocated
2666 format. You can use this workaround until compacting is also
2667 supported for disk formats other than VDI.</para>
2668 </listitem>
2669
2670 <listitem>
2671 <para>The <computeroutput>--resize x</computeroutput> option (where x
2672 is the desired new total space in <emphasis role="bold">megabytes</emphasis>)
2673 allows you to change the capacity of an existing image; this adjusts the
2674 <emphasis>logical</emphasis> size of a virtual disk without affecting
2675 the physical size much.<footnote>
2676 <para>Image resizing was added with VirtualBox 4.0.</para>
2677 </footnote> This currently works only for VDI and VHD formats, and only
2678 for the dynamically allocated variants, and can only be used to expand
2679 (not shrink) the capacity.
2680 For example, if you originally created a 10G disk which is now full,
2681 you can use the <computeroutput>--resize 15360</computeroutput>
2682 command to change the capacity to 15G (15,360MB) without having to create a new
2683 image and copy all data from within a virtual machine. Note however that
2684 this only changes the drive capacity; you will typically next need to use
2685 a partition management tool inside the guest to adjust the main partition
2686 to fill the drive.</para><para>The <computeroutput>--resizebyte x</computeroutput>
2687 option does almost the same thing, except that x is expressed in bytes
2688 instead of megabytes.</para>
2689 </listitem>
2690 </itemizedlist></para>
2691 </sect1>
2692
2693 <sect1 id="vboxmanage-clonevdi">
2694 <title>VBoxManage clonehd</title>
2695
2696 <para>This command duplicates a registered virtual hard disk image to a
2697 new image file with a new unique identifier (UUID). The new image can be
2698 transferred to another host system or imported into VirtualBox again using
2699 the Virtual Media Manager; see <xref linkend="vdis" /> and <xref
2700 linkend="cloningvdis" />. The syntax is as follows:</para>
2701
2702 <screen>VBoxManage clonehd &lt;uuid|inutfile&gt; &lt;uuid|outputfile&gt;
2703 [--format VDI|VMDK|VHD|RAW|&lt;other&gt;]
2704 [--variant Standard,Fixed,Split2G,Stream,ESX]
2705 [--existing]</screen>
2706
2707 <para>The disk image to clone as well as the target image must be described
2708 either by its UUIDs (if the mediums are registered) or by its filename.
2709 Registered images can be listed by <computeroutput>VBoxManage list hdds</computeroutput>
2710 (see <xref linkend="vboxmanage-list" /> for more information).
2711 A filename must be specified as valid path, either as an absolute path or
2712 as a relative path starting from the current directory.</para>
2713 <para>The following options are available:<glosslist>
2714 <glossentry>
2715 <glossterm><computeroutput>--format</computeroutput></glossterm>
2716
2717 <glossdef>
2718 <para>Allow to choose a file format for the output file different
2719 from the file format of the input file.</para>
2720 </glossdef>
2721 </glossentry>
2722
2723 <glossentry>
2724 <glossterm><computeroutput>--variant</computeroutput></glossterm>
2725
2726 <glossdef>
2727 <para>Allow to choose a file format variant for the output file.
2728 It is a comma-separated list of variant flags. Not all
2729 combinations are supported, and specifying inconsistent flags will
2730 result in an error message.</para>
2731 </glossdef>
2732 </glossentry>
2733
2734 <glossentry>
2735 <glossterm><computeroutput>--existing</computeroutput></glossterm>
2736
2737 <glossdef>
2738 <para>Perform the clone operation to an already existing
2739 destination medium. Only the portion of the source medium which
2740 fits into the destination medium is copied. This means if the
2741 destination medium is smaller than the source only a part of it is
2742 copied, and if the destination medium is larger than the source
2743 the remaining part of the destination medium is unchanged.</para>
2744 </glossdef>
2745 </glossentry>
2746 </glosslist> <note>
2747 <para>For compatibility with earlier versions of VirtualBox, the
2748 "clonevdi" command is also supported and mapped internally to the
2749 "clonehd" command.</para>
2750 </note></para>
2751 </sect1>
2752
2753 <sect1>
2754 <title>VBoxManage convertfromraw</title>
2755
2756 <para>This command converts a raw disk image to a VirtualBox Disk Image
2757 (VDI) file. The syntax is as follows:</para>
2758
2759 <screen>VBoxManage convertfromraw &lt;filename&gt; &lt;outputfile&gt;
2760 [--format VDI|VMDK|VHD]
2761 [--variant Standard,Fixed,Split2G,Stream,ESX]
2762 [--uuid &lt;uuid&gt;]
2763VBoxManage convertfromraw stdin &lt;outputfile&gt; &lt;bytes&gt;
2764 [--format VDI|VMDK|VHD]
2765 [--variant Standard,Fixed,Split2G,Stream,ESX]
2766 [--uuid &lt;uuid&gt;]</screen>
2767
2768 <para>where the parameters mean:<glosslist>
2769 <glossentry>
2770 <glossterm><computeroutput>--bytes</computeroutput></glossterm>
2771
2772 <glossdef>
2773 <para>The size of the image file, in bytes, provided through
2774 stdin.</para>
2775 </glossdef>
2776 </glossentry>
2777
2778 <glossentry>
2779 <glossterm><computeroutput>--format</computeroutput></glossterm>
2780
2781 <glossdef>
2782 <para>Select the disk image format to create. Default is
2783 VDI.</para>
2784 </glossdef>
2785 </glossentry>
2786
2787 <glossentry>
2788 <glossterm><computeroutput>--variant</computeroutput></glossterm>
2789
2790 <glossdef>
2791 <para>Allow to choose a file format variant for the output file.
2792 It is a comma-separated list of variant flags. Not all
2793 combinations are supported, and specifying inconsistent flags will
2794 result in an error message.</para>
2795 </glossdef>
2796 </glossentry>
2797
2798 <glossentry>
2799 <glossterm><computeroutput>--uuid</computeroutput></glossterm>
2800
2801 <glossdef>
2802 <para>Allow to specifiy the UUID of the output file.</para>
2803 </glossdef>
2804 </glossentry>
2805 </glosslist> The second form forces VBoxManage to read the content for
2806 the disk image from standard input (useful for using that command in a
2807 pipe).</para>
2808
2809 <para><note>
2810 <para>For compatibility with earlier versions of VirtualBox, the
2811 "convertdd" command is also supported and mapped internally to the
2812 "convertfromraw" command.</para>
2813 </note></para>
2814 </sect1>
2815
2816 <sect1>
2817 <title>VBoxManage getextradata/setextradata</title>
2818
2819 <para>These commands let you attach and retrieve string data to a virtual
2820 machine or to a VirtualBox configuration (by specifying
2821 <computeroutput>global</computeroutput> instead of a virtual machine
2822 name). You must specify a key (as a text string) to associate the data
2823 with, which you can later use to retrieve it. For example:</para>
2824
2825 <screen>VBoxManage setextradata Fedora5 installdate 2006.01.01
2826VBoxManage setextradata SUSE10 installdate 2006.02.02</screen>
2827
2828 <para>would associate the string "2006.01.01" with the key installdate for
2829 the virtual machine Fedora5, and "2006.02.02" on the machine SUSE10. You
2830 could retrieve the information as follows:</para>
2831
2832 <screen>VBoxManage getextradata Fedora5 installdate</screen>
2833
2834 <para>which would return</para>
2835
2836 <screen>VirtualBox Command Line Management Interface Version @VBOX_VERSION_MAJOR@.@VBOX_VERSION_MINOR@.@VBOX_VERSION_BUILD@
2837(C) 2005-@VBOX_C_YEAR@ @VBOX_VENDOR@
2838All rights reserved.
2839
2840Value: 2006.01.01</screen>
2841 <para>To remove a key, the <computeroutput>setextradata</computeroutput>
2842 command must be run without specifying data (only the key), for example:
2843 </para>
2844
2845 <screen>VBoxManage setextradata Fedora5 installdate</screen>
2846
2847 </sect1>
2848
2849 <sect1 id="vboxmanage-setproperty">
2850 <title>VBoxManage setproperty</title>
2851
2852 <para>This command is used to change global settings which affect the
2853 entire VirtualBox installation. Some of these correspond to the settings
2854 in the "Global settings" dialog in the graphical user interface. The
2855 following properties are available:<glosslist>
2856 <glossentry>
2857 <glossterm><computeroutput>machinefolder</computeroutput></glossterm>
2858
2859 <glossdef>
2860 <para>This specifies the default folder in which virtual machine
2861 definitions are kept; see <xref linkend="vboxconfigdata" /> for
2862 details.</para>
2863 </glossdef>
2864 </glossentry>
2865
2866 <glossentry>
2867 <glossterm><computeroutput>hwvirtexclusive</computeroutput></glossterm>
2868 <glossdef><para>This specifies whether VirtualBox will make exclusive use of
2869 the hardware virtualization extensions (Intel VT-x or AMD-V) of the
2870 host system's processor; see <xref linkend="hwvirt" />. If you wish to
2871 share these extensions with other hypervisors running at the same time,
2872 you must disable this setting. Doing so has negative performance implications.
2873 </para></glossdef>
2874 </glossentry>
2875
2876
2877 <glossentry>
2878 <glossterm><computeroutput>vrdeauthlibrary</computeroutput></glossterm>
2879
2880 <glossdef>
2881 <para>This specifies which library to use when "external"
2882 authentication has been selected for a particular virtual machine;
2883 see <xref linkend="vbox-auth" /> for details.</para>
2884 </glossdef>
2885 </glossentry>
2886
2887 <glossentry>
2888 <glossterm><computeroutput>websrvauthlibrary</computeroutput></glossterm>
2889
2890 <glossdef>
2891 <para>This specifies which library the web service uses to
2892 authenticate users. For details about the VirtualBox web service,
2893 please refer to the separate VirtualBox SDK reference (see <xref
2894 linkend="VirtualBoxAPI" />).</para>
2895 </glossdef>
2896 </glossentry>
2897
2898 <glossentry>
2899 <glossterm><computeroutput>vrdeextpack</computeroutput></glossterm>
2900
2901 <glossdef>
2902 <para>This specifies which library implements the VirtualBox
2903 Remote Desktop Extension.</para>
2904 </glossdef>
2905 </glossentry>
2906
2907 <glossentry>
2908 <glossterm><computeroutput>loghistorycount</computeroutput></glossterm>
2909
2910 <glossdef>
2911 <para>This selects how many rotated (old) VM logs are kept.</para>
2912 </glossdef>
2913 </glossentry>
2914
2915 <glossentry>
2916 <glossterm><computeroutput>autostartdbpath</computeroutput></glossterm>
2917
2918 <glossdef>
2919 <para>This selects the path to the autostart database. See
2920 <xref linkend="autostart" />.</para>
2921 </glossdef>
2922 </glossentry>
2923
2924 <glossentry>
2925 <glossterm><computeroutput>defaultfrontend</computeroutput></glossterm>
2926
2927 <glossdef>
2928 <para>This selects the global default VM frontend setting. See
2929 <xref linkend="vboxmanage-startvm" />.</para>
2930 </glossdef>
2931 </glossentry>
2932
2933 <glossentry>
2934 <glossterm><computeroutput>logginglevel</computeroutput></glossterm>
2935
2936 <glossdef>
2937 <para>This configures the VBoxSVC release logging details.<footnote>
2938 <para><ulink url="http://www.virtualbox.org/wiki/VBoxLogging">http://www.virtualbox.org/wiki/VBoxLogging</ulink>.</para>
2939 </footnote>
2940 </para>
2941 </glossdef>
2942 </glossentry>
2943 </glosslist></para>
2944 </sect1>
2945
2946 <sect1>
2947 <title>VBoxManage usbfilter add/modify/remove</title>
2948
2949 <para>The <computeroutput>usbfilter</computeroutput> commands are used for
2950 working with USB filters in virtual machines, or global filters which
2951 affect the whole VirtualBox setup. Global filters are applied before
2952 machine-specific filters, and may be used to prevent devices from being
2953 captured by any virtual machine. Global filters are always applied in a
2954 particular order, and only the first filter which fits a device is
2955 applied. So for example, if the first global filter says to hold (make
2956 available) a particular Kingston memory stick device and the second to
2957 ignore all Kingston devices, that memory stick will be available to any
2958 machine with an appropriate filter, but no other Kingston device
2959 will.</para>
2960
2961 <para>When creating a USB filter using <computeroutput>usbfilter
2962 add</computeroutput>, you must supply three or four mandatory parameters.
2963 The index specifies the position in the list at which the filter should be
2964 placed. If there is already a filter at that position, then it and the
2965 following ones will be shifted back one place. Otherwise the new filter
2966 will be added onto the end of the list. The
2967 <computeroutput>target</computeroutput> parameter selects the virtual
2968 machine that the filter should be attached to or use "global" to apply it
2969 to all virtual machines. <computeroutput>name</computeroutput> is a name
2970 for the new filter and for global filters,
2971 <computeroutput>action</computeroutput> says whether to allow machines
2972 access to devices that fit the filter description ("hold") or not to give
2973 them access ("ignore"). In addition, you should specify parameters to
2974 filter by. You can find the parameters for devices attached to your system
2975 using <computeroutput>VBoxManage list usbhost</computeroutput>. Finally,
2976 you can specify whether the filter should be active, and for local
2977 filters, whether they are for local devices, remote (over an RDP
2978 connection) or either.</para>
2979
2980 <para>When you modify a USB filter using <computeroutput>usbfilter
2981 modify</computeroutput>, you must specify the filter by index (see the
2982 output of <computeroutput>VBoxManage list usbfilters</computeroutput> to
2983 find global filter indexes and that of <computeroutput>VBoxManage
2984 showvminfo</computeroutput> to find indexes for individual machines) and
2985 by target, which is either a virtual machine or "global". The properties
2986 which can be changed are the same as for <computeroutput>usbfilter
2987 add</computeroutput>. To remove a filter, use <computeroutput>usbfilter
2988 remove</computeroutput> and specify the index and the target.</para>
2989 </sect1>
2990
2991 <sect1 id="vboxmanage-sharedfolder">
2992 <title>VBoxManage sharedfolder add/remove</title>
2993
2994 <para>This command allows you to share folders on the host computer with
2995 guest operating systems. For this, the guest systems must have a version
2996 of the VirtualBox Guest Additions installed which supports this
2997 functionality.</para>
2998
2999 <para>Shared folders are described in detail in <xref
3000 linkend="sharedfolders" />.</para>
3001 </sect1>
3002
3003 <sect1 id="vboxmanage-guestproperty">
3004 <title>VBoxManage guestproperty</title>
3005
3006 <para>The "guestproperty" commands allow you to get or set properties of a
3007 running virtual machine. Please see <xref linkend="guestadd-guestprops" />
3008 for an introduction. As explained there, guest properties are arbitrary
3009 key/value string pairs which can be written to and read from by either the
3010 guest or the host, so they can be used as a low-volume communication
3011 channel for strings, provided that a guest is running and has the Guest
3012 Additions installed. In addition, a number of values whose keys begin with
3013 "/VirtualBox/" are automatically set and maintained by the Guest
3014 Additions.</para>
3015
3016 <para>The following subcommands are available (where
3017 <computeroutput>&lt;vm&gt;</computeroutput>, in each case, can either be a
3018 VM name or a VM UUID, as with the other VBoxManage commands):<itemizedlist>
3019 <listitem>
3020 <para><computeroutput>enumerate &lt;vm&gt; [--patterns
3021 &lt;pattern&gt;]</computeroutput>: This lists all the guest
3022 properties that are available for the given VM, including the value.
3023 This list will be very limited if the guest's service process cannot
3024 be contacted, e.g. because the VM is not running or the Guest
3025 Additions are not installed.</para>
3026
3027 <para>If <computeroutput>--patterns &lt;pattern&gt;</computeroutput>
3028 is specified, it acts as a filter to only list properties that match
3029 the given pattern. The pattern can contain the following wildcard
3030 characters:<itemizedlist>
3031 <listitem>
3032 <para><computeroutput>*</computeroutput> (asterisk):
3033 represents any number of characters; for example,
3034 "<computeroutput>/VirtualBox*</computeroutput>" would match
3035 all properties beginning with "/VirtualBox".</para>
3036 </listitem>
3037
3038 <listitem>
3039 <para><computeroutput>?</computeroutput> (question mark):
3040 represents a single arbitrary character; for example,
3041 "<computeroutput>fo?</computeroutput>" would match both "foo"
3042 and "for".</para>
3043 </listitem>
3044
3045 <listitem>
3046 <para><computeroutput>|</computeroutput> (pipe symbol): can be
3047 used to specify multiple alternative patterns; for example,
3048 "<computeroutput>s*|t*</computeroutput>" would match anything
3049 starting with either "s" or "t".</para>
3050 </listitem>
3051 </itemizedlist></para>
3052 </listitem>
3053
3054 <listitem>
3055 <para><computeroutput>get &lt;vm&gt; &lt;property&gt;
3056 </computeroutput>: This
3057 retrieves the value of a single property only. If the property
3058 cannot be found (e.g. because the guest is not running), this will
3059 print <screen>No value set!</screen></para>
3060 </listitem>
3061
3062 <listitem>
3063 <para><computeroutput>set &lt;vm&gt; &lt;property&gt; [&lt;value&gt;
3064 [--flags &lt;flags&gt;]]</computeroutput>: This allows you to set a
3065 guest property by specifying the key and value. If
3066 <computeroutput>&lt;value&gt;</computeroutput> is omitted, the
3067 property is deleted. With <computeroutput>--flags</computeroutput>
3068 you can optionally specify additional behavior (you can combine
3069 several by separating them with commas):<itemizedlist>
3070 <listitem>
3071 <para><computeroutput>TRANSIENT</computeroutput>: the value
3072 will not be stored with the VM data when the VM exits;</para>
3073 </listitem>
3074
3075 <listitem>
3076 <para><computeroutput>TRANSRESET</computeroutput>: the value
3077 will be deleted as soon as the VM restarts and/or exits;</para>
3078 </listitem>
3079
3080 <listitem>
3081 <para><computeroutput>RDONLYGUEST</computeroutput>: the value
3082 can only be changed by the host, but the guest can only read
3083 it;</para>
3084 </listitem>
3085
3086 <listitem>
3087 <para><computeroutput>RDONLYHOST</computeroutput>: reversely,
3088 the value can only be changed by the guest, but the host can
3089 only read it;</para>
3090 </listitem>
3091
3092 <listitem>
3093 <para><computeroutput>READONLY</computeroutput>: a combination
3094 of the two, the value cannot be changed at all.</para>
3095 </listitem>
3096 </itemizedlist></para>
3097 </listitem>
3098
3099 <listitem>
3100 <para><computeroutput>wait &lt;vm&gt; &lt;pattern&gt; --timeout
3101 &lt;timeout&gt;</computeroutput>: This waits for a particular value
3102 described by "pattern" to change or to be deleted or created. The
3103 pattern rules are the same as for the "enumerate" subcommand
3104 above.</para>
3105 </listitem>
3106
3107 <listitem>
3108 <para><computeroutput>delete &lt;vm&gt; &lt;property&gt;
3109 </computeroutput>: Deletes a formerly set guest property.
3110 </para></listitem>
3111 </itemizedlist></para>
3112 </sect1>
3113
3114 <sect1 id="vboxmanage-guestcontrol">
3115 <title>VBoxManage guestcontrol</title>
3116
3117 <para>The <computeroutput>guestcontrol</computeroutput> commands allow you
3118 to control certain things inside a guest from the host. Please see <xref
3119 linkend="guestadd-guestcontrol" /> for an introduction.</para>
3120
3121 <para>There are two sets of subcommands here. The first set requires guest
3122 credentials to be specified, the second set does not.</para>
3123
3124 <para>The first set of subcommands are on the following form:</para>
3125
3126 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; &lt;sub-command&gt;
3127 [-v|--verbose] [-q|quiet] [--username &lt;name&gt;] [--domain &lt;domain&gt; ]
3128 [--passwordfile &lt;file&gt; | --password &lt;password&gt;] ...
3129 </screen>
3130
3131 <para>and the second set are on the following form:</para>
3132
3133 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; &lt;sub-command&gt;
3134 [-v|--verbose] [-q|quiet] ...
3135 </screen>
3136
3137 <para>where the common parameters are:
3138 <glosslist>
3139 <glossentry>
3140 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
3141 <glossdef><para>The VM UUID or VM name. Mandatory.</para></glossdef>
3142 </glossentry>
3143 <glossentry>
3144 <glossterm><computeroutput>--username &lt;name&gt;</computeroutput></glossterm>
3145 <glossdef><para>Name of the user the process should run under. This
3146 user must exist on the guest OS. If not specified the host user
3147 name is used.</para>
3148 </glossdef>
3149 </glossentry>
3150 <glossentry>
3151 <glossterm><computeroutput>--domain &lt;domain&gt;</computeroutput></glossterm>
3152 <glossdef><para>User domain for windows guests, optional.</para></glossdef>
3153 </glossentry>
3154 <glossentry>
3155 <glossterm><computeroutput>--passwordfile &lt;file&gt;</computeroutput></glossterm>
3156 <glossdef><para>Password of the specified user account to be read from
3157 the given file. If not given, an empty password is assumed.</para></glossdef>
3158 </glossentry>
3159 <glossentry>
3160 <glossterm><computeroutput>--password &lt;password&gt;</computeroutput></glossterm>
3161 <glossdef><para>Password of the specified user account. If not given,
3162 an empty password is assumed.</para></glossdef>
3163 </glossentry>
3164 <glossentry>
3165 <glossterm><computeroutput>-v|--verbose</computeroutput></glossterm>
3166 <glossdef><para>Makes the sub-command execution more noisy.</para></glossdef>
3167 </glossentry>
3168 <glossentry>
3169 <glossterm><computeroutput>-q|--quiet</computeroutput></glossterm>
3170 <glossdef><para>Makes the sub-command execution more quiet.</para></glossdef>
3171 </glossentry>
3172 </glosslist>
3173 </para>
3174
3175 <para>The first set of subcommands:<itemizedlist>
3176 <listitem>
3177 <para><emphasis role="bold"><computeroutput>run</computeroutput></emphasis>,
3178 allows you to execute a guest program waiting for it to complete and
3179 forwarding stdout, stderr and stdin to/from the host.</para>
3180
3181 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; run [common-options]
3182 [--exe &lt;path to executable&gt;] [--timeout &lt;msec&gt;]
3183 [-E|--putenv &lt;NAME&gt;[=&lt;VALUE&gt;]] [--unquoted-args]
3184 [--ignore-operhaned-processes] [--no-profile]
3185 [--no-wait-stdout|--wait-stdout]
3186 [--no-wait-stderr|--wait-stderr]
3187 [--dos2unix] [--unix2dos]
3188 -- &lt;program/arg0&gt; [argument1] ... [argumentN]]
3189 </screen>
3190
3191 <para>where the options are: <glosslist>
3192 <glossentry>
3193 <glossterm><computeroutput>--exe "&lt;path to program&gt;"</computeroutput></glossterm>
3194 <glossdef><para>Guest path to the guest executable that should be executed.
3195 in the guest, e.g.
3196 <computeroutput>C:\Windows\System32\calc.exe</computeroutput></para>
3197 </glossdef>
3198 </glossentry>
3199
3200 <glossentry>
3201 <glossterm><computeroutput>--username &lt;name&gt;</computeroutput></glossterm>
3202
3203 <glossdef>
3204 <para>Name of the user the process should run under. This
3205 user must exist on the guest OS.</para>
3206 </glossdef>
3207 </glossentry>
3208
3209 <glossentry>
3210 <glossterm><computeroutput>--passwordfile &lt;file&gt;</computeroutput></glossterm>
3211
3212 <glossdef>
3213 <para>Password of the user account specified to be read from
3214 the given file. If not given, an empty password is
3215 assumed.</para>
3216 </glossdef>
3217 </glossentry>
3218
3219 <glossentry>
3220 <glossterm><computeroutput>--password &lt;password&gt;</computeroutput></glossterm>
3221
3222 <glossdef>
3223 <para>Password of the user account specified with
3224 <computeroutput>--username</computeroutput>. If not given,
3225 an empty password is assumed.</para>
3226 </glossdef>
3227 </glossentry>
3228
3229 <glossentry>
3230 <glossterm><computeroutput>--dos2unix</computeroutput></glossterm>
3231
3232 <glossdef><para>
3233 Converts output from DOS/Windows guests to UNIX-compatible
3234 line endings (CR + LF -> LF). Not implemented yet.</para>
3235 </glossdef>
3236 </glossentry>
3237
3238 <glossentry>
3239 <glossterm><computeroutput>--environment
3240 "&lt;NAME&gt;=&lt;VALUE&gt;"</computeroutput></glossterm>
3241
3242 <glossdef>
3243 <para>One or more environment variables to be set or
3244 unset.</para>
3245
3246 <para>By default, the new process in the guest will be
3247 created with the standard environment of the guest OS. This
3248 option allows for modifying that environment. To set/modify
3249 a variable, a pair of
3250 <computeroutput>NAME=VALUE</computeroutput> must be
3251 specified; to unset a certain variable, the name with no
3252 value must set, e.g.
3253 <computeroutput>NAME=</computeroutput>.</para>
3254
3255 <para>Arguments containing spaces must be enclosed in
3256 quotation marks. More than one
3257 <computeroutput>--environment</computeroutput> at a time can
3258 be specified to keep the command line tidy.</para>
3259 </glossdef>
3260 </glossentry>
3261
3262 <glossentry>
3263 <glossterm><computeroutput>--timeout &lt;msec&gt;</computeroutput></glossterm>
3264
3265 <glossdef>
3266 <para>Value (in milliseconds) that specifies the time how
3267 long the started process is allowed to run and how long
3268 VBoxManage waits for getting output from that process. If no
3269 timeout is specified, VBoxManage will wait forever until the
3270 started process ends or an error occured.</para>
3271 </glossdef>
3272 </glossentry>
3273
3274 <glossentry>
3275 <glossterm><computeroutput>--unix2dos</computeroutput></glossterm>
3276
3277 <glossdef><para>
3278 Converts output from a UNIX/Linux guests to DOS-/Windows-compatible
3279 line endings (LF -> CR + LF). Not implemented yet.</para></glossdef>
3280 </glossentry>
3281
3282 <glossentry>
3283 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
3284
3285 <glossdef>
3286 <para>Tells VBoxManage to be more verbose.</para>
3287 </glossdef>
3288 </glossentry>
3289
3290 <glossentry>
3291 <glossterm><computeroutput>--wait-exit</computeroutput></glossterm>
3292
3293 <glossdef>
3294 <para>Waits until the process ends and outputs its
3295 exit code along with the exit reason/flags.</para>
3296 </glossdef>
3297 </glossentry>
3298
3299 <glossentry>
3300 <glossterm><computeroutput>--wait-stdout</computeroutput></glossterm>
3301
3302 <glossdef>
3303 <para>Waits until the process ends and outputs its
3304 exit code along with the exit reason/flags. While waiting
3305 VBoxManage retrieves the process output collected from stdout.</para>
3306 </glossdef>
3307 </glossentry>
3308
3309 <glossentry>
3310 <glossterm><computeroutput>--wait-stderr</computeroutput></glossterm>
3311
3312 <glossdef>
3313 <para>Waits until the process ends and outputs its
3314 exit code along with the exit reason/flags. While waiting
3315 VBoxManage retrieves the process output collected from stderr.</para>
3316 </glossdef>
3317 </glossentry>
3318
3319 <glossentry>
3320 <glossterm><computeroutput>[-- [&lt;argument1s&gt;] ... [&lt;argumentNs&gt;]]</computeroutput></glossterm>
3321
3322 <glossdef>
3323 <para>One or more arguments to pass to the process being
3324 executed.</para>
3325 <para>Arguments containing spaces must be enclosed in
3326 quotation marks.</para>
3327 </glossdef>
3328 </glossentry>
3329
3330 </glosslist></para>
3331
3332 <para><note>
3333 <para>On Windows there are certain limitations for graphical
3334 applications; please see <xref linkend="KnownIssues" /> for more
3335 information.</para>
3336 </note> Examples: <screen>VBoxManage --nologo guestcontrol "My VM" execute --image "/bin/ls"
3337 --username foo --passwordfile bar.txt --wait-exit --wait-stdout -- -l /usr</screen> <screen>VBoxManage --nologo guestcontrol "My VM" execute --image "c:\\windows\\system32\\ipconfig.exe"
3338 --username foo --passwordfile bar.txt --wait-exit --wait-stdout</screen> Note that
3339 the double backslashes in the second example are only required on
3340 Unix hosts.</para>
3341
3342 <para><note>
3343 <para>For certain commands a user name of an existing user account on the guest
3344 must be specified; anonymous executions are not supported for security reasons. A
3345 user account password, however, is optional and depends on the guest's OS security
3346 policy or rules. If no password is specified for a given user name, an empty password
3347 will be used. On certain OSes like Windows the security policy may needs to be adjusted
3348 in order to allow user accounts with an empty password set. Also, global domain rules might
3349 apply and therefore cannot be changed.</para>
3350 </note></para>
3351
3352 <para>Starting at VirtualBox 4.1.2 guest process execution by default is limited
3353 to serve up to 5 guest processes at a time. If a new guest process gets started
3354 which would exceed this limit, the oldest not running guest process will be discarded
3355 in order to be able to run that new process. Also, retrieving output from this
3356 old guest process will not be possible anymore then. If all 5 guest processes
3357 are still active and running, starting a new guest process will result in an
3358 appropriate error message.</para>
3359
3360 <para>To raise or lower the guest process execution limit, either the guest
3361 property <computeroutput>/VirtualBox/GuestAdd/VBoxService/--control-procs-max-kept</computeroutput>
3362 or VBoxService' command line by specifying <computeroutput>--control-procs-max-kept</computeroutput>
3363 needs to be modified. A restart of the guest OS is required afterwards. To serve unlimited
3364 guest processes, a value of <computeroutput>0</computeroutput> needs to be set (not recommended).</para>
3365 </listitem>
3366
3367 <listitem>
3368 <para><emphasis role="bold"><computeroutput>copyto</computeroutput></emphasis>,
3369 which allows copying
3370 files from the host to the guest (only with installed Guest
3371 Additions 4.0 and later).</para>
3372
3373 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; copyto|cp
3374 &lt;guest source&gt; &lt;host dest&gt; --username &lt;name&gt;
3375 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
3376 [--dryrun] [--follow] [--recursive] [--verbose]</screen>
3377
3378 <para>where the parameters mean: <glosslist>
3379 <glossentry>
3380 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
3381
3382 <glossdef>
3383 <para>The VM UUID or VM name. Mandatory.</para>
3384 </glossdef>
3385 </glossentry>
3386
3387 <glossentry>
3388 <glossterm><computeroutput>source on host</computeroutput></glossterm>
3389
3390 <glossdef>
3391 <para>Absolute path of source file(s) on host to copy over
3392 to the guest, e.g.
3393 <computeroutput>C:\Windows\System32\calc.exe</computeroutput>.
3394 This also can be a wildcard expression, e.g.
3395 <computeroutput>C:\Windows\System32\*.dll</computeroutput></para>
3396 </glossdef>
3397 </glossentry>
3398
3399 <glossentry>
3400 <glossterm><computeroutput>destination on guest</computeroutput></glossterm>
3401
3402 <glossdef>
3403 <para>Absolute destination path on the guest, e.g.
3404 <computeroutput>C:\Temp</computeroutput></para>
3405 </glossdef>
3406 </glossentry>
3407
3408 <glossentry>
3409 <glossterm><computeroutput>--username &lt;name&gt;</computeroutput></glossterm>
3410
3411 <glossdef>
3412 <para>Name of the user the copy process should run under.
3413 This user must exist on the guest OS.</para>
3414 </glossdef>
3415 </glossentry>
3416
3417 <glossentry>
3418 <glossterm><computeroutput>--passwordfile &lt;file&gt;</computeroutput></glossterm>
3419
3420 <glossdef>
3421 <para>Password of the user account specified to be read from
3422 the given file. If not given, an empty password is
3423 assumed.</para>
3424 </glossdef>
3425 </glossentry>
3426
3427 <glossentry>
3428 <glossterm><computeroutput>--password &lt;password&gt;</computeroutput></glossterm>
3429
3430 <glossdef>
3431 <para>Password of the user account specified with
3432 <computeroutput>--username</computeroutput>. If not given,
3433 an empty password is assumed.</para>
3434 </glossdef>
3435 </glossentry>
3436
3437 <glossentry>
3438 <glossterm><computeroutput>--dryrun</computeroutput></glossterm>
3439
3440 <glossdef>
3441 <para>Tells VBoxManage to only perform a dry run instead of
3442 really copying files to the guest.</para>
3443 </glossdef>
3444 </glossentry>
3445
3446 <glossentry>
3447 <glossterm><computeroutput>--follow</computeroutput></glossterm>
3448
3449 <glossdef>
3450 <para>Enables following symlinks on the host's
3451 source.</para>
3452 </glossdef>
3453 </glossentry>
3454
3455 <glossentry>
3456 <glossterm><computeroutput>--recursive</computeroutput></glossterm>
3457
3458 <glossdef>
3459 <para>Recursively copies files/directories of the specified
3460 source.</para>
3461 </glossdef>
3462 </glossentry>
3463
3464 <glossentry>
3465 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
3466
3467 <glossdef>
3468 <para>Tells VBoxManage to be more verbose.</para>
3469 </glossdef>
3470 </glossentry>
3471
3472 <glossentry>
3473 <glossterm><computeroutput>--flags &lt;flags&gt;</computeroutput></glossterm>
3474
3475 <glossdef>
3476 <para>Additional flags to set. This is not used at the
3477 moment.</para>
3478 </glossdef>
3479 </glossentry>
3480 </glosslist></para>
3481 </listitem>
3482
3483 <listitem>
3484 <para><emphasis role="bold"><computeroutput>copyfrom</computeroutput></emphasis>,
3485 which allows copying
3486 files from the guest to the host (only with installed Guest
3487 Additions 4.0 and later). It has the same parameters as
3488 <computeroutput>copyto</computeroutput> above.</para>
3489 </listitem>
3490
3491 <listitem>
3492 <para><emphasis role="bold"><computeroutput>createdirectory</computeroutput></emphasis>,
3493 which allows
3494 copying files from the host to the guest (only with installed Guest
3495 Additions 4.0 and later).</para>
3496
3497 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; createdir[ectory]|mkdir|md
3498 &lt;guest directory&gt;... --username &lt;name&gt;
3499 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
3500 [--parents] [--mode &lt;mode&gt;] [--verbose]</screen>
3501
3502 <para>where the parameters mean: <glosslist>
3503 <glossentry>
3504 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
3505
3506 <glossdef>
3507 <para>The VM UUID or VM name. Mandatory.</para>
3508 </glossdef>
3509 </glossentry>
3510
3511 <glossentry>
3512 <glossterm><computeroutput>directory to create on guest</computeroutput></glossterm>
3513
3514 <glossdef>
3515 <para>Absolute path of directory/directories to create on
3516 guest, e.g. <computeroutput>D:\Foo\Bar</computeroutput>.
3517 Parent directories need to exist (e.g. in this example
3518 <computeroutput>D:\Foo</computeroutput>) when switch
3519 <computeroutput>--parents</computeroutput> is omitted. The
3520 specified user must have appropriate rights to create the
3521 specified directory.</para>
3522 </glossdef>
3523 </glossentry>
3524
3525 <glossentry>
3526 <glossterm><computeroutput>--username &lt;name&gt;</computeroutput></glossterm>
3527
3528 <glossdef>
3529 <para>Name of the user the copy process should run under.
3530 This user must exist on the guest OS.</para>
3531 </glossdef>
3532 </glossentry>
3533
3534 <glossentry>
3535 <glossterm><computeroutput>--passwordfile &lt;file&gt;</computeroutput></glossterm>
3536
3537 <glossdef>
3538 <para>Password of the user account specified to be read from
3539 the given file. If not given, an empty password is
3540 assumed.</para>
3541 </glossdef>
3542 </glossentry>
3543
3544 <glossentry>
3545 <glossterm><computeroutput>--password &lt;password&gt;</computeroutput></glossterm>
3546
3547 <glossdef>
3548 <para>Password of the user account specified with
3549 <computeroutput>--username</computeroutput>. If not given,
3550 an empty password is assumed.</para>
3551 </glossdef>
3552 </glossentry>
3553
3554 <glossentry>
3555 <glossterm><computeroutput>--parents</computeroutput></glossterm>
3556
3557 <glossdef>
3558 <para>Also creates not yet existing parent directories of
3559 the specified directory, e.g. if the directory
3560 <computeroutput>D:\Foo</computeroutput> of
3561 <computeroutput>D:\Foo\Bar</computeroutput> does not exist
3562 yet it will be created. Without specifying
3563 <computeroutput>--parent</computeroutput> the action would
3564 have failed.</para>
3565 </glossdef>
3566 </glossentry>
3567
3568 <glossentry>
3569 <glossterm><computeroutput>--mode &lt;mode&gt;</computeroutput></glossterm>
3570
3571 <glossdef>
3572 <para>Sets the permission mode of the specified directory.
3573 Only octal modes (e.g.
3574 <computeroutput>0755</computeroutput>) are supported right
3575 now.</para>
3576 </glossdef>
3577 </glossentry>
3578
3579 <glossentry>
3580 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
3581
3582 <glossdef>
3583 <para>Tells VBoxManage to be more verbose.</para>
3584 </glossdef>
3585 </glossentry>
3586 </glosslist></para>
3587 </listitem>
3588
3589 <listitem>
3590 <para><emphasis role="bold"><computeroutput>removedirectory</computeroutput></emphasis>,
3591 which allows deletion of guest directories (only with installed Guest
3592 Additions 4.3.2 and later).</para>
3593
3594 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; removedir[ectory]|rmdir
3595 &lt;guest directory&gt;... --username &lt;name&gt;
3596 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
3597 [--recursive|-R|-r] [--verbose]</screen>
3598
3599 <para>where the parameters mean: <glosslist>
3600 <glossentry>
3601 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
3602
3603 <glossdef>
3604 <para>The VM UUID or VM name. Mandatory.</para>
3605 </glossdef>
3606 </glossentry>
3607
3608 <glossentry>
3609 <glossterm><computeroutput>directory to remove on guest</computeroutput></glossterm>
3610
3611 <glossdef>
3612 <para>Absolute path of directory/directories to remove on
3613 guest, e.g. <computeroutput>D:\Foo\Bar</computeroutput>. The
3614 specified user must have appropriate rights to delete the
3615 specified guest directories.</para>
3616 </glossdef>
3617 </glossentry>
3618
3619 <glossentry>
3620 <glossterm><computeroutput>--username &lt;name&gt;</computeroutput></glossterm>
3621
3622 <glossdef>
3623 <para>Name of the user the copy process should run under.
3624 This user must exist on the guest OS.</para>
3625 </glossdef>
3626 </glossentry>
3627
3628 <glossentry>
3629 <glossterm><computeroutput>--passwordfile &lt;file&gt;</computeroutput></glossterm>
3630
3631 <glossdef>
3632 <para>Password of the user account specified to be read from
3633 the given file. If not given, an empty password is
3634 assumed.</para>
3635 </glossdef>
3636 </glossentry>
3637
3638 <glossentry>
3639 <glossterm><computeroutput>--password &lt;password&gt;</computeroutput></glossterm>
3640
3641 <glossdef>
3642 <para>Password of the user account specified with
3643 <computeroutput>--username</computeroutput>. If not given,
3644 an empty password is assumed.</para>
3645 </glossdef>
3646 </glossentry>
3647
3648 <glossentry>
3649 <glossterm><computeroutput>--recursive</computeroutput></glossterm>
3650
3651 <glossdef>
3652 <para>Remove directories and their contents recursively.</para>
3653 </glossdef>
3654 </glossentry>
3655
3656 <glossentry>
3657 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
3658
3659 <glossdef>
3660 <para>Tells VBoxManage to be more verbose.</para>
3661 </glossdef>
3662 </glossentry>
3663 </glosslist></para>
3664 </listitem>
3665
3666 <listitem>
3667 <para><emphasis role="bold"><computeroutput>removefile</computeroutput></emphasis>,
3668 which allows deletion of guest files (only with installed Guest
3669 Additions 4.3.2 and later).</para>
3670
3671 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; removefile|rm
3672 &lt;guest file&gt;... --username &lt;name&gt;
3673 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
3674 [--verbose]</screen>
3675
3676 <para>where the parameters mean: <glosslist>
3677 <glossentry>
3678 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
3679
3680 <glossdef>
3681 <para>The VM UUID or VM name. Mandatory.</para>
3682 </glossdef>
3683 </glossentry>
3684
3685 <glossentry>
3686 <glossterm><computeroutput>file to remove on guest</computeroutput></glossterm>
3687
3688 <glossdef>
3689 <para>Absolute path of a file/files to remove on
3690 guest, e.g. <computeroutput>D:\Foo\Bar\text.txt</computeroutput>. The
3691 specified user must have appropriate rights to delete the
3692 specified guest files.</para>
3693 </glossdef>
3694 </glossentry>
3695
3696 <glossentry>
3697 <glossterm><computeroutput>--username &lt;name&gt;</computeroutput></glossterm>
3698
3699 <glossdef>
3700 <para>Name of the user the copy process should run under.
3701 This user must exist on the guest OS.</para>
3702 </glossdef>
3703 </glossentry>
3704
3705 <glossentry>
3706 <glossterm><computeroutput>--passwordfile &lt;file&gt;</computeroutput></glossterm>
3707
3708 <glossdef>
3709 <para>Password of the user account specified to be read from
3710 the given file. If not given, an empty password is
3711 assumed.</para>
3712 </glossdef>
3713 </glossentry>
3714
3715 <glossentry>
3716 <glossterm><computeroutput>--password &lt;password&gt;</computeroutput></glossterm>
3717
3718 <glossdef>
3719 <para>Password of the user account specified with
3720 <computeroutput>--username</computeroutput>. If not given,
3721 an empty password is assumed.</para>
3722 </glossdef>
3723 </glossentry>
3724
3725 <glossentry>
3726 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
3727
3728 <glossdef>
3729 <para>Tells VBoxManage to be more verbose.</para>
3730 </glossdef>
3731 </glossentry>
3732 </glosslist></para>
3733 </listitem>
3734
3735 <listitem>
3736 <para><emphasis role="bold"><computeroutput>ren[ame]|mv</computeroutput></emphasis>,
3737 which allows renaming of guest files and/or directories (only with installed Guest
3738 Additions 4.3.2 and later).</para>
3739
3740 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; ren[ame]|mv
3741 &lt;source&gt;... &lt;dest&gt; --username &lt;name&gt;
3742 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
3743 [--verbose]</screen>
3744
3745 <para>where the parameters mean: <glosslist>
3746 <glossentry>
3747 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
3748
3749 <glossdef>
3750 <para>The VM UUID or VM name. Mandatory.</para>
3751 </glossdef>
3752 </glossentry>
3753
3754 <glossentry>
3755 <glossterm><computeroutput>source</computeroutput></glossterm>
3756
3757 <glossdef>
3758 <para>Absolute path of one or more source(s) to move to
3759 destination. If more than one source is specified, destination
3760 must be an existing directory on the guest. The specified user
3761 must have appropriate rights to access source and destination
3762 files and directories.</para>
3763 </glossdef>
3764 </glossentry>
3765
3766 <glossentry>
3767 <glossterm><computeroutput>dest</computeroutput></glossterm>
3768
3769 <glossdef>
3770 <para>Absolute path of the destination to move the source(s)
3771 to. This can be a directory or a file, depending if one or more
3772 sources have been specified. The specified user
3773 must have appropriate rights to access the destination
3774 file and directory.</para>
3775 </glossdef>
3776 </glossentry>
3777
3778 <glossentry>
3779 <glossterm><computeroutput>--username &lt;name&gt;</computeroutput></glossterm>
3780
3781 <glossdef>
3782 <para>Name of the user the copy process should run under.
3783 This user must exist on the guest OS.</para>
3784 </glossdef>
3785 </glossentry>
3786
3787 <glossentry>
3788 <glossterm><computeroutput>--passwordfile &lt;file&gt;</computeroutput></glossterm>
3789
3790 <glossdef>
3791 <para>Password of the user account specified to be read from
3792 the given file. If not given, an empty password is
3793 assumed.</para>
3794 </glossdef>
3795 </glossentry>
3796
3797 <glossentry>
3798 <glossterm><computeroutput>--password &lt;password&gt;</computeroutput></glossterm>
3799
3800 <glossdef>
3801 <para>Password of the user account specified with
3802 <computeroutput>--username</computeroutput>. If not given,
3803 an empty password is assumed.</para>
3804 </glossdef>
3805 </glossentry>
3806
3807 <glossentry>
3808 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
3809
3810 <glossdef>
3811 <para>Tells VBoxManage to be more verbose.</para>
3812 </glossdef>
3813 </glossentry>
3814 </glosslist></para>
3815 </listitem>
3816
3817 <listitem>
3818 <para><emphasis role="bold"><computeroutput>createtemporary</computeroutput></emphasis>,
3819 which allows
3820 copying files from the host to the guest (only with installed Guest
3821 Additions 4.2 and later).</para>
3822
3823 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; createtemp[orary]|mktemp
3824 &lt;template&gt; --username &lt;name&gt;
3825 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
3826 [--directory] [--secure] [--tmpdir &lt;directory&gt;]
3827 [--domain &lt;domain&gt;] [--mode &lt;mode&gt;] [--verbose]</screen>
3828
3829 <para>where the parameters mean: <glosslist>
3830 <glossentry>
3831 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
3832
3833 <glossdef>
3834 <para>The VM UUID or VM name. Mandatory.</para>
3835 </glossdef>
3836 </glossentry>
3837
3838 <glossentry>
3839 <glossterm><computeroutput>template</computeroutput></glossterm>
3840
3841 <glossdef>
3842 <para>A file name without a path and with at least three consecutive 'X'
3843 characters or ending in 'X'
3844 </para>
3845 </glossdef>
3846 </glossentry>
3847
3848 <glossentry>
3849 <glossterm><computeroutput>--username &lt;name&gt;</computeroutput></glossterm>
3850
3851 <glossdef>
3852 <para>Name of the user the copy process should run under.
3853 This user must exist on the guest OS.</para>
3854 </glossdef>
3855 </glossentry>
3856
3857 <glossentry>
3858 <glossterm><computeroutput>--passwordfile &lt;file&gt;</computeroutput></glossterm>
3859
3860 <glossdef>
3861 <para>Password of the user account specified to be read from
3862 the given file. If not given, an empty password is
3863 assumed.</para>
3864 </glossdef>
3865 </glossentry>
3866
3867 <glossentry>
3868 <glossterm><computeroutput>--password &lt;password&gt;</computeroutput></glossterm>
3869
3870 <glossdef>
3871 <para>Password of the user account specified with
3872 <computeroutput>--username</computeroutput>. If not given,
3873 an empty password is assumed.</para>
3874 </glossdef>
3875 </glossentry>
3876
3877 <glossentry>
3878 <glossterm><computeroutput>--directory</computeroutput></glossterm>
3879
3880 <glossdef>
3881 <para>Create a temporary directory instead of a file.</para>
3882 </glossdef>
3883 </glossentry>
3884
3885 <glossentry>
3886 <glossterm><computeroutput>--secure</computeroutput></glossterm>
3887
3888 <glossdef>
3889 <para>
3890 Secure creation. The file mode is fixed to
3891 <computeroutput>0755</computeroutput>. And the operation
3892 will fail if it cannot performed securely.
3893 </para>
3894 </glossdef>
3895 </glossentry>
3896
3897 <glossentry>
3898 <glossterm><computeroutput>--tmpdir &lt;directory&gt;</computeroutput></glossterm>
3899
3900 <glossdef>
3901 <para>
3902 Directory where the file / directory is created. If not
3903 specified, the platform-specific temp directory is used.
3904 </para>
3905 </glossdef>
3906 </glossentry>
3907
3908 <glossentry>
3909 <glossterm><computeroutput>--mode &lt;mode&gt;</computeroutput></glossterm>
3910
3911 <glossdef>
3912 <para>Sets the permission mode of the specified directory.
3913 Only octal modes (e.g.
3914 <computeroutput>0755</computeroutput>) are supported right
3915 now.</para>
3916 </glossdef>
3917 </glossentry>
3918
3919 <glossentry>
3920 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
3921
3922 <glossdef>
3923 <para>Tells VBoxManage to be more verbose.</para>
3924 </glossdef>
3925 </glossentry>
3926 </glosslist></para>
3927 </listitem>
3928
3929 <listitem>
3930 <para><emphasis role="bold"><computeroutput>list</computeroutput></emphasis>,
3931 which lists various guest control information such as open guest sessions,
3932 guest processes and guest files.</para>
3933
3934 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; list
3935 &lt;all|sessions|processes|files&gt; [--verbose]</screen>
3936
3937 <para>where the parameters mean: <glosslist>
3938 <glossentry>
3939 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
3940
3941 <glossdef>
3942 <para>The VM UUID or VM name. Mandatory.</para>
3943 </glossdef>
3944 </glossentry>
3945
3946 <glossentry>
3947 <glossterm><computeroutput>all|sessions|processes|files</computeroutput></glossterm>
3948
3949 <glossdef>
3950 <para>Whether to list guest sessions, guest processes, guest files
3951 or all information available. Mandatory.</para>
3952 </glossdef>
3953 </glossentry>
3954
3955 <glossentry>
3956 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
3957
3958 <glossdef>
3959 <para>Tells VBoxManage to be more verbose.</para>
3960 </glossdef>
3961 </glossentry>
3962 </glosslist></para>
3963 </listitem>
3964
3965 <listitem>
3966 <para><emphasis role="bold"><computeroutput>process kill</computeroutput></emphasis>,
3967 which terminates specific guest processes of a guest session, based on either the
3968 session's ID or the session's name.</para>
3969
3970 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; process kill
3971 --session-id &lt;ID&gt;
3972 | --session-name &lt;name or pattern&gt;
3973 [--verbose]
3974 &lt;PID&gt; ... &lt;PID n&gt;</screen>
3975
3976 <para>where the parameters mean: <glosslist>
3977 <glossentry>
3978 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
3979
3980 <glossdef>
3981 <para>The VM UUID or VM name. Mandatory.</para>
3982 </glossdef>
3983 </glossentry>
3984
3985 <glossentry>
3986 <glossterm><computeroutput>--session-id</computeroutput></glossterm>
3987
3988 <glossdef>
3989 <para>Specifies the guest session to use by its ID.</para>
3990 </glossdef>
3991 </glossentry>
3992
3993 <glossentry>
3994 <glossterm><computeroutput>--session-name</computeroutput></glossterm>
3995
3996 <glossdef>
3997 <para>Specifies the guest session to use by its name. Multiple
3998 sessions can be closed when specifying * or ? wildcards.</para>
3999 </glossdef>
4000 </glossentry>
4001
4002 <glossentry>
4003 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
4004
4005 <glossdef>
4006 <para>Tells VBoxManage to be more verbose.</para>
4007 </glossdef>
4008 </glossentry>
4009
4010 <glossentry>
4011 <glossterm><computeroutput>&lt;PID&gt; ... &lt;PID n&gt;</computeroutput></glossterm>
4012
4013 <glossdef>
4014 <para>List of process identifiers (PIDs) to terminate.</para>
4015 </glossdef>
4016 </glossentry>
4017 </glosslist></para>
4018 </listitem>
4019
4020 <listitem>
4021 <para><emphasis role="bold"><computeroutput>[p[s]]kill</computeroutput></emphasis>,
4022 which terminates specific guest processes of a guest session, based on either the
4023 session's ID or the session's name.</para>
4024
4025 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; process kill
4026 --session-id &lt;ID&gt;
4027 | --session-name &lt;name or pattern&gt;
4028 [--verbose]
4029 &lt;PID&gt; ... &lt;PID n&gt;</screen>
4030
4031 <para>where the parameters mean: <glosslist>
4032 <glossentry>
4033 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
4034
4035 <glossdef>
4036 <para>The VM UUID or VM name. Mandatory.</para>
4037 </glossdef>
4038 </glossentry>
4039
4040 <glossentry>
4041 <glossterm><computeroutput>--session-id</computeroutput></glossterm>
4042
4043 <glossdef>
4044 <para>Specifies the guest session to use by its ID.</para>
4045 </glossdef>
4046 </glossentry>
4047
4048 <glossentry>
4049 <glossterm><computeroutput>--session-name</computeroutput></glossterm>
4050
4051 <glossdef>
4052 <para>Specifies the guest session to use by its name. Multiple
4053 sessions can be closed when specifying * or ? wildcards.</para>
4054 </glossdef>
4055 </glossentry>
4056
4057 <glossentry>
4058 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
4059
4060 <glossdef>
4061 <para>Tells VBoxManage to be more verbose.</para>
4062 </glossdef>
4063 </glossentry>
4064
4065 <glossentry>
4066 <glossterm><computeroutput>&lt;PID&gt; ... &lt;PID n&gt;</computeroutput></glossterm>
4067
4068 <glossdef>
4069 <para>List of process identifiers (PIDs) to terminate.</para>
4070 </glossdef>
4071 </glossentry>
4072 </glosslist></para>
4073 </listitem>
4074
4075 <listitem>
4076 <para><emphasis role="bold"><computeroutput>session close</computeroutput></emphasis>,
4077 which closes specific guest sessions, based on either the session's ID or the
4078 session's name.</para>
4079
4080 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; session close
4081 --session-id &lt;ID&gt;
4082 | --session-name &lt;name or pattern&gt;
4083 | --all
4084 [--verbose]</screen>
4085
4086 <para>where the parameters mean: <glosslist>
4087 <glossentry>
4088 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
4089
4090 <glossdef>
4091 <para>The VM UUID or VM name. Mandatory.</para>
4092 </glossdef>
4093 </glossentry>
4094
4095 <glossentry>
4096 <glossterm><computeroutput>--session-id</computeroutput></glossterm>
4097
4098 <glossdef>
4099 <para>Close a guest session specified by its ID.</para>
4100 </glossdef>
4101 </glossentry>
4102
4103 <glossentry>
4104 <glossterm><computeroutput>--session-name</computeroutput></glossterm>
4105
4106 <glossdef>
4107 <para>Close a guest session specified by its name. Multiple sessions
4108 can be closed when specifying * or ? wildcards.</para>
4109 </glossdef>
4110 </glossentry>
4111
4112 <glossentry>
4113 <glossterm><computeroutput>--all</computeroutput></glossterm>
4114
4115 <glossdef>
4116 <para>Close all guest sessions.</para>
4117 </glossdef>
4118 </glossentry>
4119
4120 <glossentry>
4121 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
4122
4123 <glossdef>
4124 <para>Tells VBoxManage to be more verbose.</para>
4125 </glossdef>
4126 </glossentry>
4127 </glosslist></para>
4128 </listitem>
4129
4130 <listitem>
4131 <para><emphasis role="bold"><computeroutput>stat</computeroutput></emphasis>,
4132 which displays file
4133 or file system status on the guest.</para>
4134
4135 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; stat
4136 &lt;file&gt;... --username &lt;name&gt;
4137 [--passwordfile &lt;file&gt; | --password &lt;password&gt;]
4138 [--verbose]</screen>
4139
4140 <para>where the parameters mean: <glosslist>
4141 <glossentry>
4142 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
4143
4144 <glossdef>
4145 <para>The VM UUID or VM name. Mandatory.</para>
4146 </glossdef>
4147 </glossentry>
4148
4149 <glossentry>
4150 <glossterm><computeroutput>file element(s) to check on guest</computeroutput></glossterm>
4151
4152 <glossdef>
4153 <para>Absolute path of directory/directories to check on
4154 guest, e.g. <computeroutput>/home/foo/a.out</computeroutput>.
4155 The specified user must have appropriate rights to access
4156 the given file element(s).</para>
4157 </glossdef>
4158 </glossentry>
4159
4160 <glossentry>
4161 <glossterm><computeroutput>--username &lt;name&gt;</computeroutput></glossterm>
4162
4163 <glossdef>
4164 <para>Name of the user the copy process should run under.
4165 This user must exist on the guest OS.</para>
4166 </glossdef>
4167 </glossentry>
4168
4169 <glossentry>
4170 <glossterm><computeroutput>--passwordfile &lt;file&gt;</computeroutput></glossterm>
4171
4172 <glossdef>
4173 <para>Password of the user account specified to be read from
4174 the given file. If not given, an empty password is
4175 assumed.</para>
4176 </glossdef>
4177 </glossentry>
4178
4179 <glossentry>
4180 <glossterm><computeroutput>--password &lt;password&gt;</computeroutput></glossterm>
4181
4182 <glossdef>
4183 <para>Password of the user account specified with
4184 <computeroutput>--username</computeroutput>. If not given,
4185 an empty password is assumed.</para>
4186 </glossdef>
4187 </glossentry>
4188
4189 <glossentry>
4190 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
4191
4192 <glossdef>
4193 <para>Tells VBoxManage to be more verbose.</para>
4194 </glossdef>
4195 </glossentry>
4196 </glosslist></para>
4197 </listitem>
4198
4199 <listitem>
4200 <para><emphasis role="bold"><computeroutput>updateadditions</computeroutput></emphasis>,
4201 which allows
4202 for updating an already installed Guest Additions version on the
4203 guest (only already installed Guest Additions 4.0 and later).</para>
4204
4205 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; updateadditions
4206 [--source "&lt;guest additions .ISO file to use&gt;"] [--verbose]
4207 [--wait-start] [-- [&lt;argument1&gt;] ... [&lt;argumentN&gt;]]</screen>
4208
4209 <para>where the parameters mean: <glosslist>
4210 <glossentry>
4211 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
4212
4213 <glossdef>
4214 <para>The VM UUID or VM name. Mandatory.</para>
4215 </glossdef>
4216 </glossentry>
4217
4218 <glossentry>
4219 <glossterm><computeroutput>--source</computeroutput> "&lt;guest additions .ISO file to
4220 use&gt;"</glossterm>
4221
4222 <glossdef>
4223 <para>Full path to an alternative VirtualBox Guest Additions
4224 .ISO file to use for the Guest Additions update.</para>
4225 </glossdef>
4226 </glossentry>
4227
4228 <glossentry>
4229 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
4230
4231 <glossdef>
4232 <para>Tells VBoxManage to be more verbose.</para>
4233 </glossdef>
4234 </glossentry>
4235
4236 <glossentry>
4237 <glossterm><computeroutput>--wait-start</computeroutput></glossterm>
4238 <glossdef>
4239 <para>Starts the regular updating process and waits until the
4240 actual Guest Additions update inside the guest was started.
4241 This can be necessary due to needed interaction with the
4242 guest OS during the installation phase.</para>
4243 <para>When omitting this flag VBoxManage will wait for the
4244 whole Guest Additions update to complete.</para>
4245 </glossdef>
4246 </glossentry>
4247
4248 <glossentry>
4249 <glossterm><computeroutput>[-- [&lt;argument1s&gt;] ... [&lt;argumentNs&gt;]]</computeroutput></glossterm>
4250
4251 <glossdef>
4252 <para>Optional command line arguments to use for the Guest Additions
4253 installer. Useful for retrofitting features which weren't installed
4254 before on the guest.</para>
4255 <para>Arguments containing spaces must be enclosed in
4256 quotation marks.</para>
4257 </glossdef>
4258 </glossentry>
4259 </glosslist></para>
4260 </listitem>
4261 <listitem>
4262 <para><emphasis role="bold"><computeroutput>watch</computeroutput></emphasis>,
4263 which prints current guest control activity.</para>
4264
4265 <screen>VBoxManage guestcontrol &lt;uuid|vmname&gt; watch
4266 [--verbose]</screen>
4267
4268 <para>where the parameters mean: <glosslist>
4269 <glossentry>
4270 <glossterm><computeroutput>uuid|vmname</computeroutput></glossterm>
4271
4272 <glossdef>
4273 <para>The VM UUID or VM name. Mandatory.</para>
4274 </glossdef>
4275 </glossentry>
4276
4277 <glossentry>
4278 <glossterm><computeroutput>--verbose</computeroutput></glossterm>
4279
4280 <glossdef>
4281 <para>Tells VBoxManage to be more verbose.</para>
4282 </glossdef>
4283 </glossentry>
4284 </glosslist></para>
4285 </listitem>
4286 </itemizedlist></para>
4287 </sect1>
4288
4289 <sect1 id="metrics">
4290 <title>VBoxManage metrics</title>
4291
4292 <para>This command supports monitoring the usage of system resources.
4293 Resources are represented by various metrics associated with the host
4294 system or a particular VM. For example, the host system has a
4295 <computeroutput>CPU/Load/User</computeroutput> metric that shows the
4296 percentage of time CPUs spend executing in user mode over a specific
4297 sampling period.</para>
4298
4299 <para>Metric data is collected and retained internally; it may be
4300 retrieved at any time with the <computeroutput>VBoxManage metrics
4301 query</computeroutput> subcommand. The data is available as long as the
4302 background <computeroutput>VBoxSVC</computeroutput> process is alive. That
4303 process terminates shortly after all VMs and frontends have been
4304 closed.</para>
4305
4306 <para>By default no metrics are collected at all. Metrics collection does
4307 not start until <computeroutput>VBoxManage metrics setup</computeroutput>
4308 is invoked with a proper sampling interval and the number of metrics to be
4309 retained. The interval is measured in seconds. For example, to enable
4310 collecting the host processor and memory usage metrics every second and
4311 keeping the 5 most current samples, the following command can be
4312 used:</para>
4313
4314 <screen>VBoxManage metrics setup --period 1 --samples 5 host CPU/Load,RAM/Usage</screen>
4315
4316 <para>Metric collection can only be enabled for started VMs. Collected
4317 data and collection settings for a particular VM will disappear as soon as
4318 it shuts down. Use <computeroutput>VBoxManage metrics list
4319 </computeroutput> subcommand to see which metrics are currently available.
4320 You can also use <computeroutput>--list</computeroutput> option with any
4321 subcommand that modifies metric settings to find out which metrics were
4322 affected.</para>
4323
4324 <para>Note that the <computeroutput>VBoxManage metrics
4325 setup</computeroutput> subcommand discards all samples that may have been
4326 previously collected for the specified set of objects and metrics.</para>
4327
4328 <para>To enable or disable metrics collection without discarding the data
4329 <computeroutput>VBoxManage metrics enable</computeroutput> and
4330 <computeroutput>VBoxManage metrics disable</computeroutput> subcommands
4331 can be used. Note that these subcommands expect metrics, not submetrics,
4332 like <code>CPU/Load</code> or <code>RAM/Usage</code> as parameters. In
4333 other words enabling <code>CPU/Load/User</code> while disabling
4334 <code>CPU/Load/Kernel</code> is not supported.</para>
4335
4336 <para>The host and VMs have different sets of associated metrics.
4337 Available metrics can be listed with <computeroutput>VBoxManage metrics
4338 list</computeroutput> subcommand.</para>
4339
4340 <para>A complete metric name may include an aggregate function. The name
4341 has the following form:
4342 <computeroutput>Category/Metric[/SubMetric][:aggregate]</computeroutput>.
4343 For example, <computeroutput>RAM/Usage/Free:min</computeroutput> stands
4344 for the minimum amount of available memory over all retained data if
4345 applied to the host object.</para>
4346
4347 <para>Subcommands may apply to all objects and metrics or can be limited
4348 to one object or/and a list of metrics. If no objects or metrics are given
4349 in the parameters, the subcommands will apply to all available metrics of
4350 all objects. You may use an asterisk
4351 ("<computeroutput>*</computeroutput>") to explicitly specify that the
4352 command should be applied to all objects or metrics. Use "host" as the
4353 object name to limit the scope of the command to host-related metrics. To
4354 limit the scope to a subset of metrics, use a metric list with names
4355 separated by commas.</para>
4356
4357 <para>For example, to query metric data on the CPU time spent in user and
4358 kernel modes by the virtual machine named "test", you can use the
4359 following command:</para>
4360
4361 <screen>VBoxManage metrics query test CPU/Load/User,CPU/Load/Kernel</screen>
4362
4363 <para>The following list summarizes the available subcommands:</para>
4364
4365 <glosslist>
4366 <glossentry>
4367 <glossterm><computeroutput>list</computeroutput></glossterm>
4368
4369 <glossdef>
4370 <para>This subcommand shows the parameters of the currently existing
4371 metrics. Note that VM-specific metrics are only available when a
4372 particular VM is running.</para>
4373 </glossdef>
4374 </glossentry>
4375
4376 <glossentry>
4377 <glossterm><computeroutput>setup</computeroutput></glossterm>
4378
4379 <glossdef>
4380 <para>This subcommand sets the interval between taking two samples
4381 of metric data and the number of samples retained internally. The
4382 retained data is available for displaying with the
4383 <code>query</code> subcommand. The <computeroutput>--list
4384 </computeroutput> option shows which metrics have been modified as
4385 the result of the command execution.</para>
4386 </glossdef>
4387 </glossentry>
4388
4389 <glossentry>
4390 <glossterm><computeroutput>enable</computeroutput></glossterm>
4391
4392 <glossdef>
4393 <para>This subcommand "resumes" data collection after it has been
4394 stopped with <code>disable</code> subcommand. Note that specifying
4395 submetrics as parameters will not enable underlying metrics. Use
4396 <computeroutput>--list</computeroutput> to find out if the command
4397 did what was expected.</para>
4398 </glossdef>
4399 </glossentry>
4400
4401 <glossentry>
4402 <glossterm><computeroutput>disable</computeroutput></glossterm>
4403
4404 <glossdef>
4405 <para>This subcommand "suspends" data collection without affecting
4406 collection parameters or collected data. Note that specifying
4407 submetrics as parameters will not disable underlying metrics. Use
4408 <computeroutput>--list</computeroutput> to find out if the command
4409 did what was expected.</para>
4410 </glossdef>
4411 </glossentry>
4412
4413 <glossentry>
4414 <glossterm><computeroutput>query</computeroutput></glossterm>
4415
4416 <glossdef>
4417 <para>This subcommand retrieves and displays the currently retained
4418 metric data.<note>
4419 <para>The <code>query</code> subcommand does not remove or
4420 "flush" retained data. If you query often enough you will see
4421 how old samples are gradually being "phased out" by new
4422 samples.</para>
4423 </note></para>
4424 </glossdef>
4425 </glossentry>
4426
4427 <glossentry>
4428 <glossterm><computeroutput>collect</computeroutput></glossterm>
4429
4430 <glossdef>
4431 <para>This subcommand sets the interval between taking two samples
4432 of metric data and the number of samples retained internally. The
4433 collected data is displayed periodically until Ctrl-C is pressed
4434 unless the <computeroutput>--detach</computeroutput> option is
4435 specified. With the <computeroutput>--detach</computeroutput>
4436 option, this subcommand operates the same way as <code>setup</code>
4437 does. The <computeroutput>--list</computeroutput> option shows which
4438 metrics match the specified filter.</para>
4439 </glossdef>
4440 </glossentry>
4441 </glosslist>
4442 </sect1>
4443
4444 <sect1 id="vboxmanage-hostonlyif">
4445 <title>VBoxManage hostonlyif</title>
4446
4447 <para>With "hostonlyif" you can change the IP configuration of a host-only
4448 network interface. For a description of host-only networking, please
4449 refer to <xref linkend="network_hostonly" />. Each host-only interface is
4450 identified by a name and can either use the internal DHCP server or a
4451 manual IP configuration (both IP4 and IP6).</para>
4452
4453 <para>The following list summarizes the available subcommands:</para>
4454
4455 <glosslist>
4456 <glossentry>
4457 <glossterm><computeroutput>ipconfig "&lt;name&gt;"</computeroutput></glossterm>
4458 <glossdef>
4459 <para>Configure a hostonly interface</para>
4460 </glossdef>
4461 </glossentry>
4462 <glossentry>
4463 <glossterm><computeroutput>create</computeroutput></glossterm>
4464 <glossdef>
4465 <para>Ceates a new vboxnet&lt;N&gt; interface on the host OS.
4466 This command is essential before you can attach VMs to host-only network.</para>
4467 </glossdef>
4468 </glossentry>
4469 <glossentry>
4470 <glossterm><computeroutput>remove vboxnet&lt;N&gt;</computeroutput></glossterm>
4471 <glossdef>
4472 <para>Removes a vboxnet&lt;N&gt; interface from the host OS.</para>
4473 </glossdef>
4474 </glossentry>
4475 </glosslist>
4476
4477 </sect1>
4478
4479 <sect1 id="vboxmanage-dhcpserver">
4480 <title>VBoxManage dhcpserver</title>
4481
4482 <para>The "dhcpserver" commands allow you to control the DHCP server that
4483 is built into VirtualBox. You may find this useful when using internal or
4484 host-only networking. (Theoretically, you can enable it for a bridged
4485 network as well, but that will likely cause conflicts with other DHCP
4486 servers in your physical network.)</para>
4487
4488 <para>Use the following command line options:<itemizedlist>
4489 <listitem>
4490 <para>If you use internal networking for a virtual network adapter
4491 of a virtual machine, use <computeroutput>VBoxManage dhcpserver add
4492 --netname &lt;network_name&gt;</computeroutput>, where
4493 <computeroutput>&lt;network_name&gt;</computeroutput> is the same
4494 network name you used with <computeroutput>VBoxManage modifyvm
4495 &lt;vmname&gt; --intnet&lt;X&gt;
4496 &lt;network_name&gt;</computeroutput>.</para>
4497 </listitem>
4498
4499 <listitem>
4500 <para>If you use host-only networking for a virtual network adapter
4501 of a virtual machine, use <computeroutput>VBoxManage dhcpserver add
4502 --ifname &lt;hostonly_if_name&gt;</computeroutput> instead, where
4503 <computeroutput>&lt;hostonly_if_name&gt;</computeroutput> is the
4504 same host-only interface name you used with
4505 <computeroutput>VBoxManage modifyvm &lt;vmname&gt;
4506 --hostonlyadapter&lt;X&gt;
4507 &lt;hostonly_if_name&gt;</computeroutput>.</para>
4508
4509 <para>Alternatively, you can also use the --netname option as with
4510 internal networks if you know the host-only network's name; you can
4511 see the names with <computeroutput>VBoxManage list
4512 hostonlyifs</computeroutput> (see <xref linkend="vboxmanage-list" />
4513 above).</para>
4514 </listitem>
4515 </itemizedlist></para>
4516
4517 <para>The following additional parameters are required when first adding a
4518 DHCP server:<itemizedlist>
4519 <listitem>
4520 <para>With <computeroutput>--ip</computeroutput>, specify the IP
4521 address of the DHCP server itself.</para>
4522 </listitem>
4523
4524 <listitem>
4525 <para>With <computeroutput>--netmask</computeroutput>, specify the
4526 netmask of the network.</para>
4527 </listitem>
4528
4529 <listitem>
4530 <para>With <computeroutput>--lowerip</computeroutput> and
4531 <computeroutput>--upperip</computeroutput>, you can specify the
4532 lowest and highest IP address, respectively, that the DHCP server
4533 will hand out to clients.</para>
4534 </listitem>
4535 </itemizedlist></para>
4536
4537 <para>Finally, you must specify <computeroutput>--enable</computeroutput>
4538 or the DHCP server will be created in the disabled state, doing
4539 nothing.</para>
4540
4541 <para>After this, VirtualBox will automatically start the DHCP server for
4542 given internal or host-only network as soon as the first virtual machine
4543 which uses that network is started.</para>
4544
4545 <para>Reversely, use <computeroutput>VBoxManage dhcpserver
4546 remove</computeroutput> with the given <computeroutput>--netname
4547 &lt;network_name&gt;</computeroutput> or <computeroutput>--ifname
4548 &lt;hostonly_if_name&gt;</computeroutput> to remove the DHCP server again
4549 for the given internal or host-only network.</para>
4550
4551 <para>To modify the settings of a DHCP server created earlier with
4552 <computeroutput>VBoxManage dhcpserver add</computeroutput>, you can use
4553 <computeroutput>VBoxManage dhcpserver modify</computeroutput> for a given
4554 network or host-only interface name.</para>
4555 </sect1>
4556
4557 <xi:include href="user_man_VBoxManage-debugvm.xml" xpointer="element(/1)"
4558 xmlns:xi="http://www.w3.org/2001/XInclude" />
4559
4560 <xi:include href="user_man_VBoxManage-extpack.xml" xpointer="element(/1)"
4561 xmlns:xi="http://www.w3.org/2001/XInclude" />
4562</chapter>
Note: See TracBrowser for help on using the repository browser.

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