VirtualBox

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

Last change on this file since 38047 was 38047, checked in by vboxsync, 14 years ago

doc/manual + changelog

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