VirtualBox

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

Last change on this file since 40725 was 40467, checked in by vboxsync, 13 years ago

doc/manual: make documentation of Max OS X support easier to read, and refer to the Apple software license for details, as they change the details relatively frequently

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

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