VirtualBox

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

最後變更 在這個檔案從55639是 55558,由 vboxsync 提交於 10 年 前

doc/manual: document more 'VBoxManage modifyvm' options

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

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