VirtualBox

source: vbox/trunk/doc/manual/en_US/user_BasicConcepts.xml@ 56557

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

Manual: Improved wording.

File size: 67.8 KB
Line 
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="BasicConcepts">
5 <title>Configuring virtual machines</title>
6
7 <para>Whereas <xref linkend="Introduction" /> gave you a quick introduction
8 to VirtualBox and how to get your first virtual machine running, the
9 following chapter describes in detail how to configure virtual
10 machines.</para>
11
12 <para>You have considerable latitude in deciding what virtual hardware will
13 be provided to the guest. The virtual hardware can be used for communicating
14 with the host system or with other guests. For instance, if you provide
15 VirtualBox with the image of a CD-ROM in an ISO file, VirtualBox can present
16 this image to a guest system as if it were a physical CD-ROM. Similarly, you
17 can give a guest system access to the real network via its virtual network
18 card, and, if you so choose, give the host system, other guests, or
19 computers on the Internet access to the guest system.</para>
20
21 <sect1 id="guestossupport">
22 <title>Supported guest operating systems</title>
23
24 <para>Since VirtualBox is designed to provide a generic virtualization
25 environment for x86 systems, it may run operating systems of any kind,
26 even those not listed here. However, the focus is to optimize VirtualBox
27 for the following guest systems:</para>
28
29 <para><glosslist>
30 <glossentry>
31 <glossterm>Windows NT 4.0</glossterm>
32
33 <glossdef>
34 <para>All versions, editions and service packs are fully
35 supported; however, there are some issues with older service
36 packs. We recommend to install service pack 6a. Guest Additions
37 are available with a limited feature set.</para>
38 </glossdef>
39 </glossentry>
40
41 <glossentry>
42 <glossterm>Windows 2000 / XP / Server 2003 / Vista / Server 2008 /
43 Windows 7 / Windows 8 / Server 2012</glossterm>
44
45 <glossdef>
46 <para>All versions, editions and service packs are fully supported
47 (including 64-bit versions, under the preconditions listed below).
48 Guest Additions are available.</para>
49 </glossdef>
50 </glossentry>
51
52 <glossentry>
53 <glossterm>DOS / Windows 3.x / 95 / 98 / ME</glossterm>
54
55 <glossdef>
56 <para>Limited testing has been performed. Use beyond legacy
57 installation mechanisms not recommended. No Guest Additions
58 available.</para>
59 </glossdef>
60 </glossentry>
61
62 <glossentry>
63 <glossterm>Linux 2.4</glossterm>
64
65 <glossdef>
66 <para>Limited support.</para>
67 </glossdef>
68 </glossentry>
69
70 <glossentry>
71 <glossterm>Linux 2.6</glossterm>
72
73 <glossdef>
74 <para>All versions/editions are fully supported (32 bits and 64
75 bits). Guest Additions are available.</para>
76
77 <para>We strongly recommend using a Linux kernel version 2.6.13 or
78 higher for better performance.<note>
79 <para>Certain Linux kernel releases have bugs that prevent
80 them from executing in a virtual environment; please see <xref
81 linkend="ts_linux-buggy" /> for details.</para>
82 </note></para>
83 </glossdef>
84 </glossentry>
85
86 <glossentry>
87 <glossterm>Linux 3.x</glossterm>
88
89 <glossdef>
90 <para>All versions/editions are fully supported (32 bits and 64
91 bits). Guest Additions are available.</para>
92 </glossdef>
93 </glossentry>
94
95 <glossentry>
96 <glossterm>Solaris 10 (u6 and higher), Solaris 11 (including Solaris
97 11 Express)</glossterm>
98
99 <glossdef>
100 <para>Fully supported (64 bits, prior to Solaris 11 11/11 also 32 bits).
101 Guest Additions are available.</para>
102 </glossdef>
103 </glossentry>
104
105 <glossentry>
106 <glossterm>FreeBSD</glossterm>
107
108 <glossdef>
109 <para>Requires hardware virtualization to be enabled. Limited
110 support. Guest Additions are not available yet.</para>
111 </glossdef>
112 </glossentry>
113
114 <glossentry>
115 <glossterm>OpenBSD</glossterm>
116
117 <glossdef>
118 <para>Requires hardware virtualization to be enabled. Versions 3.7
119 and later are supported. Guest Additions are not available
120 yet.</para>
121 </glossdef>
122 </glossentry>
123
124 <glossentry>
125 <glossterm>OS/2 Warp 4.5</glossterm>
126
127 <glossdef>
128 <para>Requires hardware virtualization to be enabled. We
129 officially support MCP2 only; other OS/2 versions may or may not
130 work. Guest Additions are available with a limited feature
131 set.<footnote>
132 <para>See <xref linkend="KnownIssues" />.</para>
133 </footnote></para>
134 </glossdef>
135 </glossentry>
136
137 <glossentry>
138 <glossterm>Mac OS X</glossterm>
139
140 <glossdef>
141 <para>VirtualBox 3.2 added experimental support for Mac OS X
142 guests, but this comes with restrictions. Please see the following
143 section as well as <xref linkend="KnownIssues" />.</para>
144 </glossdef>
145 </glossentry>
146 </glosslist></para>
147
148 <sect2 id="intro-macosxguests">
149 <title>Mac OS X guests</title>
150
151 <para>Starting with version 3.2, VirtualBox has experimental support for
152 Mac OS X guests. This allows you to install and execute unmodified
153 versions of Mac OS X on supported host hardware.</para>
154
155 <para>Whereas competing solutions perform modifications to the Mac OS X
156 install DVDs (e.g. different boot loader and replaced files), VirtualBox
157 is the first product to provide the modern PC architecture expected by
158 OS X without requiring any "hacks".</para>
159
160 <para>You should be aware of a number of <emphasis role="bold">important
161 issues</emphasis> before attempting to install a Mac OS X guest:<orderedlist>
162 <listitem>
163 <para>Mac OS X is commercial, licensed software and contains
164 <emphasis role="bold">both license and technical restrictions</emphasis>
165 that limit its use to certain hardware and usage scenarios. It is
166 important that you understand and obey these restrictions.</para>
167
168 <para>In particular, for most versions of Mac OS X, Apple prohibits
169 installing them on non-Apple hardware.</para>
170
171 <para>These license restrictions are also enforced on a technical
172 level. Mac OS X verifies whether it is running on Apple hardware,
173 and most DVDs that that come with Apple hardware even check for an
174 exact model. These restrictions are <emphasis>not</emphasis>
175 circumvented by VirtualBox and continue to apply.</para>
176 </listitem>
177
178 <listitem>
179 <para>Only <emphasis role="bold">CPUs</emphasis> known and tested
180 by Apple are supported. As a result, if your Intel CPU is newer
181 than the build of Mac OS X, or if you have a non-Intel CPU, it will
182 most likely panic during bootup with an "Unsupported CPU"
183 exception. It is generally best to use the Mac OS X DVD that came
184 with your Apple hardware.</para>
185 </listitem>
186
187 <listitem>
188 <para>The Mac OS X installer expects the harddisk to be
189 <emphasis role="bold">partitioned</emphasis> so when it does not
190 offer a selection, you have to launch the Disk Utility from the
191 "Tools" menu and partition the hard disk. Then close the Disk
192 Utility and proceed with the installation.</para>
193 </listitem>
194
195 <listitem>
196 <para>In addition, as Mac OS X support in VirtualBox is currently
197 still experimental, please refer also to <xref linkend="KnownIssues" />.</para>
198 </listitem>
199 </orderedlist></para>
200 </sect2>
201
202 <sect2 id="intro-64bitguests">
203 <title>64-bit guests</title>
204
205 <para>VirtualBox supports 64-bit guest operating systems, even on 32-bit
206 host operating systems,<footnote>
207 <para>64-bit guest support was added with VirtualBox 2.0; support
208 for 64-bit guests on 32-bit hosts was added with VirtualBox
209 2.1.</para>
210 </footnote> provided that the following conditions are
211 met:<orderedlist>
212 <listitem>
213 <para>You need a 64-bit processor with hardware virtualization
214 support (see <xref linkend="hwvirt" />).</para>
215 </listitem>
216
217 <listitem>
218 <para>You must enable hardware virtualization for the particular
219 VM for which you want 64-bit support; software virtualization is
220 not supported for 64-bit VMs.</para>
221 </listitem>
222
223 <listitem>
224 <para>If you want to use 64-bit guest support on a 32-bit host
225 operating system, you must also select a 64-bit operating system
226 for the particular VM. Since supporting 64 bits on 32-bit hosts
227 incurs additional overhead, VirtualBox only enables this support
228 upon explicit request.</para>
229
230 <para>On 64-bit hosts (which typically come with hardware
231 virtualization support), 64-bit guest operating systems are always
232 supported regardless of settings, so you can simply install a
233 64-bit operating system in the guest.</para>
234 </listitem>
235 </orderedlist></para>
236
237 <para><warning>
238 <para>On any host, you should enable the <emphasis role="bold">I/O
239 APIC</emphasis> for virtual machines that you intend to use in
240 64-bit mode. This is especially true for 64-bit Windows VMs. See
241 <xref linkend="settings-general-advanced" />. In addition, for
242 64-bit Windows guests, you should make sure that the VM uses the
243 <emphasis role="bold">Intel networking device</emphasis>, since
244 there is no 64-bit driver support for the AMD PCNet card; see <xref
245 linkend="nichardware" />.</para>
246 </warning></para>
247
248 <para>If you use the "Create VM" wizard of the VirtualBox graphical user
249 interface (see <xref linkend="gui-createvm" />), VirtualBox will
250 automatically use the correct settings for each selected 64-bit
251 operating system type.</para>
252 </sect2>
253 </sect1>
254
255 <sect1>
256 <title>Emulated hardware</title>
257
258 <para>VirtualBox virtualizes nearly all hardware of the host. Depending on
259 a VM's configuration, the guest will see the following virtual
260 hardware:<itemizedlist>
261 <listitem>
262 <para><emphasis role="bold">Input devices.</emphasis> By default,
263 VirtualBox emulates a standard PS/2 keyboard and mouse. These
264 devices are supported by almost all past and present operating
265 systems.</para>
266
267 <para>In addition, VirtualBox can provide virtual USB input devices
268 to avoid having to capture mouse and keyboard, as described in <xref
269 linkend="keyb_mouse_normal" />.</para>
270 </listitem>
271
272 <listitem>
273 <para><emphasis role="bold">Graphics.</emphasis> The VirtualBox
274 graphics device (sometimes referred to as VGA device) is, unlike
275 nearly all other emulated devices, not based on any physical
276 counterpart. It is a simple, synthetic device which provides
277 compatibility with standard VGA and several extended registers used
278 by the VESA BIOS Extensions (VBE).</para>
279 </listitem>
280
281 <listitem>
282 <para><emphasis role="bold">Storage.</emphasis> VirtualBox currently
283 emulates the standard ATA interface found on Intel PIIX3/PIIX4
284 chips, the SATA (AHCI) interface, and two SCSI adapters (LSI Logic
285 and BusLogic); see <xref linkend="harddiskcontrollers" /> for
286 details. Whereas providing one of these would be enough for
287 VirtualBox by itself, this multitude of storage adapters is required
288 for compatibility with other hypervisors. Windows is particularly
289 picky about its boot devices, and migrating VMs between hypervisors
290 is very difficult or impossible if the storage controllers are
291 different.</para>
292 </listitem>
293
294 <listitem>
295 <para><emphasis role="bold">Networking.</emphasis> See <xref
296 linkend="nichardware" />.</para>
297 </listitem>
298
299 <listitem>
300 <para><emphasis role="bold">USB.</emphasis> VirtualBox emulates three
301 USB host controllers: xHCI, EHCI, and OHCI. While xHCI handles all USB
302 transfer speeds, only guest operating systems released approximately
303 after 2011 support xHCI. Note that for Windows 7 guests, 3rd party
304 drivers must be installed for xHCI support.</para>
305 <para>
306 Older operating systems typically support OHCI and EHCI. The two
307 controllers are needed because OHCI only handles USB low- and full-speed
308 devices (both USB 1.x and 2.0), while EHCI only handles high-speed
309 devices (USB 2.0 only).</para>
310 <para>
311 The emulated USB controllers do not
312 communicate directly with devices on the host but rather with a
313 virtual USB layer which abstracts the USB protocol and allows the
314 use of remote USB devices.</para>
315 </listitem>
316
317 <listitem>
318 <para><emphasis role="bold">Audio.</emphasis> See <xref
319 linkend="settings-audio" />.</para>
320 </listitem>
321 </itemizedlist></para>
322 </sect1>
323
324 <sect1 id="generalsettings">
325 <title>General settings</title>
326
327 <para>In the Settings window, under "General", you can configure the most
328 fundamental aspects of the virtual machine such as memory and essential
329 hardware. There are three tabs, "Basic", "Advanced" and
330 "Description".</para>
331
332 <sect2>
333 <title>"Basic" tab</title>
334
335 <para>Under the "Basic" tab of the "General" settings category, you can
336 find these settings:</para>
337
338 <glosslist>
339 <glossentry>
340 <glossterm>Name</glossterm>
341
342 <glossdef>
343 <para>The name under which the VM is shown in the list of VMs in
344 the main window. Under this name, VirtualBox also saves the VM's
345 configuration files. By changing the name, VirtualBox renames
346 these files as well. As a result, you can only use characters
347 which are allowed in your host operating system's file
348 names.</para>
349
350 <para>Note that internally, VirtualBox uses unique identifiers
351 (UUIDs) to identify virtual machines. You can display these with
352 <computeroutput>VBoxManage</computeroutput>.</para>
353 </glossdef>
354 </glossentry>
355
356 <glossentry>
357 <glossterm>Operating system / version</glossterm>
358
359 <glossdef>
360 <para>The type of the guest operating system that is (or will be)
361 installed in the VM. This is the same setting that was specified
362 in the "New Virtual Machine" wizard, as described in <xref
363 linkend="gui-createvm" />.</para>
364
365 <para>Whereas the default settings of a newly created VM depend on
366 the selected operating system type, changing the type later has no
367 effect on VM settings; this value is then purely informational and
368 decorative.</para>
369 </glossdef>
370 </glossentry>
371 </glosslist>
372 </sect2>
373
374 <sect2 id="settings-general-advanced">
375 <title>"Advanced" tab</title>
376
377 <para><glosslist>
378 <glossentry>
379 <glossterm>Snapshot Folder</glossterm>
380
381 <glossdef>
382 <para>By default, VirtualBox saves snapshot data together with
383 your other VirtualBox configuration data; see <xref
384 linkend="vboxconfigdata" />. With this setting, you can specify
385 any other folder for each VM.</para>
386 </glossdef>
387 </glossentry>
388
389 <glossentry>
390 <glossterm>Shared Clipboard</glossterm>
391
392 <glossdef>
393 <para>You can select here whether the clipboard of the guest
394 operating system should be shared with that of your host. If you
395 select "Bidirectional", then VirtualBox will always make sure
396 that both clipboards contain the same data. If you select "Host
397 to guest" or "Guest to host", then VirtualBox will only ever
398 copy clipboard data in one direction.</para>
399
400 <para>Clipboard sharing requires that the VirtualBox Guest
401 Additions be installed. As a result, this setting has no effect
402 otherwise; see <xref linkend="guestadditions" /> for
403 details.</para>
404
405 <para>The shared clipboard is disabled by default. See
406 <xref linkend="security_clipboard"/> for an explanation. This
407 setting can be changed at any time using the "Shared Clipboard"
408 menu item in the "Devices" menu of the virtual machine.</para>
409 </glossdef>
410 </glossentry>
411
412 <glossentry>
413 <glossterm>Drag'n'Drop</glossterm>
414 <glossdef>
415 <para>This setting allows to enable support for drag'n drop: Select
416 an object (e.g. a file) from the host or guest and directly copy
417 or open it on the guest or host. Multiple per-VM drag'n drop modes
418 allow restricting access in either direction.</para>
419
420 <para>For drag'n drop to work the Guest Additions need to be
421 installed on the guest.</para>
422
423 <para><note><para>Drag'n drop is disabled by default. This setting can be
424 changed at any time using the "Drag'n'Drop" menu item in the
425 "Devices" menu of the virtual machine.</para></note></para>
426
427 <para>See <xref linkend="guestadd-dnd"/> for more information.
428 <footnote><para>Experimental support for drag and drop was added
429 with VirtualBox 4.2.</para></footnote></para>
430 </glossdef>
431 </glossentry>
432
433 <glossentry>
434 <glossterm>Removable Media</glossterm>
435 <glossdef>
436 <para>If this is checked, VirtualBox will save the state of what
437 media has been mounted between several runs of a virtual machine.</para>
438 </glossdef>
439 </glossentry>
440
441 <glossentry>
442 <glossterm>Mini ToolBar</glossterm>
443 <glossdef>
444 <para>In full screen or seamless mode, VirtualBox can display a
445 small toolbar that contains some of the items that are normally
446 available from the virtual machine's menu bar. This toolbar
447 reduces itself to a small gray line unless you move the mouse
448 over it. With the toolbar, you can return from full screen or
449 seamless mode, control machine execution or enable certain
450 devices. If you don't want to see the toolbar, disable this
451 setting.</para>
452 <para>The second setting allows to show the toolbar at the top
453 of the screen instead of showing it at the bottom.</para>
454 </glossdef>
455 </glossentry>
456 </glosslist></para>
457 </sect2>
458
459 <sect2>
460 <title>"Description" tab</title>
461
462 <para>Here you can enter any description for your virtual machine, if
463 you want. This has no effect on the functionality of the machine, but
464 you may find this space useful to note down things like the
465 configuration of a virtual machine and the software that has been
466 installed into it.</para>
467 <para>To insert a line break into the description text field, press
468 <emphasis>Shift+Enter</emphasis>.</para>
469 </sect2>
470 </sect1>
471
472 <sect1 id="settings-system">
473 <title>System settings</title>
474
475 <para>The "System" category groups various settings that are related to
476 the basic hardware that is presented to the virtual machine.<note>
477 <para>As the activation mechanism of Microsoft Windows is sensitive to
478 hardware changes, if you are changing hardware settings for a Windows
479 guest, some of these changes may trigger a request for another
480 activation with Microsoft.</para>
481 </note></para>
482
483 <sect2 id="settings-motherboard">
484 <title>"Motherboard" tab</title>
485
486 <para>On the "Motherboard" tab, you can influence virtual hardware that
487 would normally be on the motherboard of a real computer.<glosslist>
488 <glossentry>
489 <glossterm>Base memory</glossterm>
490
491 <glossdef>
492 <para>This sets the amount of RAM that is allocated and given to
493 the VM when it is running. The specified amount of memory will
494 be requested from the host operating system, so it must be
495 available or made available as free memory on the host when
496 attempting to start the VM and will not be available to the host
497 while the VM is running. This is the same setting that was
498 specified in the "New Virtual Machine" wizard, as described with
499 guidelines under <xref linkend="gui-createvm" /> above.</para>
500
501 <para>Generally, it is possible to change the memory size after
502 installing the guest operating system (provided you do not
503 reduce the memory to an amount where the operating system would
504 no longer boot).</para>
505 </glossdef>
506 </glossentry>
507
508 <glossentry>
509 <glossterm>Boot order</glossterm>
510
511 <glossdef>
512 <para>This setting determines the order in which the guest
513 operating system will attempt to boot from the various virtual
514 boot devices. Analogous to a real PC's BIOS setting, VirtualBox
515 can tell a guest OS to start from the virtual floppy, the
516 virtual CD/DVD drive, the virtual hard drive (each of these as
517 defined by the other VM settings), the network, or none of
518 these.</para>
519
520 <para>If you select "Network", the VM will attempt to boot from
521 a network via the PXE mechanism. This needs to be configured in
522 detail on the command line; please see <xref
523 linkend="vboxmanage-modifyvm" />.</para>
524 </glossdef>
525 </glossentry>
526
527 <glossentry>
528 <glossterm>Chipset</glossterm>
529
530 <glossdef>
531 <para>Here you can select which chipset will be presented to the
532 virtual machine. Before VirtualBox 4.0, PIIX3 was the only
533 available option here. For modern guest operating systems such
534 as Mac OS X, that old chipset is no longer well supported. As a
535 result, VirtualBox 4.0 introduced an emulation of the more
536 modern ICH9 chipset, which supports PCI express, three PCI
537 buses, PCI-to-PCI bridges and Message Signaled Interrupts
538 (MSI). This allows modern operating systems to address more PCI
539 devices and no longer requires IRQ sharing. Using the ICH9 chipset
540 it is also possible to configure up to 36 network cards (up to 8
541 network adapters with PIIX3). Note that the ICH9 support is
542 experimental and not recommended for guest operating systems which
543 do not require it.</para>
544 </glossdef>
545 </glossentry>
546
547 <glossentry>
548 <glossterm>Pointing Device</glossterm>
549
550 <glossdef>
551 <para>The default virtual pointing devices for older guests is the
552 traditional PS/2 mouse. If set to <emphasis>USB tablet</emphasis>,
553 VirtualBox reports to the virtual machine that a USB tablet
554 device is present and communicates mouse events to
555 the virtual machine through this device. The third setting is
556 a <emphasis>USB Multi-Touch Tablet</emphasis> which is suited
557 for recent Windows guests.</para>
558
559 <para>Using the virtual USB tablet has the advantage that
560 movements are reported in absolute coordinates (instead of as
561 relative position changes), which allows VirtualBox to translate
562 mouse events over the VM window into tablet events without
563 having to "capture" the mouse in the guest as described in <xref
564 linkend="keyb_mouse_normal" />. This makes using the VM less
565 tedious even if Guest Additions are not installed.<footnote>
566 <para>The virtual USB tablet was added with VirtualBox 3.2.
567 Depending on the guest operating system selected, this is
568 now enabled by default for new virtual machines.</para>
569 </footnote></para>
570 </glossdef>
571 </glossentry>
572 <glossentry>
573 <glossterm>Enable I/O APIC</glossterm>
574
575 <glossdef>
576 <para>Advanced Programmable Interrupt Controllers (APICs) are a
577 newer x86 hardware feature that have replaced old-style
578 Programmable Interrupt Controllers (PICs) in recent years. With
579 an I/O APIC, operating systems can use more than 16 interrupt
580 requests (IRQs) and therefore avoid IRQ sharing for improved
581 reliability.<note>
582 <para>Enabling the I/O APIC is <emphasis>required</emphasis>
583 for 64-bit guest operating systems, especially Windows
584 Vista; it is also required if you want to use more than one
585 virtual CPU in a virtual machine.</para>
586 </note></para>
587
588 <para>However, software support for I/O APICs has been
589 unreliable with some operating systems other than Windows. Also,
590 the use of an I/O APIC slightly increases the overhead of
591 virtualization and therefore slows down the guest OS a
592 little.<warning>
593 <para>All Windows operating systems starting with Windows
594 2000 install different kernels depending on whether an I/O
595 APIC is available. As with ACPI, the I/O APIC therefore
596 <emphasis>must not be turned off after
597 installation</emphasis> of a Windows guest OS. Turning it on
598 after installation will have no effect however.</para>
599 </warning></para>
600 </glossdef>
601 </glossentry>
602
603 <glossentry>
604 <glossterm>Enable EFI</glossterm>
605
606 <glossdef>
607 <para>This enables Extensible Firmware Interface (EFI), which
608 replaces the legacy BIOS and may be useful for certain
609 advanced use cases. Please refer to <xref linkend="efi" /> for
610 details.</para>
611 </glossdef>
612 </glossentry>
613
614 <glossentry>
615 <glossterm>Hardware clock in UTC time</glossterm>
616
617 <glossdef>
618 <para>If checked, VirtualBox will report the system time in UTC
619 format to the guest instead of local (host) time. This affects
620 how the virtual real-time clock (RTC) operates and may be useful
621 for Unix-like guest operating systems, which typically expect
622 the hardware clock to be set to UTC.</para>
623 </glossdef>
624 </glossentry>
625
626 </glosslist></para>
627
628 <para>In addition, you can turn off the <emphasis role="bold">Advanced
629 Configuration and Power Interface (ACPI)</emphasis> which VirtualBox
630 presents to the guest operating system by default. ACPI is the current
631 industry standard to allow operating systems to recognize hardware,
632 configure motherboards and other devices and manage power. As all modern
633 PCs contain this feature and Windows and Linux have been supporting it
634 for years, it is also enabled by default in VirtualBox. It can only be
635 turned off on the command line; see <xref
636 linkend="vboxmanage-modifyvm" />.<warning>
637 <para>All Windows operating systems starting with Windows 2000
638 install different kernels depending on whether ACPI is available, so
639 ACPI <emphasis>must not be turned off</emphasis> after installation
640 of a Windows guest OS. Turning it on after installation will have no
641 effect however.</para>
642 </warning></para>
643 </sect2>
644
645 <sect2 id="settings-processor">
646 <title>"Processor" tab</title>
647
648 <para>On the "Processor" tab, you can set how many virtual <emphasis
649 role="bold">CPU cores</emphasis> the guest operating systems should see.
650 Starting with version 3.0, VirtualBox supports symmetrical
651 multiprocessing (SMP) and can present up to 32 virtual CPU cores to each
652 virtual machine.</para>
653
654 <para>You should not, however, configure virtual machines to use more
655 CPU cores than you have available physically (real cores, no hyperthreads).</para>
656
657 <para>On this tab you can also set the <emphasis role="bold">"CPU execution
658 cap"</emphasis>. This setting
659 limits the amount of time a host CPU spents to emulate a virtual CPU.
660 The default setting is 100% meaning that there is no limitation. A setting
661 of 50% implies a single virtual CPU can use up to 50% of a single host
662 CPU. Note that limiting the execution time of the virtual CPUs may induce
663 guest timing problems.</para>
664
665 <para>In addition, the <emphasis role="bold">"Enable PAE/NX"</emphasis>
666 setting determines whether the PAE and NX capabilities of the host CPU
667 will be exposed to the virtual machine. PAE stands for "Physical Address
668 Extension". Normally, if enabled and supported by the operating system,
669 then even a 32-bit x86 CPU can access more than 4 GB of RAM. This is
670 made possible by adding another 4 bits to memory addresses, so that with
671 36 bits, up to 64 GB can be addressed. Some operating systems (such as
672 Ubuntu Server) require PAE support from the CPU and cannot be run in a
673 virtual machine without it.</para>
674
675 <para>With virtual machines running modern server operating systems,
676 VirtualBox also supports CPU hot-plugging. For details about this,
677 please refer to <xref linkend="cpuhotplug" />.</para>
678 </sect2>
679
680 <sect2>
681 <title>"Acceleration" tab</title>
682
683 <para>On this page, you can determine whether and how VirtualBox should
684 use hardware virtualization extensions that your host CPU may support.
685 This is the case with most CPUs built after 2006.</para>
686
687 <para>You can select for each virtual machine individually whether
688 VirtualBox should use software or hardware virtualization.<footnote>
689 <para>Prior to VirtualBox version 2.2, software virtualization was
690 the default; starting with version 2.2, VirtualBox will enable
691 hardware virtualization by default for new virtual machines that you
692 create. (Existing virtual machines are not automatically changed for
693 compatibility reasons, and the default can of course be changed for
694 each virtual machine.)</para>
695 </footnote></para>
696
697 <para>In most cases, the default settings will be fine; VirtualBox will
698 have picked sensible defaults depending on the operating system that you
699 selected when you created the virtual machine. In certain situations,
700 however, you may want to change these preconfigured defaults.</para>
701
702 <para>Advanced users may be interested in technical details about
703 software vs. hardware virtualization; please see <xref
704 linkend="hwvirt" />.</para>
705
706 <para>If your host's CPU supports the <emphasis role="bold">nested
707 paging</emphasis> (AMD-V) or <emphasis role="bold">EPT</emphasis> (Intel
708 VT-x) features, then you can expect a significant performance increase
709 by enabling nested paging in addition to hardware virtualization. For
710 technical details, see <xref linkend="nestedpaging" />.</para>
711
712 <para>Starting with version 5.0, VirtualBox provides paravirtualization
713 interfaces to improve time-keeping accuracy and performance of guest
714 operating systems. The options available are documented under the
715 <computeroutput>paravirtprovider</computeroutput> option
716 in <xref linkend="vboxmanage-modifyvm" />. For futher details on
717 the paravirtualization providers, please refer to
718 <xref linkend="gimproviders" />.</para>
719 </sect2>
720 </sect1>
721
722 <sect1 id="settings-display">
723 <title>Display settings</title>
724
725 <glosslist>
726 <glossentry>
727 <glossterm>Video memory size</glossterm>
728
729 <glossdef>
730 <para>This sets the size of the memory provided by the virtual
731 graphics card available to the guest, in MB. As with the main
732 memory, the specified amount will be allocated from the host's
733 resident memory. Based on the amount of video memory, higher
734 resolutions and color depths may be available.</para>
735 <para>The GUI will show a warning if the amount of video memory
736 is too small to be able to switch the VM into full screen mode.
737 The minimum value depends on the number of virtual monitors, the
738 screen resolution and the color depth of the host display as well
739 as of the activation of <emphasis>3D acceleration</emphasis> and
740 <emphasis>2D video acceleration</emphasis>. A rough estimate
741 is (<emphasis>color depth</emphasis> / 8) x
742 <emphasis>vertical pixels</emphasis> x
743 <emphasis>horizontal pixels</emphasis> x
744 <emphasis>number of screens</emphasis> = <emphasis>number of bytes</emphasis>.
745 Like said above, there might be extra memory required for any
746 activated display acceleration setting.</para>
747 </glossdef>
748 </glossentry>
749
750 <glossentry>
751 <glossterm>Monitor count</glossterm>
752
753 <glossdef>
754 <para>With this setting VirtualBox can provide more than one virtual
755 monitor to a virtual machine. If a guest operating system (such as
756 Windows) supports multiple attached monitors, VirtualBox can pretend
757 that multiple virtual monitors are present.<footnote>
758 <para>Multiple monitor support was added with VirtualBox
759 3.2.</para>
760 </footnote> Up to 8 such virtual monitors are supported.</para>
761
762 <para>The output of the multiple monitors will be displayed on the
763 host in multiple VM windows which are running side by side.</para>
764
765 <para>However, in full screen and seamless mode, they will use the
766 available physical monitors attached to the host. As a result, for
767 full screen and seamless modes to work with multiple monitors, you
768 will need at least as many physical monitors as you have virtual
769 monitors configured, or VirtualBox will report an error. You can
770 configure the relationship between guest and host monitors using the
771 view menu by pressing Host key + Home when you are in full screen or
772 seamless mode.</para>
773
774 <para>Please see <xref linkend="KnownIssues" /> also.</para>
775 </glossdef>
776 </glossentry>
777
778 <glossentry>
779 <glossterm>Enable 3D acceleration</glossterm>
780
781 <glossdef>
782 <para>If a virtual machine has Guest Additions installed, you can
783 select here whether the guest should support accelerated 3D
784 graphics. Please refer to <xref linkend="guestadd-3d" /> for
785 details.</para>
786 </glossdef>
787 </glossentry>
788
789 <glossentry>
790 <glossterm>Enable 2D video acceleration</glossterm>
791
792 <glossdef>
793 <para>If a virtual machine with Microsoft Windows has Guest
794 Additions installed, you can select here whether the guest should
795 support accelerated 2D video graphics. Please refer to <xref
796 linkend="guestadd-2d" /> for details.</para>
797 </glossdef>
798 </glossentry>
799
800 <glossentry>
801 <glossterm>Remote display</glossterm>
802
803 <glossdef>
804 <para>Under the "Remote display" tab, if the VirtualBox Remote
805 Display Extension (VRDE) is installed, you can enable the VRDP server
806 that is built into VirtualBox. This allows you to connect to the
807 console of the virtual machine remotely with any standard RDP viewer,
808 such as <computeroutput>mstsc.exe</computeroutput> that comes with
809 Microsoft Windows. On Linux and Solaris systems you can use the
810 standard open-source <computeroutput>rdesktop</computeroutput>
811 program. These features are described in detail in
812 <xref linkend="vrde" />.</para>
813 </glossdef>
814 </glossentry>
815
816 <glossentry>
817 <glossterm>Video Capture</glossterm>
818
819 <glossdef>
820 <para>Under the "Video Capture" tab you can enable video capturing
821 for this VM. Note that this feature can also be enabled/disabled
822 while the VM is executed.</para>
823 </glossdef>
824 </glossentry>
825 </glosslist>
826 </sect1>
827
828 <sect1 id="settings-storage">
829 <title>Storage settings</title>
830
831 <para>The "Storage" category in the VM settings allows you to connect
832 virtual hard disk, CD/DVD and floppy images and drives to your virtual
833 machine.</para>
834
835 <para>In a real PC, so-called "storage controllers" connect physical disk
836 drives to the rest of the computer. Similarly, VirtualBox presents virtual
837 storage controllers to a virtual machine. Under each controller, the
838 virtual devices (hard disks, CD/DVD or floppy drives) attached to the
839 controller are shown.<note>
840 <para>This section can only give you a quick introduction to the
841 VirtualBox storage settings. Since VirtualBox gives you an enormous
842 wealth of options in this area, we have dedicated an entire chapter of
843 this User Manual to explaining all the details: please see <xref
844 linkend="storage" />.</para>
845 </note></para>
846
847 <para>If you have used the "Create VM" wizard to create a machine, you
848 will normally see something like the following:</para>
849
850 <para><mediaobject>
851 <imageobject>
852 <imagedata align="center" fileref="images/vm-settings-harddisk.png"
853 width="10cm" />
854 </imageobject>
855 </mediaobject></para>
856
857 <para>Depending on the guest operating system type that you selected when
858 you created the VM, the typical layout of storage devices in a new VM is
859 as follows:<itemizedlist>
860 <listitem>
861 <para>You will see an <emphasis role="bold">IDE
862 controller,</emphasis> to which a virtual CD/DVD drive has been
863 attached (to the "secondary master" port of the IDE
864 controller).</para>
865 </listitem>
866
867 <listitem>
868 <para>You will also see a <emphasis role="bold">SATA
869 controller,</emphasis> which is a more modern type of storage
870 controller for higher hard disk data throughput, to which the
871 virtual hard disks are attached. Initially you will normally have
872 one such virtual disk, but as you can see in the above screenshot,
873 you can have more than one, each represented by a disk image file
874 (VDI files, in this case).</para>
875 </listitem>
876 </itemizedlist></para>
877
878 <para>If you created your VM with an older version of VirtualBox, the
879 default storage layout may differ. You might then only have an IDE
880 controller to which both the CD/DVD drive and the hard disks have been
881 attached. This might also apply if you selected an older operating system
882 type when you created the VM. Since older operating systems do not support
883 SATA without additional drivers, VirtualBox will make sure that no such
884 devices are present initially. Please see <xref
885 linkend="harddiskcontrollers" /> for additional information.</para>
886
887 <para>VirtualBox also provides a <emphasis role="bold">floppy
888 controller</emphasis>, which is special: you cannot add devices other than
889 floppy drives to it. Virtual floppy drives, like virtual CD/DVD drives,
890 can be connected to either a host floppy drive (if you have one) or a disk
891 image, which in this case must be in RAW format.</para>
892
893 <para>You can modify these media attachments freely. For example, if you
894 wish to copy some files from another virtual disk that you created, you
895 can connect that disk as a second hard disk, as in the above screenshot.
896 You could also add a second virtual CD/DVD drive, or change where these
897 items are attached. The following options are available:<itemizedlist>
898 <listitem>
899 <para>To <emphasis role="bold">add another virtual hard disk, or a
900 CD/DVD or floppy drive,</emphasis> select the storage controller to
901 which it should be added (IDE, SATA, SCSI, SAS, floppy controller)
902 and then click on the "add disk" button below the tree. You can then
903 either select "Add CD/DVD device" or "Add Hard Disk". (If you
904 clicked on a floppy controller, you can add a floppy drive instead.)
905 Alternatively, right-click on the storage controller and select a
906 menu item there.</para>
907
908 <para>On the right part of the window, you can then set the
909 following:<orderedlist>
910 <listitem>
911 <para>You can then select to which <emphasis
912 role="bold">device slot</emphasis> of the controller the
913 virtual disk should be connected to. IDE controllers have four
914 slots which have traditionally been called "primary master",
915 "primary slave", "secondary master" and "secondary slave". By
916 contrast, SATA and SCSI controllers offer you up to 30 slots
917 to which virtual devices can be attached.</para>
918 </listitem>
919
920 <listitem>
921 <para>You can select which <emphasis role="bold">image
922 file</emphasis> to use.<itemizedlist>
923 <listitem>
924 <para>For virtual hard disks, a button with a drop-down
925 list appears on the right, offering you to either select
926 a <emphasis role="bold">virtual hard disk
927 file</emphasis> using a standard file dialog or to
928 <emphasis role="bold">create a new hard disk</emphasis>
929 (image file), which will bring up the "Create new disk"
930 wizard, which was described in <xref
931 linkend="gui-createvm" />.</para>
932
933 <para>For details on the image file types that are
934 supported, please see <xref
935 linkend="vdidetails" />.</para>
936 </listitem>
937
938 <listitem>
939 <para>For virtual CD/DVD drives, the image files will
940 typically be in the standard ISO format instead. Most
941 commonly, you will select this option when installing an
942 operating system from an ISO file that you have obtained
943 from the Internet. For example, most Linux distributions
944 are available in this way.</para>
945
946 <para>For virtual CD/DVD drives, the following
947 additional options are available:</para>
948
949 <para><itemizedlist>
950 <listitem>
951 <para>If you select <emphasis role="bold">"Host
952 drive"</emphasis> from the list, then the physical
953 device of the host computer is connected to the VM,
954 so that the guest operating system can read from and
955 write to your physical device. This is, for
956 instance, useful if you want to install Windows from
957 a real installation CD. In this case, select your
958 host drive from the drop-down list presented.</para>
959
960 <para>If you want to write (burn) CDs or DVDs using
961 the host drive, you need to also enable the
962 <emphasis role="bold">"Passthrough"</emphasis>
963 option; see <xref linkend="storage-cds" />.</para>
964 </listitem>
965
966 <listitem>
967 <para>If you select <emphasis role="bold">"Remove
968 disk from virtual drive",</emphasis> VirtualBox will
969 present an empty CD/DVD drive to the guest into
970 which no media has been inserted.</para>
971 </listitem>
972 </itemizedlist></para>
973 </listitem>
974 </itemizedlist></para>
975 </listitem>
976 </orderedlist></para>
977 </listitem>
978
979 <listitem>
980 <para>To <emphasis role="bold">remove an attachment,</emphasis>
981 select it and click on the "remove" icon at the bottom (or
982 right-click on it and select the menu item).</para>
983 </listitem>
984 </itemizedlist></para>
985
986 <para>Removable media (CD/DVDs and floppies) can be changed while the
987 guest is running. Since the "Settings" dialog is not available at that
988 time, you can also access these settings from the "Devices" menu of your
989 virtual machine window.</para>
990 </sect1>
991
992 <sect1 id="settings-audio">
993 <title>Audio settings</title>
994
995 <para>The "Audio" section in a virtual machine's Settings window
996 determines whether the VM will see a sound card connected, and whether the
997 audio output should be heard on the host system.</para>
998
999 <para>If audio is enabled for a guest, you can choose between the
1000 emulation of an Intel AC'97 controller, an Intel HD Audio
1001 controller<footnote>
1002 <para>Intel HD Audio support was added with VirtualBox 4.0 because
1003 Windows 7 and later (as well as 64-bit Windows Vista) do not support
1004 the Intel AC'97 controller out of the box.</para>
1005 </footnote> or a SoundBlaster 16 card. In any case, you can select what
1006 audio driver VirtualBox will use on the host.</para>
1007
1008 <para>On a Linux host, depending on your host configuration, you can also
1009 select between the OSS, ALSA or the PulseAudio subsystem. On newer Linux
1010 distributions, the PulseAudio subsystem should be preferred.</para>
1011 </sect1>
1012
1013 <sect1 id="settings-network">
1014 <title>Network settings</title>
1015
1016 <para>The "Network" section in a virtual machine's Settings window allows
1017 you to configure how VirtualBox presents virtual network cards to your VM,
1018 and how they operate.</para>
1019
1020 <para>When you first create a virtual machine, VirtualBox by default
1021 enables one virtual network card and selects the "Network Address
1022 Translation" (NAT) mode for it. This way the guest can connect to the
1023 outside world using the host's networking and the outside world can
1024 connect to services on the guest which you choose to make visible outside
1025 of the virtual machine.</para>
1026
1027 <para>This default setup is good for probably 95% of VirtualBox users.
1028 However, VirtualBox is extremely flexible in how it can virtualize
1029 networking. It supports many virtual network cards per virtual machine,
1030 the first four of which can be configured in detail in the Manager window.
1031 Additional network cards can be configured on the command line with
1032 VBoxManage. </para>
1033
1034 <para>Because of the vast array of options available, we have dedicated an
1035 entire chapter of this manual to discussing networking configuration;
1036 please see <xref linkend="networkingdetails" />.</para>
1037 </sect1>
1038
1039 <sect1 id="serialports">
1040 <title>Serial ports</title>
1041
1042 <para>VirtualBox fully supports virtual serial ports in a virtual machine
1043 in an easy-to-use manner.<footnote>
1044 <para>Serial port support was added with VirtualBox 1.5.</para>
1045 </footnote></para>
1046
1047 <para>Ever since the original IBM PC, personal computers have been
1048 equipped with one or two serial ports (also called COM ports by DOS and
1049 Windows). Serial ports were commonly used with modems, and some
1050 computer mice used to be connected to serial ports before USB became
1051 commonplace.
1052 </para>
1053
1054 <para>While serial ports are no longer as ubiquitous as they used to be,
1055 there are still some important uses left for them. For example, serial
1056 ports can be used to set up a primitive network over a null-modem cable,
1057 in case Ethernet is not available. Also, serial ports are indispensable
1058 for system programmers needing to do kernel debugging, since kernel
1059 debugging software usually interacts with developers over a serial port.
1060 With virtual serial ports, system programmers can do kernel debugging on a
1061 virtual machine instead of needing a real computer to connect to.</para>
1062
1063 <para>If a virtual serial port is enabled, the guest operating system sees
1064 a standard 16550A compatible UART device. Both receiving and transmitting
1065 data is supported. How this virtual serial port is then connected to the
1066 host is configurable, and the details depend on your host operating system.
1067 </para>
1068
1069 <para>You can use either the graphical user interface or the command-line
1070 <computeroutput>VBoxManage</computeroutput> tool to set up virtual serial
1071 ports. For the latter, please refer to <xref
1072 linkend="vboxmanage-modifyvm" />; in that section, look for the
1073 <computeroutput>--uart</computeroutput> and
1074 <computeroutput>--uartmode</computeroutput> options.</para>
1075
1076 <para>In either case, you can configure up to two virtual serial ports per
1077 virtual machine. For each such device, you will need to
1078 determine<orderedlist>
1079 <listitem>
1080 <para>what kind of serial port the virtual machine should see by
1081 selecting an I/O base address and interrupt (IRQ). For these, we
1082 recommend to use the traditional values<footnote>
1083 <para>See, for example, <ulink
1084 url="http://en.wikipedia.org/wiki/COM_(hardware_interface)">http://en.wikipedia.org/wiki/COM_(hardware_interface)</ulink>.</para>
1085 </footnote>, which are:</para>
1086
1087 <para><orderedlist>
1088 <listitem>
1089 <para>COM1: I/O base 0x3F8, IRQ 4</para>
1090 </listitem>
1091
1092 <listitem>
1093 <para>COM2: I/O base 0x2F8, IRQ 3</para>
1094 </listitem>
1095
1096 <listitem>
1097 <para>COM3: I/O base 0x3E8, IRQ 4</para>
1098 </listitem>
1099
1100 <listitem>
1101 <para>COM4: I/O base 0x2E8, IRQ 3</para>
1102 </listitem>
1103 </orderedlist></para>
1104 </listitem>
1105
1106 <listitem>
1107 <para>Then, you will need to determine what this virtual port should
1108 be connected to. For each virtual serial port, you have the
1109 following options:</para>
1110
1111 <para><itemizedlist>
1112 <listitem>
1113 <para>You can elect to have the virtual serial port
1114 "disconnected", which means that the guest will see the
1115 device, but it will behave as if no cable had been connected
1116 to it.</para>
1117 </listitem>
1118
1119 <listitem>
1120 <para>You can connect the virtual serial port to a physical
1121 serial port on your host. (On a Windows host, this will be a
1122 name like <computeroutput>COM1</computeroutput>; on Linux or
1123 Solaris hosts, it will be a device node like
1124 <computeroutput>/dev/ttyS0</computeroutput>). VirtualBox will
1125 then simply redirect all data received from and sent to the
1126 virtual serial port to the physical device.</para>
1127 </listitem>
1128
1129 <listitem>
1130 <para>You can tell VirtualBox to connect the virtual serial
1131 port to a software pipe on the host. This depends on your host
1132 operating system:<itemizedlist>
1133 <listitem>
1134 <para>On a Windows host, data will be sent and received
1135 through a named pipe. The pipe name must be in the format
1136 <computeroutput>\\.\pipe\&lt;name&gt;</computeroutput>
1137 where <computeroutput>&lt;name&gt;</computeroutput> should
1138 identify the virtual machine but may be freely
1139 chosen.</para>
1140 </listitem>
1141
1142 <listitem>
1143 <para>On a Mac, Linux or Solaris host, a local
1144 domain socket is used instead. The socket filename must be
1145 chosen such that the user running VirtualBox has
1146 sufficient privileges to create and write to it. The
1147 <computeroutput>/tmp</computeroutput> directory is often a
1148 good candidate.</para>
1149 <para>On Linux there are various tools which can connect
1150 to a local domain socket or create one in server mode. The
1151 most flexible tool is
1152 <computeroutput>socat</computeroutput> and is available
1153 as part of many distributions.</para>
1154 </listitem>
1155 </itemizedlist></para>
1156
1157 <para>In this case, you can configure whether VirtualBox
1158 should create the named pipe (or, on non-Windows hosts, the
1159 local domain socket) itself or whether VirtualBox should
1160 assume that the pipe (or socket) exists already. With the
1161 <computeroutput>VBoxManage</computeroutput> command-line
1162 options, this is referred to as "server" or "client" mode,
1163 respectively.</para>
1164
1165 <para>For a direct connection between two virtual machines
1166 (corresponding to a null-modem cable), simply configure one VM
1167 to create a pipe/socket and another to attach to it.
1168 </para>
1169 </listitem>
1170
1171 <listitem>
1172 <para>You can send the virtual serial port output to a file.
1173 This option is very useful for capturing diagnostic output from
1174 a guest. Any file may be used for this purpose, as long as the
1175 user running VirtualBox has sufficient privileges to create and
1176 write to the file.
1177 </para>
1178 </listitem>
1179
1180 <listitem>
1181 <para>TCP Socket: Useful for forwarding serial traffic over TCP/IP,
1182 acting as a server, or it can act as a TCP client connecting to other
1183 servers. It allows a remote machine to directly connect to the guest's
1184 serial port via TCP.
1185 </para>
1186 <itemizedlist>
1187 <listitem>
1188 <para>TCP Server: Uncheck the
1189 <emphasis>Connect to existing pipe/socket</emphasis> checkbox and specify
1190 the <emphasis role="bold"><computeroutput>port</computeroutput></emphasis>
1191 number. Typically 23 or 2023. Note that on UNIX-like systems you will
1192 have to use a port a number greater than 1024 for regular users.
1193 </para>
1194 <para>
1195 The client can use software such as <computeroutput>PuTTY</computeroutput>
1196 or the <computeroutput>telnet</computeroutput> command line
1197 tool to access the TCP Server.
1198 </para>
1199 </listitem>
1200 <listitem>
1201 <para>TCP Client: To create a virtual null-modem cable over the Internet or
1202 LAN, the other side can connect via TCP by specifying <emphasis role="bold">
1203 <computeroutput>hostname:port</computeroutput></emphasis>. The TCP socket
1204 will act in client mode if check the <emphasis>Connect to existing pipe/socket</emphasis>
1205 checkbox.
1206 </para>
1207 </listitem>
1208 </itemizedlist>
1209 </listitem>
1210
1211 </itemizedlist></para>
1212 </listitem>
1213 </orderedlist>Up to two serial ports can be configured per virtual
1214 machine, but you can pick any port numbers out of the above. However,
1215 serial ports cannot reliably share interrupts; if both ports are to be
1216 used at the same time, they must use different interrupt levels, for
1217 example COM1 and COM2, but not COM1 and COM3.
1218 </para>
1219 </sect1>
1220
1221 <sect1>
1222 <title>USB support</title>
1223
1224 <sect2 id="settings-usb">
1225 <title>USB settings</title>
1226
1227 <para>The "USB" section in a virtual machine's Settings window allows
1228 you to configure VirtualBox's sophisticated USB support.</para>
1229
1230 <para>VirtualBox can allow virtual machines to access the USB devices on
1231 your host directly. To achieve this, VirtualBox presents the guest
1232 operating system with a virtual USB controller. As soon as the guest
1233 system starts using a USB device, it will appear as unavailable on the
1234 host.<note>
1235 <orderedlist>
1236 <listitem>
1237 <para>Be careful with USB devices that are currently in use on
1238 the host! For example, if you allow your guest to connect to
1239 your USB hard disk that is currently mounted on the host, when
1240 the guest is activated, it will be disconnected from the host
1241 without a proper shutdown. This may cause data loss.</para>
1242 </listitem>
1243
1244 <listitem>
1245 <para>Solaris hosts have a few known limitations regarding USB
1246 support; please see <xref linkend="KnownIssues" />.</para>
1247 </listitem>
1248 </orderedlist>
1249 </note></para>
1250
1251 <para>In addition to allowing a guest access to your local USB devices,
1252 VirtualBox even allows your guests to connect to remote USB devices by
1253 use of the VirtualBox Remote Desktop Extension (VRDE). For details about
1254 this, see <xref linkend="usb-over-rdp" />.</para>
1255
1256 <para>In the Settings dialog, you can first configure whether USB is
1257 available in the guest at all, and then choose the level of USB support:
1258 OHCI for USB 1.1, EHCI (which will also enable OHCI) for USB 2.0,
1259 or xHCI for all USB speeds. <note>
1260 <para>The xHCI and EHCI controllers are shipped as a VirtualBox extension
1261 package, which must be installed separately. See <xref
1262 linkend="intro-installing" /> for more information.</para>
1263 </note></para>
1264
1265 <para>When USB support is enabled for a VM, you can determine in detail
1266 which devices will be automatically attached to the guest. For this, you
1267 can create so-called "filters" by specifying certain properties of
1268 the USB device. USB devices with a matching filter will be automatically
1269 passed to the guest once they are attached to the host. USB devices
1270 without a matching filter can be passed manually to the guest, for
1271 example by using the Devices / USB devices menu.</para>
1272
1273 <para>Clicking on the "+" button to the right of the "USB Device
1274 Filters" window creates a <emphasis role="bold">new filter.</emphasis>
1275 You can give the filter a name (for referencing it later) and specify
1276 the filter criteria. The more criteria you specify, the more precisely
1277 devices will be selected. For instance, if you specify only a vendor ID
1278 of 046d, all devices produced by Logitech will be available to the
1279 guest. If you fill in all fields, on the other hand, the filter will
1280 only apply to a particular device model from a particular vendor, and
1281 not even to other devices of the same type with a different revision and
1282 serial number.</para>
1283
1284 <para>In detail, the following criteria are available:</para>
1285
1286 <orderedlist>
1287 <listitem>
1288 <para><emphasis role="bold">Vendor and product ID.</emphasis> With
1289 USB, each vendor of USB products carries an identification number
1290 that is unique world-wide, the "vendor ID". Similarly, each line of
1291 products is assigned a "product ID" number. Both numbers are
1292 commonly written in hexadecimal (that is, they are composed of the
1293 numbers 0-9 and the letters A-F), and a colon separates the vendor
1294 from the product ID. For example,
1295 <computeroutput>046d:c016</computeroutput> stands for Logitech as a
1296 vendor, and the "M-UV69a Optical Wheel Mouse" product.</para>
1297
1298 <para>Alternatively, you can also specify <emphasis
1299 role="bold">"Manufacturer"</emphasis> and <emphasis
1300 role="bold">"Product"</emphasis> by name.</para>
1301
1302 <para>To list all the USB devices that are connected to your host
1303 machine with their respective vendor and product IDs, you can use
1304 the following command (see <xref linkend="vboxmanage" />): <screen>VBoxManage list usbhost</screen></para>
1305
1306 <para>On Windows, you can also see all USB devices that are attached
1307 to your system in the Device Manager. On Linux, you can use the
1308 <computeroutput>lsusb</computeroutput> command.</para>
1309 </listitem>
1310
1311 <listitem>
1312 <para><emphasis role="bold">Serial number.</emphasis> While vendor
1313 and product ID are already quite specific to identify USB devices,
1314 if you have two identical devices of the same brand and product
1315 line, you will also need their serial numbers to filter them out
1316 correctly.</para>
1317 </listitem>
1318
1319 <listitem>
1320 <para><emphasis role="bold">Remote.</emphasis> This setting
1321 specifies whether the device will be local only, or remote only
1322 (over VRDP), or either.</para>
1323 </listitem>
1324 </orderedlist>
1325
1326 <para>On a Windows host, you will need to unplug and reconnect a USB
1327 device to use it after creating a filter for it.</para>
1328
1329 <para>As an example, you could create a new USB filter and specify a
1330 vendor ID of 046d (Logitech, Inc), a manufacturer index of 1, and "not
1331 remote". Then any USB devices on the host system produced by Logitech,
1332 Inc with a manufacturer index of 1 will be visible to the guest
1333 system.</para>
1334
1335 <para>Several filters can select a single device -- for example, a
1336 filter which selects all Logitech devices, and one which selects a
1337 particular webcam.</para>
1338
1339 <para>You can <emphasis role="bold">deactivate</emphasis> filters
1340 without deleting them by clicking in the checkbox next to the filter
1341 name.</para>
1342 </sect2>
1343
1344 <sect2>
1345 <title>Implementation notes for Windows and Linux hosts</title>
1346
1347 <para>On Windows hosts, a kernel mode device driver provides USB proxy
1348 support. It implements both a USB monitor, which allows VirtualBox to
1349 capture devices when they are plugged in, and a USB device driver to
1350 claim USB devices for a particular virtual machine. As opposed to
1351 VirtualBox versions before 1.4.0, system reboots are no longer necessary
1352 after installing the driver. Also, you no longer need to replug devices
1353 for VirtualBox to claim them.</para>
1354
1355 <para>On newer Linux hosts, VirtualBox accesses USB devices through
1356 special files in the file system. When VirtualBox is installed, these
1357 are made available to all users in the
1358 <computeroutput>vboxusers</computeroutput> system group. In order to be
1359 able to access USB from guest systems, make sure that you are a member
1360 of this group.</para>
1361
1362 <para>On older Linux hosts, USB devices are accessed using the
1363 <computeroutput>usbfs</computeroutput> file system. Therefore, the user
1364 executing VirtualBox needs read and write permission to the USB file
1365 system. Most distributions provide a group (e.g.
1366 <computeroutput>usbusers</computeroutput>) which the VirtualBox user
1367 needs to be added to. Also, VirtualBox can only proxy to virtual
1368 machines USB devices which are not claimed by a Linux host USB driver.
1369 The <computeroutput>Driver=</computeroutput> entry in
1370 <computeroutput>/proc/bus/usb/devices</computeroutput> will show you
1371 which devices are currently claimed. Please refer to <xref
1372 linkend="ts_usb-linux" /> also for details about
1373 <computeroutput>usbfs</computeroutput>.</para>
1374 </sect2>
1375 </sect1>
1376
1377 <sect1>
1378 <title>Shared folders</title>
1379
1380 <para>Shared folders allow you to easily exchange data between a virtual
1381 machine and your host. This feature requires that the VirtualBox Guest
1382 Additions be installed in a virtual machine and is described in detail in
1383 <xref linkend="sharedfolders" />.</para>
1384 </sect1>
1385
1386 <sect1 id="efi">
1387 <title>Alternative firmware (EFI)</title>
1388
1389 <para>Starting with release 3.1, VirtualBox includes experimental support
1390 for the Extensible Firmware Interface (EFI), which is a new industry
1391 standard intended to eventually replace the legacy BIOS as the primary
1392 interface for bootstrapping computers and certain system services
1393 later.</para>
1394
1395 <para>By default, VirtualBox uses the BIOS firmware for virtual machines.
1396 To use EFI for a given virtual machine, you can enable EFI in the
1397 machine's "Settings" dialog (see <xref linkend="settings-motherboard" />).
1398 Alternatively, use the <computeroutput>VBoxManage</computeroutput> command
1399 line interface like this: <screen>VBoxManage modifyvm "VM name" --firmware efi</screen>
1400 To switch back to using the BIOS, use: <screen>VBoxManage modifyvm "VM name" --firmware bios</screen>One
1401 notable user of EFI is Apple's Mac OS X, but more recent Linuxes
1402 and Windows (starting with Vista) offer special versions that can be
1403 booted using EFI as well.</para>
1404
1405 <para>Another possible use of EFI in VirtualBox is development and testing
1406 of EFI applications, without booting any OS.</para>
1407
1408 <para>Note that the VirtualBox EFI support is experimental and will be
1409 enhanced as EFI matures and becomes more widespread. While Mac OS X and
1410 Linux guests are known to work fine, Windows guests are currently unable
1411 to boot with the VirtualBox EFI implementation.</para>
1412
1413 <sect2 id="efividmode">
1414 <title>Video modes in EFI</title>
1415
1416 <para>EFI provides two distinct video interfaces: GOP (Graphics Output
1417 Protocol) and UGA (Universal Graphics Adapter). Mac OS X uses GOP, while
1418 Linux tends to use UGA. VirtualBox provides a configuration option to
1419 control the framebuffer size for both interfaces.</para>
1420
1421 <para>To control GOP, use the following
1422 <computeroutput>VBoxManage</computeroutput> command: <screen>VBoxManage setextradata "VM name" VBoxInternal2/EfiGopMode N</screen>
1423 Where N can be one of 0,1,2,3,4,5 referring to the 640x480, 800x600,
1424 1024x768, 1280x1024, 1440x900, 1920x1200 screen resolution respectively.</para>
1425
1426 <para>To change the UGA resolution: <screen>VBoxManage setextradata "VM name" VBoxInternal2/UgaHorizontalResolution 1440
1427VBoxManage setextradata "VM name" VBoxInternal2/UgaVerticalResolution 900</screen></para>
1428
1429 <para>The video mode for both GOP and UGA can only be changed when the
1430 VM is powered off and remains persistent until changed.</para>
1431 </sect2>
1432
1433 <sect2 id="efibootargs">
1434 <title>Specifying boot arguments</title>
1435
1436 <para>It is currently not possible to manipulate EFI variables from within a running guest
1437 (e.g., setting the "boot-args" variable by running the <computeroutput>nvram</computeroutput> tool in a Mac OS X guest will not work).
1438 As an alternative way, "VBoxInternal2/EfiBootArgs" extradata can be passed to a VM in order to set
1439 the "boot-args" variable. To change the "boot-args" EFI variable:
1440 <screen>VBoxManage setextradata "VM name" VBoxInternal2/EfiBootArgs &lt;value&gt;</screen>
1441 </para>
1442 </sect2>
1443
1444 </sect1>
1445</chapter>
Note: See TracBrowser for help on using the repository browser.

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