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