VirtualBox

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

Last change on this file since 77888 was 76786, checked in by vboxsync, 6 years ago

manual: integrate drop #40 with minimal manual adjustments (but everything into one book, with manually applied tweaks to turn the release notes into a pure changelog again, and eliminated trailing whitespace)

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id Revision
File size: 100.6 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd"[
4<!ENTITY % all.entities SYSTEM "all-entities.ent">
5%all.entities;
6]>
7<chapter id="BasicConcepts">
8
9 <title>Configuring Virtual Machines</title>
10
11 <para>
12 This chapter provides detailed steps for configuring an
13 &product-name; virtual machine (VM). For an introduction to
14 &product-name; and steps to get your first virtual machine running,
15 see <xref linkend="Introduction" />.
16 </para>
17
18 <para>
19 You have considerable latitude when deciding what virtual hardware
20 to provide to the guest. Use virtual hardware to communicate with
21 the host system or with other guests. For example, you can use
22 virtual hardware in the following ways:
23 </para>
24
25 <itemizedlist>
26
27 <listitem>
28 <para>
29 Have &product-name; present an ISO CD-ROM image to a guest
30 system as if it were a physical CD-ROM.
31 </para>
32 </listitem>
33
34 <listitem>
35 <para>
36 Provide a guest system access to the physical network through
37 its virtual network card.
38 </para>
39 </listitem>
40
41 <listitem>
42 <para>
43 Provide the host system, other guests, and computers on the
44 Internet access to the guest system.
45 </para>
46 </listitem>
47
48 </itemizedlist>
49
50 <sect1 id="guestossupport">
51
52 <title>Supported Guest Operating Systems</title>
53
54 <para>
55 Because &product-name; is designed to provide a generic
56 virtualization environment for x86 systems, it can run operating
57 systems (OSes) of any kind. However, &product-name; focuses on the
58 following guest systems:
59 </para>
60
61 <itemizedlist>
62
63 <listitem>
64 <para>
65 <emphasis role="bold">Windows NT 4.0:</emphasis>
66 </para>
67
68 <itemizedlist>
69
70 <listitem>
71 <para>
72 Fully supports all versions, editions, and service packs.
73 Note that you might encounter issues with some older
74 service packs, so install at least service pack 6a.
75 </para>
76 </listitem>
77
78 <listitem>
79 <para>
80 Guest Additions are available with a limited feature set.
81 </para>
82 </listitem>
83
84 </itemizedlist>
85 </listitem>
86
87 <listitem>
88 <para>
89 <emphasis role="bold">Windows 2000, Windows XP, Windows Server
90 2003, Windows Vista, Windows Server 2008, Windows 7, Windows
91 Server 2008 R2, Windows 8, Windows Server 2012, Windows 8.1,
92 Windows Server 2012 R2, Windows 10 (non-Insider Preview
93 releases), Windows Server 2016, Windows Server
94 2019:</emphasis>
95 </para>
96
97 <itemizedlist>
98
99 <listitem>
100 <para>
101 Fully supports all versions, editions, and service packs,
102 including 64-bit versions.
103 </para>
104 </listitem>
105
106 <listitem>
107 <para>
108 Note that you must enable hardware virtualization when
109 running at least Windows 8.
110 </para>
111 </listitem>
112
113 <listitem>
114 <para>
115 Guest Additions are available.
116 </para>
117 </listitem>
118
119 </itemizedlist>
120 </listitem>
121
122 <listitem>
123 <para>
124 <emphasis role="bold">MS-DOS, Windows 3.x, Windows 95, Windows
125 98, Windows ME:</emphasis>
126 </para>
127
128 <itemizedlist>
129
130 <listitem>
131 <para>
132 Limited testing has been performed.
133 </para>
134 </listitem>
135
136 <listitem>
137 <para>
138 Use beyond legacy installation mechanisms is not
139 recommended.
140 </para>
141 </listitem>
142
143 <listitem>
144 <para>
145 Guest Additions are not available.
146 </para>
147 </listitem>
148
149 </itemizedlist>
150 </listitem>
151
152 <listitem>
153 <para>
154 <emphasis role="bold">Linux 2.4:</emphasis>
155 </para>
156
157 <para>
158 Limited support.
159 </para>
160 </listitem>
161
162 <listitem>
163 <para>
164 <emphasis role="bold">Linux 2.6:</emphasis>
165 </para>
166
167 <itemizedlist>
168
169 <listitem>
170 <para>
171 Fully supports all versions and editions, both 32-bit and
172 64-bit.
173 </para>
174 </listitem>
175
176 <listitem>
177 <para>
178 For best performance, use at least Linux kernel version
179 2.6.13.
180 </para>
181 </listitem>
182
183 <listitem>
184 <para>
185 Guest Additions are available.
186 </para>
187 </listitem>
188
189 </itemizedlist>
190
191 <note>
192 <para>
193 Certain Linux kernel releases have bugs that prevent them
194 from executing in a virtual environment. See
195 <xref linkend="ts_linux-buggy" />.
196 </para>
197 </note>
198 </listitem>
199
200 <listitem>
201 <para>
202 <emphasis role="bold">Linux 3.x and later:</emphasis>
203 </para>
204
205 <itemizedlist>
206
207 <listitem>
208 <para>
209 Fully supports all versions and editions, both 32-bit and
210 64-bit.
211 </para>
212 </listitem>
213
214 <listitem>
215 <para>
216 Guest Additions are available.
217 </para>
218 </listitem>
219
220 </itemizedlist>
221 </listitem>
222
223 <listitem>
224 <para>
225 <emphasis role="bold"> Oracle Solaris 10 and Oracle Solaris
226 11:</emphasis>
227 </para>
228
229 <itemizedlist>
230
231 <listitem>
232 <para>
233 Fully supports all versions starting with Oracle Solaris
234 10 8/08 and Oracle Solaris 11.
235 </para>
236 </listitem>
237
238 <listitem>
239 <para>
240 Supports 64-bit prior to Oracle Solaris 11 11/11, and
241 32-bit.
242 </para>
243 </listitem>
244
245 <listitem>
246 <para>
247 Guest Additions are available.
248 </para>
249 </listitem>
250
251 </itemizedlist>
252 </listitem>
253
254 <listitem>
255 <para>
256 <emphasis role="bold">FreeBSD:</emphasis>
257 </para>
258
259 <itemizedlist>
260
261 <listitem>
262 <para>
263 Limited support.
264 </para>
265 </listitem>
266
267 <listitem>
268 <para>
269 Note that you must enable hardware virtualization when
270 running FreeBSD.
271 </para>
272 </listitem>
273
274 <listitem>
275 <para>
276 Guest Additions are not available.
277 </para>
278 </listitem>
279
280 </itemizedlist>
281 </listitem>
282
283 <listitem>
284 <para>
285 <emphasis role="bold"> OpenBSD:</emphasis>
286 </para>
287
288 <itemizedlist>
289
290 <listitem>
291 <para>
292 Supports at least version 3.7.
293 </para>
294 </listitem>
295
296 <listitem>
297 <para>
298 Note that you must enable hardware virtualization when
299 running OpenBSD.
300 </para>
301 </listitem>
302
303 <listitem>
304 <para>
305 Guest Additions are not available.
306 </para>
307 </listitem>
308
309 </itemizedlist>
310 </listitem>
311
312 <listitem>
313 <para>
314 <emphasis role="bold">OS/2 Warp 4.5:</emphasis>
315 </para>
316
317 <itemizedlist>
318
319 <listitem>
320 <para>
321 Only MCP2 is supported. Other OS/2 versions might not
322 work.
323 </para>
324 </listitem>
325
326 <listitem>
327 <para>
328 Note that you must enable hardware virtualization when
329 running OS/2 Warp 4.5.
330 </para>
331 </listitem>
332
333 <listitem>
334 <para>
335 Guest Additions are available with a limited feature set.
336 See <xref linkend="KnownIssues" />.
337 </para>
338 </listitem>
339
340 </itemizedlist>
341 </listitem>
342
343 <listitem>
344 <para>
345 <emphasis role="bold">Mac OS X:</emphasis>
346 </para>
347
348 <itemizedlist>
349
350 <listitem>
351 <para>
352 &product-name; 3.2 added experimental support for Mac OS X
353 guests, with restrictions. See
354 <xref linkend="intro-macosxguests"/> and
355 <xref linkend="KnownIssues" />.
356 </para>
357 </listitem>
358
359 <listitem>
360 <para>
361 Guest Additions are not available.
362 </para>
363 </listitem>
364
365 </itemizedlist>
366 </listitem>
367
368 </itemizedlist>
369
370 <sect2 id="intro-macosxguests">
371
372 <title>Mac OS X Guests</title>
373
374 <para>
375 &product-name; enables you to install and execute unmodified
376 versions of Mac OS X guests on supported host hardware. Note
377 that this feature is experimental and thus unsupported.
378 </para>
379
380 <para>
381 &product-name; is the first product to provide the modern PC
382 architecture expected by OS X without requiring any of the
383 modifications used by competing virtualization solutions. For
384 example, some competing solutions perform modifications to the
385 Mac OS X install DVDs, such as a different boot loader and
386 replaced files.
387 </para>
388
389 <para>
390 Be aware of the following important issues before you attempt to
391 install a Mac OS X guest:
392 </para>
393
394 <itemizedlist>
395
396 <listitem>
397 <para>
398 Mac OS X is commercial, licensed software and contains
399 <emphasis role="bold">both license and technical
400 restrictions</emphasis> that limit its use to certain
401 hardware and usage scenarios. You must understand and comply
402 with these restrictions.
403 </para>
404
405 <para>
406 In particular, Apple prohibits the installation of most
407 versions of Mac OS X on non-Apple hardware.
408 </para>
409
410 <para>
411 These license restrictions are also enforced on a technical
412 level. Mac OS X verifies that it is running on Apple
413 hardware. Most DVDs that accompany Apple hardware check for
414 the exact model. These restrictions are
415 <emphasis>not</emphasis> circumvented by &product-name; and
416 continue to apply.
417 </para>
418 </listitem>
419
420 <listitem>
421 <para>
422 Only <emphasis role="bold">CPUs</emphasis> that are known
423 and tested by Apple are supported. As a result, if your
424 Intel CPU is newer than the Mac OS X build, or if you have a
425 non-Intel CPU, you will likely encounter a panic during
426 bootup with an "Unsupported CPU" exception.
427 </para>
428
429 <para>
430 Ensure that you use the Mac OS X DVD that comes with your
431 Apple hardware.
432 </para>
433 </listitem>
434
435 <listitem>
436 <para>
437 The Mac OS X installer expects the hard disk to be
438 <emphasis>partitioned</emphasis>. So, the installer will not
439 offer a partition selection to you. Before you can install
440 the software successfully, start the Disk Utility from the
441 Tools menu and partition the hard disk. Close the Disk
442 Utility and proceed with the installation.
443 </para>
444 </listitem>
445
446 <listitem>
447 <para>
448 In addition, Mac OS X support in &product-name; is an
449 experimental feature. See <xref linkend="KnownIssues" />.
450 </para>
451 </listitem>
452
453 </itemizedlist>
454
455 </sect2>
456
457 <sect2 id="intro-64bitguests">
458
459 <title>64-bit Guests</title>
460
461 <para>
462 &product-name; enables you to run 64-bit guest OSes even on a
463 32-bit host OS. To run a 64-bit guest OS on a 32-bit host
464 system, ensure that you meet the following conditions:
465 </para>
466
467 <itemizedlist>
468
469 <listitem>
470 <para>
471 You need a 64-bit processor that has hardware virtualization
472 support. See <xref linkend="hwvirt" />.
473 </para>
474 </listitem>
475
476 <listitem>
477 <para>
478 You must enable hardware virtualization for the particular
479 VM that requires 64-bit support. Software virtualization is
480 not supported for 64-bit VMs.
481 </para>
482 </listitem>
483
484 <listitem>
485 <para>
486 To use 64-bit guest support on a 32-bit host OS, you must
487 select a 64-bit OS for the particular VM. Since supporting
488 64 bits on 32-bit hosts incurs additional overhead,
489 &product-name; only enables this support only upon explicit
490 request.
491 </para>
492
493 <para>
494 64-bit hosts typically come with hardware virtualization
495 support. So, you can install a 64-bit guest OS in the guest
496 regardless of the settings.
497 </para>
498 </listitem>
499
500 </itemizedlist>
501
502 <warning>
503 <para>
504 Be sure to enable <emphasis role="bold">I/O APIC</emphasis>
505 for virtual machines that you intend to use in 64-bit mode.
506 This is especially true for 64-bit Windows VMs. See
507 <xref linkend="settings-general-advanced" />. For 64-bit
508 Windows guests, ensure that the VM uses the
509 <emphasis role="bold">Intel networking device</emphasis>
510 because there is no 64-bit driver support for the AMD PCNet
511 card. See <xref linkend="nichardware" />.
512 </para>
513 </warning>
514
515 <para>
516 If you use the <emphasis role="bold">Create VM</emphasis> wizard
517 of the &product-name; graphical user interface (GUI),
518 &product-name; automatically uses the correct settings for each
519 selected 64-bit OS type. See <xref linkend="gui-createvm" />.
520 </para>
521
522 </sect2>
523
524 </sect1>
525
526 <sect1 id="basic-unattended">
527
528 <title>Unattended Guest Installation</title>
529
530 <para>
531 &product-name; can install a guest OS automatically. You only need
532 to provide the installation medium and a few other parameters,
533 such as the name of the default user.
534 </para>
535
536 <para>
537 Performing an unattended guest installation involves the following
538 steps:
539 </para>
540
541 <itemizedlist>
542
543 <listitem>
544 <para>
545 <emphasis role="bold">Create a new VM.</emphasis> Use one of
546 the following methods:
547 </para>
548
549 <itemizedlist>
550
551 <listitem>
552 <para>
553 The VirtualBox Manager, see
554 <xref linkend="gui-createvm" />.
555 </para>
556 </listitem>
557
558 <listitem>
559 <para>
560 The <command>VBoxManage createvm</command> command, see
561 <xref linkend="vboxmanage-createvm" />.
562 </para>
563 </listitem>
564
565 </itemizedlist>
566
567 <para>
568 For the new VM, choose the guest OS type and accept the
569 default settings for that OS. The following sections in this
570 chapter describe how to change the settings for a VM.
571 </para>
572 </listitem>
573
574 <listitem>
575 <para>
576 <emphasis role="bold">Prepare the VM for unattended guest
577 installation.</emphasis> Use the <command>VBoxManage
578 unattended</command> command, see
579 <xref linkend="vboxmanage-unattended" />.
580 </para>
581
582 <para>
583 During this step, &product-name; scans the installation medium
584 and changes certain parameters to ensure a seamless
585 installation as a guest running on &product-name;.
586 </para>
587 </listitem>
588
589 <listitem>
590 <para>
591 <emphasis role="bold">Start the VM.</emphasis> Use the
592 VirtualBox Manager or the <command>VBoxManage
593 startvm</command> command.
594 </para>
595
596 <para>
597 When you start the VM, the unattended installation is
598 performed automatically.
599 </para>
600
601 <para>
602 The installation operation changes the boot device order to
603 boot the virtual hard disk first and then the virtual DVD
604 drive. If the virtual hard disk is empty prior to the
605 automatic installation, the VM boots from the virtual DVD
606 drive and begins the installation.
607 </para>
608
609 <para>
610 If the virtual hard disk contains a bootable OS, the
611 installation operation exits. In this case, change the boot
612 device order manually by pressing F12 during the BIOS splash
613 screen.
614 </para>
615 </listitem>
616
617 </itemizedlist>
618
619 <para>
620 <xref linkend="unattended-guest-install-example"/> describes how
621 to perform an unattended guest installation for an Oracle Linux
622 guest.
623 </para>
624
625 <sect2 id="unattended-guest-install-example">
626
627 <title>An Example of Unattended Guest Installation</title>
628
629 <para>
630 The following example shows how to perform an unattended guest
631 installation for an Oracle Linux VM. The example uses various
632 <command>VBoxManage</command> commands to prepare the guest VM.
633 The <command>VBoxManage unattended install</command> command is
634 then used to install and configure the guest OS.
635 </para>
636
637 <orderedlist>
638
639 <listitem>
640 <para>
641 Create the virtual machine.
642 </para>
643
644<screen># VM="ol7-autoinstall"
645# VBoxManage list ostypes
646# VBoxManage createvm --name $VM --ostype "Oracle_64" --register</screen>
647
648 <para>
649 Note the following:
650 </para>
651
652 <itemizedlist>
653
654 <listitem>
655 <para>
656 The $VM variable represents the name of the VM.
657 </para>
658 </listitem>
659
660 <listitem>
661 <para>
662 The <command>VBoxManage list ostypes</command> command
663 lists the guest OSes supported by &product-name;,
664 including the name used for each OS in the
665 <command>VBoxManage</command> commands.
666 </para>
667 </listitem>
668
669 <listitem>
670 <para>
671 A 64-bit Oracle Linux 7 VM is created and registered
672 with &product-name;.
673 </para>
674 </listitem>
675
676 <listitem>
677 <para>
678 The VM has a unique UUID.
679 </para>
680 </listitem>
681
682 <listitem>
683 <para>
684 An XML settings file is generated.
685 </para>
686 </listitem>
687
688 </itemizedlist>
689 </listitem>
690
691 <listitem>
692 <para>
693 Create a virtual hard disk and storage devices for the VM.
694 </para>
695
696<screen># VBoxManage createhd --filename /VirtualBox/$VM/$VM.vdi --size 32768
697# VBoxManage storagectl $VM --name "SATA Controller" --add sata --controller IntelAHCI
698# VBoxManage storageattach $VM --storagectl "SATA Controller" --port 0 --device 0 \
699--type hdd --medium /VirtualBox/$VM/$VM.vdi
700# VBoxManage storagectl $VM --name "IDE Controller" --add ide
701# VBoxManage storageattach $VM --storagectl "IDE Controller" --port 0 --device 0 \
702--type dvddrive --medium /u01/Software/OL/OracleLinux-R7-U6-Server-x86_64-dvd.iso</screen>
703
704 <para>
705 The previous commands do the following:
706 </para>
707
708 <itemizedlist>
709
710 <listitem>
711 <para>
712 Create a 32768 MB virtual hard disk.
713 </para>
714 </listitem>
715
716 <listitem>
717 <para>
718 Create a SATA storage controller and attach the virtual
719 hard disk.
720 </para>
721 </listitem>
722
723 <listitem>
724 <para>
725 Create an IDE storage controller for a virtual DVD drive
726 and attach an Oracle Linux installation ISO.
727 </para>
728 </listitem>
729
730 </itemizedlist>
731 </listitem>
732
733 <listitem>
734 <para>
735 (Optional) Configure some settings for the VM.
736 </para>
737
738<screen># VBoxManage modifyvm $VM --ioapic on
739# VBoxManage modifyvm $VM --boot1 dvd --boot2 disk --boot3 none --boot4 none
740# VBoxManage modifyvm $VM --memory 8192 --vram 128</screen>
741
742 <para>
743 The previous commands do the following:
744 </para>
745
746 <itemizedlist>
747
748 <listitem>
749 <para>
750 Enable I/O APIC for the motherboard of the VM.
751 </para>
752 </listitem>
753
754 <listitem>
755 <para>
756 Configure the boot device order for the VM.
757 </para>
758 </listitem>
759
760 <listitem>
761 <para>
762 Allocate 8192 MB of RAM and 128 MB of video RAM to the
763 VM.
764 </para>
765 </listitem>
766
767 </itemizedlist>
768 </listitem>
769
770 <listitem>
771 <para>
772 Perform an unattended install of the OS.
773 </para>
774
775<screen># VBoxManage unattended install $VM \
776--iso=/u01/Software/OL/OracleLinux-R7-U6-Server-x86_64-dvd.iso \
777--user=<replaceable>login</replaceable> --full-user-name=<replaceable>name</replaceable> --password <replaceable>password</replaceable> \
778--install-additions --time-zone=CET</screen>
779
780 <para>
781 The previous command does the following:
782 </para>
783
784 <itemizedlist>
785
786 <listitem>
787 <para>
788 Specifies an Oracle Linux ISO as the installation ISO.
789 </para>
790 </listitem>
791
792 <listitem>
793 <para>
794 Specifies a login name, full name, and login password
795 for a default user on the guest OS.
796 </para>
797
798 <para>
799 Note that the specified password is also used for the
800 root user account on the guest.
801 </para>
802 </listitem>
803
804 <listitem>
805 <para>
806 Installs the Guest Additions on the VM.
807 </para>
808 </listitem>
809
810 <listitem>
811 <para>
812 Sets the time zone for the guest OS to Central European
813 Time (CET).
814 </para>
815 </listitem>
816
817 </itemizedlist>
818 </listitem>
819
820 <listitem>
821 <para>
822 Start the virtual machine.
823 </para>
824
825 <para>
826 This step completes the unattended installation process.
827 </para>
828
829<screen># VBoxManage startvm $VM --type headless</screen>
830
831 <para>
832 The VM starts in headless mode, which means that the
833 VirtualBox Manager window does not open.
834 </para>
835 </listitem>
836
837 <listitem>
838 <para>
839 (Optional) Update the guest OS to use the latest Oracle
840 Linux packages.
841 </para>
842
843 <para>
844 On the guest VM, run the following command:
845 </para>
846
847<screen># yum update</screen>
848 </listitem>
849
850 </orderedlist>
851
852 </sect2>
853
854 </sect1>
855
856 <sect1 id="emul-hardware">
857
858 <title>Emulated Hardware</title>
859
860 <para>
861 &product-name; virtualizes nearly all hardware of the host.
862 Depending on a VM's configuration, the guest will see the
863 following virtual hardware:
864 </para>
865
866 <itemizedlist>
867
868 <listitem>
869 <para>
870 <emphasis role="bold">Input devices.</emphasis> By default,
871 &product-name; emulates a standard PS/2 keyboard and mouse.
872 These devices are supported by almost all past and present
873 OSes.
874 </para>
875
876 <para>
877 In addition, &product-name; can provide virtual USB input
878 devices to avoid having to capture mouse and keyboard, as
879 described in <xref
880 linkend="keyb_mouse_normal" />.
881 </para>
882 </listitem>
883
884 <listitem>
885 <para>
886 <emphasis role="bold">Graphics.</emphasis> The &product-name;
887 graphics device, sometimes referred to as a VGA device, is not
888 based on any physical counterpart. This is unlike nearly all
889 other emulated devices. It is a simple, synthetic device which
890 provides compatibility with standard VGA and several extended
891 registers used by the VESA BIOS Extensions (VBE).
892 </para>
893 </listitem>
894
895 <listitem>
896 <para>
897 <emphasis role="bold">Storage.</emphasis> &product-name;
898 currently emulates the standard ATA interface found on Intel
899 PIIX3/PIIX4 chips, the SATA (AHCI) interface, and two SCSI
900 adapters (LSI Logic and BusLogic). See
901 <xref linkend="harddiskcontrollers" /> for details. Whereas
902 providing one of these would be enough for &product-name; by
903 itself, this multitude of storage adapters is required for
904 compatibility with other hypervisors. Windows is particularly
905 picky about its boot devices, and migrating VMs between
906 hypervisors is very difficult or impossible if the storage
907 controllers are different.
908 </para>
909 </listitem>
910
911 <listitem>
912 <para>
913 <emphasis role="bold">Networking.</emphasis> See
914 <xref
915 linkend="nichardware" />.
916 </para>
917 </listitem>
918
919 <listitem>
920 <para>
921 <emphasis role="bold">USB.</emphasis> &product-name; emulates
922 three USB host controllers: xHCI, EHCI, and OHCI. While xHCI
923 handles all USB transfer speeds, only guest OSes released
924 approximately after 2011 support xHCI. Note that for Windows 7
925 guests, 3rd party drivers must be installed for xHCI support.
926 </para>
927
928 <para>
929 Older OSes typically support OHCI and EHCI. The two
930 controllers are needed because OHCI only handles USB low-speed
931 and full-speed devices (both USB 1.x and 2.0), while EHCI only
932 handles high-speed devices (USB 2.0 only).
933 </para>
934
935 <para>
936 The emulated USB controllers do not communicate directly with
937 devices on the host but rather with a virtual USB layer which
938 abstracts the USB protocol and enables the use of remote USB
939 devices.
940 </para>
941 </listitem>
942
943 <listitem>
944 <para>
945 <emphasis role="bold">Audio.</emphasis> See
946 <xref linkend="settings-audio" />.
947 </para>
948 </listitem>
949
950 </itemizedlist>
951
952 </sect1>
953
954 <sect1 id="generalsettings">
955
956 <title>General Settings</title>
957
958 <para>
959 In the <emphasis role="bold">Settings</emphasis> window, under
960 <emphasis role="bold">General</emphasis>, you can configure the
961 most fundamental aspects of the virtual machine such as memory and
962 essential hardware. The following tabs are available.
963 </para>
964
965 <sect2 id="settings-basic">
966
967 <title>Basic Tab</title>
968
969 <para>
970 In the <emphasis role="bold">Basic</emphasis> tab of the
971 <emphasis role="bold">General</emphasis> settings category, you
972 can find these settings:
973 </para>
974
975 <itemizedlist>
976
977 <listitem>
978 <para>
979 <emphasis role="bold">Name:</emphasis> The name under which
980 the VM is shown in the list of VMs in the main window. Under
981 this name, &product-name; also saves the VM's configuration
982 files. By changing the name, &product-name; renames these
983 files as well. As a result, you can only use characters
984 which are allowed in your host OS's file names.
985 </para>
986
987 <para>
988 Note that internally, &product-name; uses unique identifiers
989 (UUIDs) to identify virtual machines. You can display these
990 with <command>VBoxManage</command>.
991 </para>
992 </listitem>
993
994 <listitem>
995 <para>
996 <emphasis role="bold">Type:</emphasis> The type of the guest
997 OS for the VM. This is the same setting that is specified in
998 the <emphasis role="bold">New Virtual Machine</emphasis>
999 wizard. See <xref linkend="gui-createvm" />.
1000 </para>
1001
1002 <para>
1003 Whereas the default settings of a newly created VM depend on
1004 the selected OS type, changing the type later has no effect
1005 on VM settings. This value is purely informational and
1006 decorative.
1007 </para>
1008 </listitem>
1009
1010 <listitem>
1011 <para>
1012 <emphasis role="bold">Version:</emphasis> The version of the
1013 guest OS for the VM. This is the same setting that is
1014 specified in the <emphasis role="bold">New Virtual
1015 Machine</emphasis> wizard. See
1016 <xref linkend="gui-createvm" />.
1017 </para>
1018 </listitem>
1019
1020 </itemizedlist>
1021
1022 </sect2>
1023
1024 <sect2 id="settings-general-advanced">
1025
1026 <title>Advanced Tab</title>
1027
1028 <para>
1029 The following settings are available in the
1030 <emphasis role="bold">Advanced</emphasis> tab:
1031 </para>
1032
1033 <itemizedlist>
1034
1035 <listitem>
1036 <para>
1037 <emphasis role="bold">Snapshot Folder:</emphasis> By
1038 default, &product-name; saves snapshot data together with
1039 your other &product-name; configuration data. See
1040 <xref linkend="vboxconfigdata" />. With this setting, you
1041 can specify any other folder for each VM.
1042 </para>
1043 </listitem>
1044
1045 <listitem>
1046 <para>
1047 <emphasis role="bold">Shared Clipboard:</emphasis> You can
1048 select here whether the clipboard of the guest OS should be
1049 shared with that of your host. If you select
1050 <emphasis role="bold">Bidirectional</emphasis>, then
1051 &product-name; will always make sure that both clipboards
1052 contain the same data. If you select
1053 <emphasis role="bold">Host to Guest</emphasis> or
1054 <emphasis role="bold">Guest to Host</emphasis>, then
1055 &product-name; will only ever copy clipboard data in one
1056 direction.
1057 </para>
1058
1059 <para>
1060 Clipboard sharing requires that the &product-name; Guest
1061 Additions be installed. In such a case, this setting has no
1062 effect. See <xref linkend="guestadditions" />.
1063 </para>
1064
1065 <para>
1066 For security reasons, the shared clipboard is disabled by
1067 default. This setting can be changed at any time using the
1068 <emphasis role="bold">Shared Clipboard</emphasis> menu item
1069 in the <emphasis role="bold">Devices</emphasis> menu of the
1070 virtual machine.
1071 </para>
1072 </listitem>
1073
1074 <listitem>
1075 <para>
1076 <emphasis role="bold">Drag and Drop:</emphasis> This setting
1077 enables support for drag and drop. Select an object, such as
1078 a file, from the host or guest and directly copy or open it
1079 on the guest or host. Multiple per-VM drag and drop modes
1080 allow restricting access in either direction.
1081 </para>
1082
1083 <para>
1084 For drag and drop to work the Guest Additions need to be
1085 installed on the guest.
1086 </para>
1087
1088 <note>
1089 <para>
1090 Drag and drop is disabled by default. This setting can be
1091 changed at any time using the <emphasis role="bold">Drag
1092 and Drop</emphasis> menu item in the
1093 <emphasis role="bold">Devices</emphasis> menu of the
1094 virtual machine.
1095 </para>
1096 </note>
1097
1098 <para>
1099 See <xref linkend="guestadd-dnd"/>.
1100 </para>
1101 </listitem>
1102
1103 </itemizedlist>
1104
1105 </sect2>
1106
1107 <sect2 id="settings-description">
1108
1109 <title>Description Tab</title>
1110
1111 <para>
1112 On the <emphasis role="bold">Description</emphasis> tab you can
1113 enter a description for your virtual machine. This has no effect
1114 on the functionality of the machine, but you may find this space
1115 useful to note down things such as the configuration of a
1116 virtual machine and the software that has been installed into
1117 it.
1118 </para>
1119
1120 <para>
1121 To insert a line break into the
1122 <emphasis role="bold">Description</emphasis> text field, press
1123 Shift+Enter.
1124 </para>
1125
1126 </sect2>
1127
1128 <sect2 id="settings-disk-encryption">
1129
1130 <title>Disk Encryption Tab</title>
1131
1132 <para>
1133 The <emphasis role="bold">Disk Encryption</emphasis> tab enables
1134 you to encrypt disks that are attached to the virtual machine.
1135 </para>
1136
1137 <para>
1138 To enable disk encryption, select the
1139 <emphasis role="bold">Enable Disk Encryption</emphasis> check
1140 box.
1141 </para>
1142
1143 <para>
1144 Settings are available to configure the cipher used for
1145 encryption and the encryption password.
1146 </para>
1147
1148 </sect2>
1149
1150 </sect1>
1151
1152 <sect1 id="settings-system">
1153
1154 <title>System Settings</title>
1155
1156 <para>
1157 The <emphasis role="bold">System</emphasis> category groups
1158 various settings that are related to the basic hardware that is
1159 presented to the virtual machine.
1160 </para>
1161
1162 <note>
1163 <para>
1164 As the activation mechanism of Microsoft Windows is sensitive to
1165 hardware changes, if you are changing hardware settings for a
1166 Windows guest, some of these changes may trigger a request for
1167 another activation with Microsoft.
1168 </para>
1169 </note>
1170
1171 <para>
1172 The following tabs are available.
1173 </para>
1174
1175 <sect2 id="settings-motherboard">
1176
1177 <title>Motherboard Tab</title>
1178
1179 <para>
1180 On the <emphasis role="bold">Motherboard</emphasis> tab, you can
1181 configure virtual hardware that would normally be on the
1182 motherboard of a real computer.
1183 </para>
1184
1185 <itemizedlist>
1186
1187 <listitem>
1188 <para>
1189 <emphasis role="bold">Base Memory:</emphasis> Sets the
1190 amount of RAM that is allocated and given to the VM when it
1191 is running. The specified amount of memory will be requested
1192 from the host OS, so it must be available or made available
1193 as free memory on the host when attempting to start the VM
1194 and will not be available to the host while the VM is
1195 running. This is the same setting that was specified in the
1196 <emphasis role="bold">New Virtual Machine</emphasis> wizard,
1197 as described in <xref linkend="gui-createvm" />.
1198 </para>
1199
1200 <para>
1201 Generally, it is possible to change the memory size after
1202 installing the guest OS. But you must not reduce the memory
1203 to an amount where the OS would no longer boot.
1204 </para>
1205 </listitem>
1206
1207 <listitem>
1208 <para>
1209 <emphasis role="bold">Boot Order:</emphasis> Determines the
1210 order in which the guest OS will attempt to boot from the
1211 various virtual boot devices. Analogous to a real PC's BIOS
1212 setting, &product-name; can tell a guest OS to start from
1213 the virtual floppy, the virtual CD/DVD drive, the virtual
1214 hard drive (each of these as defined by the other VM
1215 settings), the network, or none of these.
1216 </para>
1217
1218 <para>
1219 If you select <emphasis role="bold">Network</emphasis>, the
1220 VM will attempt to boot from a network using the PXE
1221 mechanism. This needs to be configured in detail on the
1222 command line. See <xref linkend="vboxmanage-modifyvm" />.
1223 </para>
1224 </listitem>
1225
1226 <listitem>
1227 <para>
1228 <emphasis role="bold">Chipset:</emphasis> You can select
1229 which chipset will be presented to the virtual machine. In
1230 legacy versions of &product-name;, PIIX3 was the only
1231 available option. For modern guest OSes such as Mac OS X,
1232 that old chipset is no longer well supported. As a result,
1233 &product-name; supports an emulation of the more modern ICH9
1234 chipset, which supports PCI express, three PCI buses,
1235 PCI-to-PCI bridges and Message Signaled Interrupts (MSI).
1236 This enables modern OSes to address more PCI devices and no
1237 longer requires IRQ sharing. Using the ICH9 chipset it is
1238 also possible to configure up to 36 network cards, up to 8
1239 network adapters with PIIX3. Note that the ICH9 support is
1240 experimental and not recommended for guest OSes which do not
1241 require it.
1242 </para>
1243 </listitem>
1244
1245 <listitem>
1246 <para>
1247 <emphasis role="bold">Pointing Device:</emphasis> The
1248 default virtual pointing devices for older guests is the
1249 traditional PS/2 mouse. If set to <emphasis>USB
1250 tablet</emphasis>, &product-name; reports to the virtual
1251 machine that a USB tablet device is present and communicates
1252 mouse events to the virtual machine through this device. The
1253 third setting is a <emphasis>USB Multi-Touch
1254 Tablet</emphasis> which is suited for recent Windows guests.
1255 </para>
1256
1257 <para>
1258 Using the virtual USB tablet has the advantage that
1259 movements are reported in absolute coordinates, instead of
1260 as relative position changes. This enables &product-name; to
1261 translate mouse events over the VM window into tablet events
1262 without having to "capture" the mouse in the guest as
1263 described in <xref linkend="keyb_mouse_normal" />. This
1264 makes using the VM less tedious even if Guest Additions are
1265 not installed.
1266 </para>
1267 </listitem>
1268
1269 <listitem>
1270 <para>
1271 <emphasis role="bold">Enable I/O APIC:</emphasis> Advanced
1272 Programmable Interrupt Controllers (APICs) are a newer x86
1273 hardware feature that have replaced old-style Programmable
1274 Interrupt Controllers (PICs) in recent years. With an I/O
1275 APIC, OSes can use more than 16 interrupt requests (IRQs)
1276 and therefore avoid IRQ sharing for improved reliability.
1277 </para>
1278
1279 <note>
1280 <para>
1281 Enabling the I/O APIC is <emphasis>required</emphasis> for
1282 64-bit guest OSes, especially Windows Vista. It is also
1283 required if you want to use more than one virtual CPU in a
1284 virtual machine.
1285 </para>
1286 </note>
1287
1288 <para>
1289 However, software support for I/O APICs has been unreliable
1290 with some OSes other than Windows. Also, the use of an I/O
1291 APIC slightly increases the overhead of virtualization and
1292 therefore slows down the guest OS a little.
1293 </para>
1294
1295 <warning>
1296 <para>
1297 All Windows OSes starting with Windows 2000 install
1298 different kernels, depending on whether an I/O APIC is
1299 available. As with ACPI, the I/O APIC therefore
1300 <emphasis>must not be turned off after
1301 installation</emphasis> of a Windows guest OS. Turning it
1302 on after installation will have no effect however.
1303 </para>
1304 </warning>
1305 </listitem>
1306
1307 <listitem>
1308 <para>
1309 <emphasis role="bold">Enable EFI:</emphasis> Enables
1310 Extensible Firmware Interface (EFI), which replaces the
1311 legacy BIOS and may be useful for certain advanced use
1312 cases. See <xref linkend="efi" />.
1313 </para>
1314 </listitem>
1315
1316 <listitem>
1317 <para>
1318 <emphasis role="bold">Hardware Clock in UTC Time:</emphasis>
1319 If selected, &product-name; will report the system time in
1320 UTC format to the guest instead of the local (host) time.
1321 This affects how the virtual real-time clock (RTC) operates
1322 and may be useful for UNIX-like guest OSes, which typically
1323 expect the hardware clock to be set to UTC.
1324 </para>
1325 </listitem>
1326
1327 </itemizedlist>
1328
1329 <para>
1330 In addition, you can turn off the <emphasis role="bold">Advanced
1331 Configuration and Power Interface (ACPI)</emphasis> which
1332 &product-name; presents to the guest OS by default.
1333 </para>
1334
1335 <para>
1336 ACPI is the current industry standard to allow OSes to recognize
1337 hardware, configure motherboards and other devices and manage
1338 power. As all modern PCs contain this feature and Windows and
1339 Linux have been supporting it for years, it is also enabled by
1340 default in &product-name;. ACPI can only be turned off using the
1341 command line. See <xref linkend="vboxmanage-modifyvm" />.
1342 </para>
1343
1344 <warning>
1345 <para>
1346 All Windows OSes starting with Windows 2000 install different
1347 kernels, depending on whether ACPI is available. This means
1348 that ACPI <emphasis>must not be turned off</emphasis> after
1349 installation of a Windows guest OS. However, turning it on
1350 after installation will have no effect.
1351 </para>
1352 </warning>
1353
1354 </sect2>
1355
1356 <sect2 id="settings-processor">
1357
1358 <title>Processor Tab</title>
1359
1360 <para>
1361 On the <emphasis role="bold">Processor</emphasis> tab, you can
1362 configure settings for the CPU used by the virtual machine.
1363 </para>
1364
1365 <itemizedlist>
1366
1367 <listitem>
1368 <para>
1369 <emphasis role="bold">Processor(s):</emphasis> Sets the
1370 number of virtual CPU cores the guest OSes can see.
1371 &product-name; supports symmetrical multiprocessing (SMP)
1372 and can present up to 32 virtual CPU cores to each virtual
1373 machine.
1374 </para>
1375
1376 <para>
1377 You should not configure virtual machines to use more CPU
1378 cores than are available physically. This includes real
1379 cores, with no hyperthreads.
1380 </para>
1381 </listitem>
1382
1383 <listitem>
1384 <para>
1385 <emphasis role="bold">Execution Cap:</emphasis> Configures
1386 the CPU execution cap. This limits the amount of time a host
1387 CPU spends to emulate a virtual CPU. The default setting is
1388 100%, meaning that there is no limitation. A setting of 50%
1389 implies a single virtual CPU can use up to 50% of a single
1390 host CPU. Note that limiting the execution time of the
1391 virtual CPUs may cause guest timing problems.
1392 </para>
1393
1394 <para>
1395 A warning is displayed at the bottom of the Processor tab if
1396 an Execution Cap setting is made that may affect system
1397 performance.
1398 </para>
1399 </listitem>
1400
1401 <listitem>
1402 <para>
1403 <emphasis role="bold">Enable PAE/NX:</emphasis> Determines
1404 whether the PAE and NX capabilities of the host CPU will be
1405 exposed to the virtual machine.
1406 </para>
1407
1408 <para>
1409 PAE stands for Physical Address Extension. Normally, if
1410 enabled and supported by the OS, then even a 32-bit x86 CPU
1411 can access more than 4 GB of RAM. This is made possible by
1412 adding another 4 bits to memory addresses, so that with 36
1413 bits, up to 64 GB can be addressed. Some OSes, such as
1414 Ubuntu Server, require PAE support from the CPU and cannot
1415 be run in a virtual machine without it.
1416 </para>
1417 </listitem>
1418
1419 <listitem>
1420 <para>
1421 <emphasis role="bold">Enable Nested VT-x/AMD-V</emphasis>:
1422 Enables nested virtualization, with passthrough of hardware
1423 virtualization functions to the guest VM.
1424 </para>
1425
1426 <para>
1427 This feature is available on host systems that use an AMD
1428 CPU. For Intel CPUs, the option is grayed out.
1429 </para>
1430 </listitem>
1431
1432 </itemizedlist>
1433
1434 <para>
1435 With virtual machines running modern server OSes, &product-name;
1436 also supports CPU hot-plugging. For details, see
1437 <xref linkend="cpuhotplug" />.
1438 </para>
1439
1440 </sect2>
1441
1442 <sect2 id="settings-acceleration">
1443
1444 <title>Acceleration Tab</title>
1445
1446 <para>
1447 On this tab, you can configure &product-name; to use hardware
1448 virtualization extensions that your host CPU supports.
1449 </para>
1450
1451 <itemizedlist>
1452
1453 <listitem>
1454 <para>
1455 <emphasis role="bold">Paravirtualization
1456 Interface:</emphasis> &product-name; provides
1457 paravirtualization interfaces to improve time-keeping
1458 accuracy and performance of guest OSes. The options
1459 available are documented under the
1460 <computeroutput>paravirtprovider</computeroutput> option in
1461 <xref linkend="vboxmanage-modifyvm" />. For further details
1462 on the paravirtualization providers, see
1463 <xref linkend="gimproviders" />.
1464 </para>
1465 </listitem>
1466
1467 <listitem>
1468 <para>
1469 <emphasis role="bold">Hardware Virtualization:</emphasis>
1470 You can select for each virtual machine individually whether
1471 &product-name; should use software or hardware
1472 virtualization.
1473 </para>
1474
1475 <itemizedlist>
1476
1477 <listitem>
1478 <para>
1479 <emphasis role="bold">Enable VT-x/AMD-V:</emphasis>
1480 Enables Intel VT-x and AMD-V hardware extensions if the
1481 host CPU supports them.
1482 </para>
1483 </listitem>
1484
1485 <listitem>
1486 <para>
1487 <emphasis role="bold">Enable Nested Paging:</emphasis>
1488 If the host CPU supports the nested paging (AMD-V) or
1489 EPT (Intel VT-x) features, then you can expect a
1490 significant performance increase by enabling nested
1491 paging in addition to hardware virtualization. For
1492 technical details, see <xref linkend="nestedpaging" />.
1493 For Intel EPT security recommendations, see
1494 <xref linkend="sec-rec-cve-2018-3646" />.
1495 </para>
1496 </listitem>
1497
1498 </itemizedlist>
1499
1500 <para>
1501 Advanced users may be interested in technical details about
1502 software versus hardware virtualization. See
1503 <xref linkend="hwvirt" />.
1504 </para>
1505 </listitem>
1506
1507 </itemizedlist>
1508
1509 <para>
1510 In most cases, the default settings on the
1511 <emphasis role="bold">Acceleration</emphasis> tab will work
1512 well. &product-name; selects sensible defaults, depending on the
1513 OS that you selected when you created the virtual machine. In
1514 certain situations, however, you may want to change the
1515 preconfigured defaults.
1516 </para>
1517
1518 </sect2>
1519
1520 </sect1>
1521
1522 <sect1 id="settings-display">
1523
1524 <title>Display Settings</title>
1525
1526 <para>
1527 The following tabs are available for configuring the display for a
1528 virtual machine.
1529 </para>
1530
1531 <sect2 id="settings-screen">
1532
1533 <title>Screen Tab</title>
1534
1535 <itemizedlist>
1536
1537 <listitem>
1538 <para>
1539 <emphasis role="bold">Video Memory:</emphasis> Sets the size
1540 of the memory provided by the virtual graphics card
1541 available to the guest, in MB. As with the main memory, the
1542 specified amount will be allocated from the host's resident
1543 memory. Based on the amount of video memory, higher
1544 resolutions and color depths may be available.
1545 </para>
1546
1547 <para>
1548 The GUI will show a warning if the amount of video memory is
1549 too small to be able to switch the VM into full screen mode.
1550 The minimum value depends on the number of virtual monitors,
1551 the screen resolution and the color depth of the host
1552 display as well as on the use of <emphasis>3D
1553 acceleration</emphasis> and <emphasis>2D video
1554 acceleration</emphasis>. A rough estimate is
1555 (<emphasis>color depth</emphasis> / 8) x <emphasis>vertical
1556 pixels</emphasis> x <emphasis>horizontal pixels</emphasis> x
1557 <emphasis>number of screens</emphasis> = <emphasis>number of
1558 bytes</emphasis>. Extra memory may be required if display
1559 acceleration is used.
1560 </para>
1561 </listitem>
1562
1563 <listitem>
1564 <para>
1565 <emphasis role="bold">Monitor Count:</emphasis> With this
1566 setting, &product-name; can provide more than one virtual
1567 monitor to a virtual machine. If a guest OS supports
1568 multiple attached monitors, &product-name; can pretend that
1569 multiple virtual monitors are present. Up to eight such
1570 virtual monitors are supported.
1571 </para>
1572
1573 <para>
1574 The output of the multiple monitors are displayed on the
1575 host in multiple VM windows which are running side by side.
1576 However, in full screen and seamless mode, they use the
1577 available physical monitors attached to the host. As a
1578 result, for full screen and seamless modes to work with
1579 multiple monitors, you will need at least as many physical
1580 monitors as you have virtual monitors configured, or
1581 &product-name; will report an error.
1582 </para>
1583
1584 <para>
1585 You can configure the relationship between guest and host
1586 monitors using the <emphasis role="bold">View</emphasis>
1587 menu by pressing Host key + Home when you are in full screen
1588 or seamless mode.
1589 </para>
1590
1591 <para>
1592 See also <xref linkend="KnownIssues" />.
1593 </para>
1594 </listitem>
1595
1596 <listitem>
1597 <para>
1598 <emphasis role="bold">Scale Factor:</emphasis> Enables
1599 scaling of the display size. For multiple monitor displays,
1600 you can set the scale factor for individual monitors, or
1601 globally for all of the monitors. Use the slider to select a
1602 scaling factor up to 200%.
1603 </para>
1604
1605 <para>
1606 You can set a default scale factor for all VMs. Use the
1607 <emphasis role="bold">Display</emphasis> tab in the Global
1608 Settings dialogs.
1609 </para>
1610 </listitem>
1611
1612 <listitem>
1613 <para>
1614 <emphasis role="bold">Enable 3D Acceleration:</emphasis> If
1615 a virtual machine has Guest Additions installed, you can
1616 select here whether the guest should support accelerated 3D
1617 graphics. See <xref linkend="guestadd-3d" />.
1618 </para>
1619 </listitem>
1620
1621 <listitem>
1622 <para>
1623 <emphasis role="bold">Enable 2D Video
1624 Acceleration:</emphasis> If a virtual machine with Microsoft
1625 Windows has Guest Additions installed, you can select here
1626 whether the guest should support accelerated 2D video
1627 graphics. See <xref linkend="guestadd-2d" />.
1628 </para>
1629 </listitem>
1630
1631 <listitem>
1632 <para>
1633 <emphasis role="bold">Graphics Controller:</emphasis>
1634 Specifies the graphics adapter type used by the guest VM.
1635 Note that you must install the Guest Additions on the guest
1636 VM to specify the VBoxSVGA or VMSVGA graphics controller.
1637 The following options are available:
1638 </para>
1639
1640 <itemizedlist>
1641
1642 <listitem>
1643 <para>
1644 <emphasis role="bold">VBoxSVGA:</emphasis> The default
1645 graphics controller for new VMs that use Linux or
1646 Windows 7 or later.
1647 </para>
1648
1649 <para>
1650 This graphics controller improves performance and 3D
1651 support when compared to the legacy VBoxVGA option.
1652 </para>
1653 </listitem>
1654
1655 <listitem>
1656 <para>
1657 <emphasis role="bold">VBoxVGA:</emphasis> Use this
1658 graphics controller for legacy guest OSes. This is the
1659 default graphics controller for Windows versions before
1660 Windows 7.
1661 </para>
1662 </listitem>
1663
1664 <listitem>
1665 <para>
1666 <emphasis role="bold">VMSVGA:</emphasis> Use this
1667 graphics controller to emulate a VMware SVGA graphics
1668 device.
1669 </para>
1670 </listitem>
1671
1672 <listitem>
1673 <para>
1674 <emphasis role="bold">None:</emphasis> Does not emulate
1675 a graphics adapter type.
1676 </para>
1677 </listitem>
1678
1679 </itemizedlist>
1680 </listitem>
1681
1682 </itemizedlist>
1683
1684 </sect2>
1685
1686 <sect2 id="settings-remote-display">
1687
1688 <title>Remote Display Tab</title>
1689
1690 <para>
1691 On the <emphasis role="bold">Remote Display</emphasis> tab, if
1692 the VirtualBox Remote Display Extension (VRDE) is installed, you
1693 can enable the VRDP server that is built into &product-name;.
1694 This enables you to connect to the console of the virtual
1695 machine remotely with any standard RDP viewer, such as
1696 <command>mstsc.exe</command> that comes with Microsoft Windows.
1697 On Linux and Oracle Solaris systems you can use the standard
1698 open source <command>rdesktop</command> program. These features
1699 are described in <xref linkend="vrde" />.
1700 </para>
1701
1702 <itemizedlist>
1703
1704 <listitem>
1705 <para>
1706 <emphasis role="bold">Enable Server:</emphasis> Select this
1707 check box and configure settings for the remote display
1708 connection.
1709 </para>
1710 </listitem>
1711
1712 </itemizedlist>
1713
1714 </sect2>
1715
1716 <sect2 id="settings-capture">
1717
1718 <title>Recording Tab</title>
1719
1720 <para>
1721 On the <emphasis role="bold">Recording</emphasis> tab you can
1722 enable video and audio recording for a virtual machine and
1723 change related settings. Note that these features can be enabled
1724 and disabled while a VM is running.
1725 </para>
1726
1727 <itemizedlist>
1728
1729 <listitem>
1730 <para>
1731 <emphasis role="bold">Enable Recording:</emphasis> Select
1732 this check box and select a <emphasis role="bold">Recording
1733 Mode</emphasis> option.
1734 </para>
1735 </listitem>
1736
1737 <listitem>
1738 <para>
1739 <emphasis role="bold">Recording Mode:</emphasis> You can
1740 choose to record video, audio, or both video and audio.
1741 </para>
1742
1743 <para>
1744 Some settings on the
1745 <emphasis role="bold">Recording</emphasis> tab may be grayed
1746 out, depending on the <emphasis role="bold">Recording
1747 Mode</emphasis> setting.
1748 </para>
1749 </listitem>
1750
1751 <listitem>
1752 <para>
1753 <emphasis role="bold">File Path:</emphasis> The file where
1754 the recording is saved.
1755 </para>
1756 </listitem>
1757
1758 <listitem>
1759 <para>
1760 <emphasis role="bold">Frame Size:</emphasis> The video
1761 resolution of the recorded video, in pixels. The drop-down
1762 list enables you to select from common frame sizes.
1763 </para>
1764 </listitem>
1765
1766 <listitem>
1767 <para>
1768 <emphasis role="bold">Frame Rate:</emphasis> Use the slider
1769 to set the maximum number of video frames per second (FPS)
1770 to record. Frames that have a higher frequency are skipped.
1771 Increasing this value reduces the number of skipped frames
1772 and increases the file size.
1773 </para>
1774 </listitem>
1775
1776 <listitem>
1777 <para>
1778 <emphasis role="bold">Quality:</emphasis> Use the slider to
1779 set the the bit rate of the video in kilobits per second.
1780 Increasing this value improves the appearance of the video
1781 at the cost of an increased file size.
1782 </para>
1783 </listitem>
1784
1785 <listitem>
1786 <para>
1787 <emphasis role="bold">Audio Quality:</emphasis> Use the
1788 slider to set the quality of the audio recording. Increasing
1789 this value improves the audio quality at the cost of an
1790 increased file size.
1791 </para>
1792 </listitem>
1793
1794 <listitem>
1795 <para>
1796 <emphasis role="bold">Screens:</emphasis> For a multiple
1797 monitor display, you can select which screens to record
1798 video from.
1799 </para>
1800 </listitem>
1801
1802 </itemizedlist>
1803
1804 <para>
1805 As you adjust the video and audio recording settings, the
1806 approximate output file size for a five minute video is shown.
1807 </para>
1808
1809 </sect2>
1810
1811 </sect1>
1812
1813 <sect1 id="settings-storage">
1814
1815 <title>Storage Settings</title>
1816
1817 <para>
1818 The <emphasis role="bold">Storage</emphasis> category in the VM
1819 settings enables you to connect virtual hard disk, CD/DVD, and
1820 floppy images and drives to your virtual machine.
1821 </para>
1822
1823 <para>
1824 In a real PC, so-called <emphasis>storage controllers</emphasis>
1825 connect physical disk drives to the rest of the computer.
1826 Similarly, &product-name; presents virtual storage controllers to
1827 a virtual machine. Under each controller, the virtual devices,
1828 such as hard disks, CD/DVD or floppy drives, attached to the
1829 controller are shown.
1830 </para>
1831
1832 <note>
1833 <para>
1834 This section gives a quick introduction to the &product-name;
1835 storage settings. See <xref linkend="storage" /> for a full
1836 description of the available storage settings in &product-name;.
1837 </para>
1838 </note>
1839
1840 <para>
1841 If you have used the <emphasis role="bold">Create VM</emphasis>
1842 wizard to create a machine, you will normally see something like
1843 the following:
1844 </para>
1845
1846 <figure id="fig-storage-settings">
1847 <title>Storage Settings for a Virtual Machine</title>
1848 <mediaobject>
1849 <imageobject>
1850 <imagedata align="center" fileref="images/vm-settings-harddisk.png"
1851 width="10cm" />
1852 </imageobject>
1853 </mediaobject>
1854 </figure>
1855
1856 <para>
1857 Depending on the guest OS type that you selected when you created
1858 the VM, a new VM includes the following storage devices:
1859 </para>
1860
1861 <itemizedlist>
1862
1863 <listitem>
1864 <para>
1865 <emphasis role="bold">IDE controller.</emphasis> A virtual
1866 CD/DVD drive is attached to the secondary master port of the
1867 IDE controller.
1868 </para>
1869 </listitem>
1870
1871 <listitem>
1872 <para>
1873 <emphasis role="bold">SATA controller.</emphasis> This is a
1874 modern type of storage controller for higher hard disk data
1875 throughput, to which the virtual hard disks are attached.
1876 Initially you will normally have one such virtual disk, but as
1877 shown in the previous screenshot, you can have more than one.
1878 Each is represented by a disk image file, such as a VDI file
1879 in this example.
1880 </para>
1881 </listitem>
1882
1883 </itemizedlist>
1884
1885 <para>
1886 If you created your VM with an older version of &product-name;,
1887 the default storage layout may differ. You might then only have an
1888 IDE controller to which both the CD/DVD drive and the hard disks
1889 have been attached. This might also apply if you selected an older
1890 OS type when you created the VM. Since older OSes do not support
1891 SATA without additional drivers, &product-name; will make sure
1892 that no such devices are present initially. See
1893 <xref linkend="harddiskcontrollers" />.
1894 </para>
1895
1896 <para>
1897 &product-name; also provides a <emphasis>floppy
1898 controller</emphasis>. You cannot add devices other than floppy
1899 drives to this controller. Virtual floppy drives, like virtual
1900 CD/DVD drives, can be connected to either a host floppy drive, if
1901 you have one, or a disk image, which in this case must be in RAW
1902 format.
1903 </para>
1904
1905 <para>
1906 You can modify these media attachments freely. For example, if you
1907 wish to copy some files from another virtual disk that you
1908 created, you can connect that disk as a second hard disk, as in
1909 the above screenshot. You could also add a second virtual CD/DVD
1910 drive, or change where these items are attached. The following
1911 options are available:
1912 </para>
1913
1914 <itemizedlist>
1915
1916 <listitem>
1917 <para>
1918 To <emphasis role="bold">add another virtual hard disk, or a
1919 CD/DVD or floppy drive</emphasis>, select the storage
1920 controller to which it should be added (IDE, SATA, SCSI, SAS,
1921 floppy controller) and then click the
1922 <emphasis role="bold">Add Disk</emphasis> button below the
1923 tree. You can then either select <emphasis role="bold">Add
1924 CD/DVD Device</emphasis> or <emphasis role="bold">Add Hard
1925 Disk</emphasis>. If you clicked on a floppy controller, you
1926 can add a floppy drive instead. Alternatively, right-click on
1927 the storage controller and select a menu item there.
1928 </para>
1929
1930 <para>
1931 On the right part of the window, you can then set the
1932 following:
1933 </para>
1934
1935 <orderedlist>
1936
1937 <listitem>
1938 <para>
1939 The <emphasis role="bold">device slot</emphasis> of the
1940 controller that the virtual disk is connected to. IDE
1941 controllers have four slots which have traditionally been
1942 called primary master, primary slave, secondary master,
1943 and secondary slave. By contrast, SATA and SCSI
1944 controllers offer you up to 30 slots for attaching virtual
1945 devices.
1946 </para>
1947 </listitem>
1948
1949 <listitem>
1950 <para>
1951 The <emphasis role="bold">image file</emphasis> to use.
1952 </para>
1953
1954 <itemizedlist>
1955
1956 <listitem>
1957 <para>
1958 For virtual hard disks, a button with a drop-down list
1959 appears on the right, offering you to either select a
1960 <emphasis role="bold">virtual hard disk
1961 file</emphasis> using a standard file dialog or to
1962 <emphasis role="bold">create a new hard
1963 disk</emphasis> (image file). The latter option
1964 displays the <emphasis role="bold">Create New
1965 Disk</emphasis> wizard, described in
1966 <xref linkend="gui-createvm" />.
1967 </para>
1968
1969 <para>
1970 For virtual floppy drives, a dialog enables you to
1971 create and format a new floppy disk image
1972 automatically.
1973 </para>
1974
1975 <para>
1976 For details on the image file types that are
1977 supported, see <xref linkend="vdidetails" />.
1978 </para>
1979 </listitem>
1980
1981 <listitem>
1982 <para>
1983 For virtual CD/DVD drives, the image files will
1984 typically be in the standard ISO format instead. Most
1985 commonly, you will select this option when installing
1986 an OS from an ISO file that you have obtained from the
1987 Internet. For example, most Linux distributions are
1988 available in this way.
1989 </para>
1990
1991 <para>
1992 For virtual CD/DVD drives, the following additional
1993 options are available:
1994 </para>
1995
1996 <itemizedlist>
1997
1998 <listitem>
1999 <para>
2000 If you select <emphasis role="bold">Host
2001 Drive</emphasis> from the list, then the physical
2002 device of the host computer is connected to the
2003 VM, so that the guest OS can read from and write
2004 to your physical device. This is, for instance,
2005 useful if you want to install Windows from a real
2006 installation CD. In this case, select your host
2007 drive from the drop-down list presented.
2008 </para>
2009
2010 <para>
2011 If you want to write, or burn, CDs or DVDs using
2012 the host drive, you need to also enable the
2013 <emphasis role="bold">Passthrough</emphasis>
2014 option. See <xref linkend="storage-cds" />.
2015 </para>
2016 </listitem>
2017
2018 <listitem>
2019 <para>
2020 If you select <emphasis role="bold">Remove Disk
2021 from Virtual Drive</emphasis>, &product-name; will
2022 present an empty CD/DVD drive to the guest into
2023 which no media has been inserted.
2024 </para>
2025 </listitem>
2026
2027 </itemizedlist>
2028 </listitem>
2029
2030 </itemizedlist>
2031 </listitem>
2032
2033 </orderedlist>
2034 </listitem>
2035
2036 <listitem>
2037 <para>
2038 To <emphasis role="bold">remove an attachment</emphasis>,
2039 either select it and click on the
2040 <emphasis role="bold">Remove</emphasis> icon at the bottom, or
2041 right-click on it and select the menu item.
2042 </para>
2043 </listitem>
2044
2045 </itemizedlist>
2046
2047 <para>
2048 Removable media, such as CD/DVDs and floppies, can be changed
2049 while the guest is running. Since the
2050 <emphasis role="bold">Settings</emphasis> dialog is not available
2051 at that time, you can also access these settings from the
2052 <emphasis role="bold">Devices</emphasis> menu of your virtual
2053 machine window.
2054 </para>
2055
2056 </sect1>
2057
2058 <sect1 id="settings-audio">
2059
2060 <title>Audio Settings</title>
2061
2062 <para>
2063 The <emphasis role="bold">Audio</emphasis> section in a virtual
2064 machine's <emphasis role="bold">Settings</emphasis> window
2065 determines whether the VM will detect a connected sound card, and
2066 if the audio output should be played on the host system.
2067 </para>
2068
2069 <para>
2070 To enable audio for a guest, select the
2071 <emphasis role="bold">Enable Audio</emphasis> check box. The
2072 following settings are available:
2073 </para>
2074
2075 <itemizedlist>
2076
2077 <listitem>
2078 <para>
2079 <emphasis role="bold">Host Audio Driver:</emphasis> The audio
2080 driver that &product-name; uses on the host. On a Linux host,
2081 depending on your host configuration, you can select between
2082 the OSS, ALSA, or the PulseAudio subsystem. On newer Linux
2083 distributions, the PulseAudio subsystem is preferred.
2084 </para>
2085
2086 <para>
2087 Only OSS is supported on Oracle Solaris hosts. The Oracle
2088 Solaris Audio audio backend is no longer supported on Oracle
2089 Solaris hosts.
2090 </para>
2091 </listitem>
2092
2093 <listitem>
2094 <para>
2095 <emphasis role="bold">Audio Controller:</emphasis> You can
2096 choose between the emulation of an Intel AC'97 controller, an
2097 Intel HD Audio controller, or a SoundBlaster 16 card.
2098 </para>
2099 </listitem>
2100
2101 <listitem>
2102 <para>
2103 <emphasis role="bold">Enable Audio Output:</emphasis> Enables
2104 audio output only for the VM.
2105 </para>
2106 </listitem>
2107
2108 <listitem>
2109 <para>
2110 <emphasis role="bold">Enable Audio Input:</emphasis> Enables
2111 audio input only for the VM.
2112 </para>
2113 </listitem>
2114
2115 </itemizedlist>
2116
2117 </sect1>
2118
2119 <sect1 id="settings-network">
2120
2121 <title>Network Settings</title>
2122
2123 <para>
2124 The <emphasis role="bold">Network</emphasis> section in a virtual
2125 machine's <emphasis role="bold">Settings</emphasis> window enables
2126 you to configure how &product-name; presents virtual network cards
2127 to your VM, and how they operate.
2128 </para>
2129
2130 <para>
2131 When you first create a virtual machine, &product-name; by default
2132 enables one virtual network card and selects the Network Address
2133 Translation (NAT) mode for it. This way the guest can connect to
2134 the outside world using the host's networking and the outside
2135 world can connect to services on the guest which you choose to
2136 make visible outside of the virtual machine.
2137 </para>
2138
2139 <para>
2140 This default setup is good for the majority of &product-name;
2141 users. However, &product-name; is extremely flexible in how it can
2142 virtualize networking. It supports many virtual network cards per
2143 virtual machine. The first four virtual network cards can be
2144 configured in detail in the VirtualBox Manager window. Additional
2145 network cards can be configured using the
2146 <command>VBoxManage</command> command.
2147 </para>
2148
2149 <para>
2150 Many networking options are available. See
2151 <xref linkend="networkingdetails" /> for more information.
2152 </para>
2153
2154 </sect1>
2155
2156 <sect1 id="serialports">
2157
2158 <title>Serial Ports</title>
2159
2160 <para>
2161 &product-name; supports the use of virtual serial ports in a
2162 virtual machine.
2163 </para>
2164
2165 <para>
2166 Ever since the original IBM PC, personal computers have been
2167 equipped with one or two serial ports, also called COM ports by
2168 DOS and Windows. Serial ports were commonly used with modems, and
2169 some computer mice used to be connected to serial ports before USB
2170 became commonplace.
2171 </para>
2172
2173 <para>
2174 While serial ports are no longer as common as they used to be,
2175 there are still some important uses left for them. For example,
2176 serial ports can be used to set up a primitive network over a
2177 null-modem cable, in case Ethernet is not available. Also, serial
2178 ports are indispensable for system programmers needing to do
2179 kernel debugging, since kernel debugging software usually
2180 interacts with developers over a serial port. With virtual serial
2181 ports, system programmers can do kernel debugging on a virtual
2182 machine instead of needing a real computer to connect to.
2183 </para>
2184
2185 <para>
2186 If a virtual serial port is enabled, the guest OS sees a standard
2187 16550A compatible UART device. Other UART types can be configured
2188 using the <command>VBoxManage modifyvm</command> command. Both
2189 receiving and transmitting data is supported. How this virtual
2190 serial port is then connected to the host is configurable, and the
2191 details depend on your host OS.
2192 </para>
2193
2194 <para>
2195 You can use either the Settings tabs or the
2196 <command>VBoxManage</command> command to set up virtual serial
2197 ports. For the latter, see <xref linkend="vboxmanage-modifyvm" />
2198 for information on the <computeroutput>--uart</computeroutput>,
2199 <computeroutput>--uartmode</computeroutput> and
2200 <computeroutput>--uarttype</computeroutput> options.
2201 </para>
2202
2203 <para>
2204 You can configure up to four virtual serial ports per virtual
2205 machine. For each device, you must set the following:
2206 </para>
2207
2208 <orderedlist>
2209
2210 <listitem>
2211 <para>
2212 <emphasis role="bold">Port Number:</emphasis> This determines
2213 the serial port that the virtual machine should see. For best
2214 results, use the traditional values as follows:
2215 </para>
2216
2217 <itemizedlist>
2218
2219 <listitem>
2220 <para>
2221 COM1: I/O base 0x3F8, IRQ 4
2222 </para>
2223 </listitem>
2224
2225 <listitem>
2226 <para>
2227 COM2: I/O base 0x2F8, IRQ 3
2228 </para>
2229 </listitem>
2230
2231 <listitem>
2232 <para>
2233 COM3: I/O base 0x3E8, IRQ 4
2234 </para>
2235 </listitem>
2236
2237 <listitem>
2238 <para>
2239 COM4: I/O base 0x2E8, IRQ 3
2240 </para>
2241 </listitem>
2242
2243 </itemizedlist>
2244
2245 <para>
2246 You can also configure a user-defined serial port. Enter an
2247 I/O base address and interrupt (IRQ).
2248 </para>
2249
2250 <para>
2251 See also
2252 <ulink
2253 url="http://en.wikipedia.org/wiki/COM_(hardware_interface)">http://en.wikipedia.org/wiki/COM_(hardware_interface)</ulink>.
2254 </para>
2255 </listitem>
2256
2257 <listitem>
2258 <para>
2259 <emphasis role="bold">Port Mode:</emphasis> What the virtual
2260 port is connected to. For each virtual serial port, you have
2261 the following options:
2262 </para>
2263
2264 <itemizedlist>
2265
2266 <listitem>
2267 <para>
2268 <emphasis role="bold">Disconnected:</emphasis> The guest
2269 will see the device, but it will behave as if no cable had
2270 been connected to it.
2271 </para>
2272 </listitem>
2273
2274 <listitem>
2275 <para>
2276 <emphasis role="bold">Host Device:</emphasis> Connects the
2277 virtual serial port to a physical serial port on your
2278 host. On a Windows host, this will be a name like
2279 <computeroutput>COM1</computeroutput>. On Linux or Oracle
2280 Solaris hosts, it will be a device node like
2281 <computeroutput>/dev/ttyS0</computeroutput>.
2282 &product-name; will then simply redirect all data received
2283 from and sent to the virtual serial port to the physical
2284 device.
2285 </para>
2286 </listitem>
2287
2288 <listitem>
2289 <para>
2290 <emphasis role="bold">Host Pipe:</emphasis> Configure
2291 &product-name; to connect the virtual serial port to a
2292 software pipe on the host. This depends on your host OS,
2293 as follows:
2294 </para>
2295
2296 <itemizedlist>
2297
2298 <listitem>
2299 <para>
2300 On a Windows host, data will be sent and received
2301 through a named pipe. The pipe name must be in the
2302 format
2303 <computeroutput>\\.\pipe\&lt;name&gt;</computeroutput>
2304 where <computeroutput>&lt;name&gt;</computeroutput>
2305 should identify the virtual machine but may be freely
2306 chosen.
2307 </para>
2308 </listitem>
2309
2310 <listitem>
2311 <para>
2312 On a Mac, Linux, or Oracle Solaris host, a local
2313 domain socket is used instead. The socket filename
2314 must be chosen such that the user running
2315 &product-name; has sufficient privileges to create and
2316 write to it. The <computeroutput>/tmp</computeroutput>
2317 directory is often a good candidate.
2318 </para>
2319
2320 <para>
2321 On Linux there are various tools which can connect to
2322 a local domain socket or create one in server mode.
2323 The most flexible tool is
2324 <computeroutput>socat</computeroutput> and is
2325 available as part of many distributions.
2326 </para>
2327 </listitem>
2328
2329 </itemizedlist>
2330
2331 <para>
2332 In this case, you can configure whether &product-name;
2333 should create the named pipe, or the local domain socket
2334 non-Windows hosts, itself or whether &product-name; should
2335 assume that the pipe or socket exists already. With the
2336 <command>VBoxManage</command> command-line options, this
2337 is referred to as server mode or client mode,
2338 respectively.
2339 </para>
2340
2341 <para>
2342 For a direct connection between two virtual machines,
2343 corresponding to a null-modem cable, simply configure one
2344 VM to create a pipe or socket and another to attach to it.
2345 </para>
2346 </listitem>
2347
2348 <listitem>
2349 <para>
2350 <emphasis role="bold">Raw File:</emphasis> Send the
2351 virtual serial port output to a file. This option is very
2352 useful for capturing diagnostic output from a guest. Any
2353 file may be used for this purpose, as long as the user
2354 running &product-name; has sufficient privileges to create
2355 and write to the file.
2356 </para>
2357 </listitem>
2358
2359 <listitem>
2360 <para>
2361 <emphasis role="bold">TCP Socket:</emphasis> Useful for
2362 forwarding serial traffic over TCP/IP, acting as a server,
2363 or it can act as a TCP client connecting to other servers.
2364 This option enables a remote machine to directly connect
2365 to the guest's serial port using TCP.
2366 </para>
2367
2368 <itemizedlist>
2369
2370 <listitem>
2371 <para>
2372 <emphasis role="bold">TCP Server:</emphasis> Deselect
2373 the <emphasis role="bold">Connect to Existing
2374 Pipe/Socket</emphasis> check box and specify the port
2375 number in the
2376 <emphasis role="bold">Path/Address</emphasis> field.
2377 This is typically 23 or 2023. Note that on UNIX-like
2378 systems you will have to use a port a number greater
2379 than 1024 for regular users.
2380 </para>
2381
2382 <para>
2383 The client can use software such as
2384 <command>PuTTY</command> or the
2385 <command>telnet</command> command line tool to access
2386 the TCP Server.
2387 </para>
2388 </listitem>
2389
2390 <listitem>
2391 <para>
2392 <emphasis role="bold">TCP Client:</emphasis> To create
2393 a virtual null-modem cable over the Internet or LAN,
2394 the other side can connect using TCP by specifying
2395 <computeroutput>hostname:port</computeroutput> in the
2396 <emphasis role="bold">Path/Address</emphasis> field.
2397 The TCP socket will act in client mode if you select
2398 the <emphasis role="bold">Connect to Existing
2399 Pipe/Socket</emphasis> check box.
2400 </para>
2401 </listitem>
2402
2403 </itemizedlist>
2404 </listitem>
2405
2406 </itemizedlist>
2407 </listitem>
2408
2409 </orderedlist>
2410
2411 <para>
2412 Up to four serial ports can be configured per virtual machine, but
2413 you can pick any port numbers out of the above. However, serial
2414 ports cannot reliably share interrupts. If both ports are to be
2415 used at the same time, they must use different interrupt levels,
2416 for example COM1 and COM2, but not COM1 and COM3.
2417 </para>
2418
2419 </sect1>
2420
2421 <sect1 id="usb-support">
2422
2423 <title>USB Support</title>
2424
2425 <sect2 id="settings-usb">
2426
2427 <title>USB Settings</title>
2428
2429 <para>
2430 The <emphasis role="bold">USB</emphasis> section in a virtual
2431 machine's <emphasis role="bold">Settings</emphasis> window
2432 enables you to configure &product-name;'s sophisticated USB
2433 support.
2434 </para>
2435
2436 <para>
2437 &product-name; can enable virtual machines to access the USB
2438 devices on your host directly. To achieve this, &product-name;
2439 presents the guest OS with a virtual USB controller. As soon as
2440 the guest system starts using a USB device, it will appear as
2441 unavailable on the host.
2442 </para>
2443
2444 <note>
2445 <itemizedlist>
2446
2447 <listitem>
2448 <para>
2449 Be careful with USB devices that are currently in use on
2450 the host. For example, if you allow your guest to connect
2451 to your USB hard disk that is currently mounted on the
2452 host, when the guest is activated, it will be disconnected
2453 from the host without a proper shutdown. This may cause
2454 data loss.
2455 </para>
2456 </listitem>
2457
2458 <listitem>
2459 <para>
2460 Oracle Solaris hosts have a few known limitations
2461 regarding USB support. See <xref linkend="KnownIssues" />.
2462 </para>
2463 </listitem>
2464
2465 </itemizedlist>
2466 </note>
2467
2468 <para>
2469 In addition to allowing a guest access to your local USB
2470 devices, &product-name; even enables your guests to connect to
2471 remote USB devices by use of the VirtualBox Remote Desktop
2472 Extension (VRDE). See <xref linkend="usb-over-rdp" />.
2473 </para>
2474
2475 <para>
2476 To enable USB for a VM, select the <emphasis role="bold">Enable
2477 USB Controller</emphasis> check box. The following settings are
2478 available:
2479 </para>
2480
2481 <itemizedlist>
2482
2483 <listitem>
2484 <para>
2485 <emphasis role="bold">USB Controller:</emphasis> Selects a
2486 controller with the specified level of USB support, as
2487 follows:
2488 </para>
2489
2490 <itemizedlist>
2491
2492 <listitem>
2493 <para>
2494 OHCI for USB 1.1
2495 </para>
2496 </listitem>
2497
2498 <listitem>
2499 <para>
2500 EHCI for USB 2.0. This also enables OHCI.
2501 </para>
2502 </listitem>
2503
2504 <listitem>
2505 <para>
2506 xHCI for USB 3.0. This supports all USB speeds.
2507 </para>
2508 </listitem>
2509
2510 </itemizedlist>
2511
2512 <note>
2513 <para>
2514 The xHCI and EHCI controllers are shipped as an
2515 &product-name; extension package, which must be installed
2516 separately. See <xref linkend="intro-installing" />.
2517 </para>
2518 </note>
2519 </listitem>
2520
2521 <listitem>
2522 <para>
2523 <emphasis role="bold">USB Device Filters:</emphasis> When
2524 USB support is enabled for a VM, you can determine in detail
2525 which devices will be automatically attached to the guest.
2526 For this, you can create filters by specifying certain
2527 properties of the USB device. USB devices with a matching
2528 filter will be automatically passed to the guest once they
2529 are attached to the host. USB devices without a matching
2530 filter can be passed manually to the guest, for example by
2531 using the <emphasis role="bold">Devices</emphasis>,
2532 <emphasis role="bold">USB</emphasis> menu.
2533 </para>
2534
2535 <para>
2536 Clicking on the <emphasis role="bold">+</emphasis> button to
2537 the right of the <emphasis role="bold">USB Device
2538 Filters</emphasis> window creates a new filter. You can give
2539 the filter a name, for later reference, and specify the
2540 filter criteria. The more criteria you specify, the more
2541 precisely devices will be selected. For instance, if you
2542 specify only a vendor ID of 046d, all devices produced by
2543 Logitech will be available to the guest. If you fill in all
2544 fields, on the other hand, the filter will only apply to a
2545 particular device model from a particular vendor, and not
2546 even to other devices of the same type with a different
2547 revision and serial number.
2548 </para>
2549
2550 <para>
2551 In detail, the following criteria are available:
2552 </para>
2553
2554 <itemizedlist>
2555
2556 <listitem>
2557 <para>
2558 <emphasis role="bold">Vendor and Product ID.</emphasis>
2559 With USB, each vendor of USB products carries an
2560 identification number that is unique world-wide, called
2561 the <emphasis>vendor ID</emphasis>. Similarly, each line
2562 of products is assigned a <emphasis>product
2563 ID</emphasis> number. Both numbers are commonly written
2564 in hexadecimal, and a colon separates the vendor from
2565 the product ID. For example,
2566 <computeroutput>046d:c016</computeroutput> stands for
2567 Logitech as a vendor, and the M-UV69a Optical Wheel
2568 Mouse product.
2569 </para>
2570
2571 <para>
2572 Alternatively, you can also specify
2573 <emphasis role="bold">Manufacturer</emphasis> and
2574 <emphasis role="bold">Product</emphasis> by name.
2575 </para>
2576
2577 <para>
2578 To list all the USB devices that are connected to your
2579 host machine with their respective vendor IDs and
2580 product IDs, use the following command:
2581 </para>
2582
2583<screen>VBoxManage list usbhost</screen>
2584
2585 <para>
2586 On Windows, you can also see all USB devices that are
2587 attached to your system in the Device Manager. On Linux,
2588 you can use the <command>lsusb</command> command.
2589 </para>
2590 </listitem>
2591
2592 <listitem>
2593 <para>
2594 <emphasis role="bold">Serial Number.</emphasis> While
2595 vendor ID and product ID are quite specific to identify
2596 USB devices, if you have two identical devices of the
2597 same brand and product line, you will also need their
2598 serial numbers to filter them out correctly.
2599 </para>
2600 </listitem>
2601
2602 <listitem>
2603 <para>
2604 <emphasis role="bold">Remote.</emphasis> This setting
2605 specifies whether the device will be local only, remote
2606 only, such as over VRDP, or either.
2607 </para>
2608 </listitem>
2609
2610 </itemizedlist>
2611
2612 <para>
2613 On a Windows host, you will need to unplug and reconnect a
2614 USB device to use it after creating a filter for it.
2615 </para>
2616
2617 <para>
2618 As an example, you could create a new USB filter and specify
2619 a vendor ID of 046d for Logitech, Inc, a manufacturer index
2620 of 1, and "not remote". Then any USB devices on the host
2621 system produced by Logitech, Inc with a manufacturer index
2622 of 1 will be visible to the guest system.
2623 </para>
2624
2625 <para>
2626 Several filters can select a single device. For example, a
2627 filter which selects all Logitech devices, and one which
2628 selects a particular webcam.
2629 </para>
2630
2631 <para>
2632 You can deactivate filters without deleting them by
2633 deselecting the check box next to the filter name.
2634 </para>
2635 </listitem>
2636
2637 </itemizedlist>
2638
2639 </sect2>
2640
2641 <sect2 id="usb-implementation-notes">
2642
2643 <title>Implementation Notes for Windows and Linux Hosts</title>
2644
2645 <para>
2646 On Windows hosts, a kernel mode device driver provides USB proxy
2647 support. It implements both a USB monitor, which enables
2648 &product-name; to capture devices when they are plugged in, and
2649 a USB device driver to claim USB devices for a particular
2650 virtual machine. As opposed to &product-name; versions before
2651 1.4.0, system reboots are no longer necessary after installing
2652 the driver. Also, you no longer need to replug devices for
2653 &product-name; to claim them.
2654 </para>
2655
2656 <para>
2657 On newer Linux hosts, &product-name; accesses USB devices
2658 through special files in the file system. When &product-name; is
2659 installed, these are made available to all users in the
2660 <computeroutput>vboxusers</computeroutput> system group. In
2661 order to be able to access USB from guest systems, make sure
2662 that you are a member of this group.
2663 </para>
2664
2665 <para>
2666 On older Linux hosts, USB devices are accessed using the
2667 <computeroutput>usbfs</computeroutput> file system. Therefore,
2668 the user executing &product-name; needs read and write
2669 permission to the USB file system. Most distributions provide a
2670 group, such as <computeroutput>usbusers</computeroutput>, which
2671 the &product-name; user needs to be added to. Also,
2672 &product-name; can only proxy to virtual machines USB devices
2673 which are not claimed by a Linux host USB driver. The
2674 <computeroutput>Driver=</computeroutput> entry in
2675 <computeroutput>/proc/bus/usb/devices</computeroutput> will show
2676 you which devices are currently claimed. See also
2677 <xref
2678 linkend="ts_usb-linux" /> for details about
2679 <computeroutput>usbfs</computeroutput>.
2680 </para>
2681
2682 </sect2>
2683
2684 </sect1>
2685
2686 <sect1 id="shared-folders">
2687
2688 <title>Shared Folders</title>
2689
2690 <para>
2691 Shared folders enable you to easily exchange data between a
2692 virtual machine and your host. This feature requires that the
2693 &product-name; Guest Additions be installed in a virtual machine
2694 and is described in detail in <xref linkend="sharedfolders" />.
2695 </para>
2696
2697 </sect1>
2698
2699 <sect1 id="user-interface">
2700
2701 <title>User Interface</title>
2702
2703 <para>
2704 The <emphasis role="bold">User Interface</emphasis> section
2705 enables you to change certain aspects of the user interface of
2706 this VM.
2707 </para>
2708
2709 <itemizedlist>
2710
2711 <listitem>
2712 <para>
2713 <emphasis role="bold">Menu Bar:</emphasis> This widget enables
2714 you to disable menus by clicking on the menu to release it,
2715 menu entries by deselecting the check box of the entry to
2716 disable it and the complete menu bar by deselecting the
2717 rightmost check box.
2718 </para>
2719 </listitem>
2720
2721 <listitem>
2722 <para>
2723 <emphasis role="bold">Mini ToolBar:</emphasis> In full screen
2724 or seamless mode, &product-name; can display a small toolbar
2725 that contains some of the items that are normally available
2726 from the virtual machine's menu bar. This toolbar reduces
2727 itself to a small gray line unless you move the mouse over it.
2728 With the toolbar, you can return from full screen or seamless
2729 mode, control machine execution or enable certain devices. If
2730 you do not want to see the toolbar, disable this setting.
2731 </para>
2732
2733 <para>
2734 The second setting enables you to show the toolbar at the top
2735 of the screen, instead of showing it at the bottom.
2736 </para>
2737 </listitem>
2738
2739 <listitem>
2740 <para>
2741 <emphasis role="bold">Status Bar:</emphasis> This widget
2742 enables you to disable icons on the status bar by deselecting
2743 the check box of an icon to disable it, to rearrange icons by
2744 dragging and dropping the icon, and to disable the complete
2745 status bar by deselecting the leftmost check box.
2746 </para>
2747 </listitem>
2748
2749 </itemizedlist>
2750
2751 </sect1>
2752
2753 <sect1 id="efi">
2754
2755 <title>Alternative Firmware (EFI)</title>
2756
2757 <para>
2758 &product-name; includes experimental support for the Extensible
2759 Firmware Interface (EFI), which is a new industry standard
2760 intended to eventually replace the legacy BIOS as the primary
2761 interface for bootstrapping computers and certain system services
2762 later.
2763 </para>
2764
2765 <para>
2766 By default, &product-name; uses the BIOS firmware for virtual
2767 machines. To use EFI for a given virtual machine, you can enable
2768 EFI in the machine's <emphasis role="bold">Settings</emphasis>
2769 dialog. See <xref linkend="settings-motherboard"/>. Alternatively,
2770 use the <command>VBoxManage</command> command line interface as
2771 follows:
2772 </para>
2773
2774<screen>VBoxManage modifyvm "VM name" --firmware efi</screen>
2775
2776 <para>
2777 To switch back to using the BIOS:
2778 </para>
2779
2780<screen>VBoxManage modifyvm "VM name" --firmware bios</screen>
2781
2782 <para>
2783 One notable user of EFI is Apple Mac OS X. More recent Linux
2784 versions and Windows releases, starting with Vista, also offer
2785 special versions that can be booted using EFI.
2786 </para>
2787
2788 <para>
2789 Another possible use of EFI in &product-name; is development and
2790 testing of EFI applications, without booting any OS.
2791 </para>
2792
2793 <para>
2794 Note that the &product-name; EFI support is experimental and will
2795 be enhanced as EFI matures and becomes more widespread. Mac OS X,
2796 Linux, and newer Windows guests are known to work fine. Windows 7
2797 guests are unable to boot with the &product-name; EFI
2798 implementation.
2799 </para>
2800
2801 <sect2 id="efividmode">
2802
2803 <title>Video Modes in EFI</title>
2804
2805 <para>
2806 EFI provides two distinct video interfaces: GOP (Graphics Output
2807 Protocol) and UGA (Universal Graphics Adapter). Modern OSes,
2808 such as Mac OS X, generally use GOP, while some older ones still
2809 use UGA. &product-name; provides a configuration option to
2810 control the graphics resolution for both interfaces, making the
2811 difference mostly irrelevant for users.
2812 </para>
2813
2814 <para>
2815 The default resolution is 1024x768. To select a graphics
2816 resolution for EFI, use the following
2817 <command>VBoxManage</command> command:
2818 </para>
2819
2820<screen>VBoxManage setextradata "VM name" VBoxInternal2/EfiGraphicsResolution HxV</screen>
2821
2822 <para>
2823 Determine the horizontal resolution H and the vertical
2824 resolution V from the following list of default resolutions:
2825 </para>
2826
2827 <variablelist>
2828
2829 <varlistentry>
2830 <term>
2831 VGA
2832 </term>
2833
2834 <listitem>
2835 <para>
2836 640x480, 32bpp, 4:3
2837 </para>
2838 </listitem>
2839 </varlistentry>
2840
2841 <varlistentry>
2842 <term>
2843 SVGA
2844 </term>
2845
2846 <listitem>
2847 <para>
2848 800x600, 32bpp, 4:3
2849 </para>
2850 </listitem>
2851 </varlistentry>
2852
2853 <varlistentry>
2854 <term>
2855 XGA
2856 </term>
2857
2858 <listitem>
2859 <para>
2860 1024x768, 32bpp, 4:3
2861 </para>
2862 </listitem>
2863 </varlistentry>
2864
2865 <varlistentry>
2866 <term>
2867 XGA+
2868 </term>
2869
2870 <listitem>
2871 <para>
2872 1152x864, 32bpp, 4:3
2873 </para>
2874 </listitem>
2875 </varlistentry>
2876
2877 <varlistentry>
2878 <term>
2879 HD
2880 </term>
2881
2882 <listitem>
2883 <para>
2884 1280x720, 32bpp, 16:9
2885 </para>
2886 </listitem>
2887 </varlistentry>
2888
2889 <varlistentry>
2890 <term>
2891 WXGA
2892 </term>
2893
2894 <listitem>
2895 <para>
2896 1280x800, 32bpp, 16:10
2897 </para>
2898 </listitem>
2899 </varlistentry>
2900
2901 <varlistentry>
2902 <term>
2903 SXGA
2904 </term>
2905
2906 <listitem>
2907 <para>
2908 1280x1024, 32bpp, 5:4
2909 </para>
2910 </listitem>
2911 </varlistentry>
2912
2913 <varlistentry>
2914 <term>
2915 SXGA+
2916 </term>
2917
2918 <listitem>
2919 <para>
2920 1400x1050, 32bpp, 4:3
2921 </para>
2922 </listitem>
2923 </varlistentry>
2924
2925 <varlistentry>
2926 <term>
2927 WXGA+
2928 </term>
2929
2930 <listitem>
2931 <para>
2932 1440x900, 32bpp, 16:10
2933 </para>
2934 </listitem>
2935 </varlistentry>
2936
2937 <varlistentry>
2938 <term>
2939 HD+
2940 </term>
2941
2942 <listitem>
2943 <para>
2944 1600x900, 32bpp, 16:9
2945 </para>
2946 </listitem>
2947 </varlistentry>
2948
2949 <varlistentry>
2950 <term>
2951 UXGA
2952 </term>
2953
2954 <listitem>
2955 <para>
2956 1600x1200, 32bpp, 4:3
2957 </para>
2958 </listitem>
2959 </varlistentry>
2960
2961 <varlistentry>
2962 <term>
2963 WSXGA+
2964 </term>
2965
2966 <listitem>
2967 <para>
2968 1680x1050, 32bpp, 16:10
2969 </para>
2970 </listitem>
2971 </varlistentry>
2972
2973 <varlistentry>
2974 <term>
2975 Full HD
2976 </term>
2977
2978 <listitem>
2979 <para>
2980 1920x1080, 32bpp, 16:9
2981 </para>
2982 </listitem>
2983 </varlistentry>
2984
2985 <varlistentry>
2986 <term>
2987 WUXGA
2988 </term>
2989
2990 <listitem>
2991 <para>
2992 1920x1200, 32bpp, 16:10
2993 </para>
2994 </listitem>
2995 </varlistentry>
2996
2997 <varlistentry>
2998 <term>
2999 DCI 2K
3000 </term>
3001
3002 <listitem>
3003 <para>
3004 2048x1080, 32bpp, 19:10
3005 </para>
3006 </listitem>
3007 </varlistentry>
3008
3009 <varlistentry>
3010 <term>
3011 Full HD+
3012 </term>
3013
3014 <listitem>
3015 <para>
3016 2160x1440, 32bpp, 3:2
3017 </para>
3018 </listitem>
3019 </varlistentry>
3020
3021 <varlistentry>
3022 <term>
3023 Unnamed
3024 </term>
3025
3026 <listitem>
3027 <para>
3028 2304x1440, 32bpp, 16:10
3029 </para>
3030 </listitem>
3031 </varlistentry>
3032
3033 <varlistentry>
3034 <term>
3035 QHD
3036 </term>
3037
3038 <listitem>
3039 <para>
3040 2560x1440, 32bpp, 16:9
3041 </para>
3042 </listitem>
3043 </varlistentry>
3044
3045 <varlistentry>
3046 <term>
3047 WQXGA
3048 </term>
3049
3050 <listitem>
3051 <para>
3052 2560x1600, 32bpp, 16:10
3053 </para>
3054 </listitem>
3055 </varlistentry>
3056
3057 <varlistentry>
3058 <term>
3059 QWXGA+
3060 </term>
3061
3062 <listitem>
3063 <para>
3064 2880x1800, 32bpp, 16:10
3065 </para>
3066 </listitem>
3067 </varlistentry>
3068
3069 <varlistentry>
3070 <term>
3071 QHD+
3072 </term>
3073
3074 <listitem>
3075 <para>
3076 3200x1800, 32bpp, 16:9
3077 </para>
3078 </listitem>
3079 </varlistentry>
3080
3081 <varlistentry>
3082 <term>
3083 WQSXGA
3084 </term>
3085
3086 <listitem>
3087 <para>
3088 3200x2048, 32bpp, 16:10
3089 </para>
3090 </listitem>
3091 </varlistentry>
3092
3093 <varlistentry>
3094 <term>
3095 4K UHD
3096 </term>
3097
3098 <listitem>
3099 <para>
3100 3840x2160, 32bpp, 16:9
3101 </para>
3102 </listitem>
3103 </varlistentry>
3104
3105 <varlistentry>
3106 <term>
3107 WQUXGA
3108 </term>
3109
3110 <listitem>
3111 <para>
3112 3840x2400, 32bpp, 16:10
3113 </para>
3114 </listitem>
3115 </varlistentry>
3116
3117 <varlistentry>
3118 <term>
3119 DCI 4K
3120 </term>
3121
3122 <listitem>
3123 <para>
3124 4096x2160, 32bpp, 19:10
3125 </para>
3126 </listitem>
3127 </varlistentry>
3128
3129 <varlistentry>
3130 <term>
3131 HXGA
3132 </term>
3133
3134 <listitem>
3135 <para>
3136 4096x3072, 32bpp, 4:3
3137 </para>
3138 </listitem>
3139 </varlistentry>
3140
3141 <varlistentry>
3142 <term>
3143 UHD+
3144 </term>
3145
3146 <listitem>
3147 <para>
3148 5120x2880, 32bpp, 16:9
3149 </para>
3150 </listitem>
3151 </varlistentry>
3152
3153 <varlistentry>
3154 <term>
3155 WHXGA
3156 </term>
3157
3158 <listitem>
3159 <para>
3160 5120x3200, 32bpp, 16:10
3161 </para>
3162 </listitem>
3163 </varlistentry>
3164
3165 <varlistentry>
3166 <term>
3167 WHSXGA
3168 </term>
3169
3170 <listitem>
3171 <para>
3172 6400x4096, 32bpp, 16:10
3173 </para>
3174 </listitem>
3175 </varlistentry>
3176
3177 <varlistentry>
3178 <term>
3179 HUXGA
3180 </term>
3181
3182 <listitem>
3183 <para>
3184 6400x4800, 32bpp, 4:3
3185 </para>
3186 </listitem>
3187 </varlistentry>
3188
3189 <varlistentry>
3190 <term>
3191 8K UHD2
3192 </term>
3193
3194 <listitem>
3195 <para>
3196 7680x4320, 32bpp, 16:9
3197 </para>
3198 </listitem>
3199 </varlistentry>
3200
3201 </variablelist>
3202
3203 <para>
3204 If this list of default resolution does not cover your needs,
3205 see <xref linkend="customvesa" />. Note that the color depth
3206 value specified in a custom video mode must be specified. Color
3207 depths of 8, 16, 24, and 32 are accepted. EFI assumes a color
3208 depth of 32 by default.
3209 </para>
3210
3211 <para>
3212 The EFI default video resolution settings can only be changed
3213 when the VM is powered off.
3214 </para>
3215
3216 </sect2>
3217
3218 <sect2 id="efibootargs">
3219
3220 <title>Specifying Boot Arguments</title>
3221
3222 <para>
3223 It is currently not possible to manipulate EFI variables from
3224 within a running guest. For example, setting the "boot-args"
3225 variable by running the <computeroutput>nvram</computeroutput>
3226 tool in a Mac OS X guest will not work. As an alternative way,
3227 "VBoxInternal2/EfiBootArgs" extradata can be passed to a VM in
3228 order to set the "boot-args" variable. To change the "boot-args"
3229 EFI variable, use the following command:
3230 </para>
3231
3232<screen>VBoxManage setextradata "VM name" VBoxInternal2/EfiBootArgs &lt;value&gt;</screen>
3233
3234 </sect2>
3235
3236 </sect1>
3237
3238</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