VirtualBox

source: vbox/trunk/doc/manual/en_US/dita/topics/harddiskcontrollers.dita@ 105176

Last change on this file since 105176 was 105176, checked in by vboxsync, 10 months ago

Docs: bugref:10705. Merging some more changes from docs team's dita topic files. not complete.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 13.6 KB
Line 
1<?xml version='1.0' encoding='UTF-8'?>
2<!DOCTYPE topic PUBLIC "-//OASIS//DTD DITA Topic//EN" "topic.dtd">
3<topic xml:lang="en-us" id="harddiskcontrollers">
4 <title>Hard Disk Controllers</title>
5
6 <body>
7 <p>
8 In a computing device, hard disks and CD/DVD drives are connected
9 to a device called a hard disk controller, which drives hard disk
10 operation and data transfers. <ph conkeyref="vbox-conkeyref-phrases/product-name"/> can emulate the most
11 common types of hard disk controllers typically found in computing
12 devices: IDE, SATA (AHCI), SCSI, SAS, USB-based, NVMe and
13 virtio-scsi mass storage devices.
14 </p>
15 <ul>
16 <li>
17 <p><b outputclass="bold">IDE (ATA)</b> controllers are a backward-compatible yet very
18 advanced extension of the disk controller in the IBM PC/AT (1984). Initially, this
19 interface worked only with hard disks, but was later extended to also support CD-ROM
20 drives and other types of removable media. In physical PCs, this standard uses flat ribbon
21 parallel cables with 40 or 80 wires. Each such cable can connect two devices, called
22 device 0 and device 1, to a controller. Typical PCs had two connectors for such cables. As
23 a result, support for up to four IDE devices was most common: primary device 0, primary
24 device 1, secondary device 0, and secondary device 1. </p>
25 <p>
26 In <ph conkeyref="vbox-conkeyref-phrases/product-name"/>, each virtual machine may have one IDE
27 controller enabled, which gives you up to four virtual storage
28 devices that you can attach to the machine. By default, one of
29 these virtual storage devices, device 0 on the secondary
30 channel, is preconfigured to be the virtual machine's virtual
31 CD/DVD drive. However, you can change the default setting.
32 </p>
33 <p>
34 Even if your guest OS has no support for SCSI or SATA devices,
35 it should always be able to see an IDE controller.
36 </p>
37 <p>
38 You can also select which exact type of IDE controller
39 hardware <ph conkeyref="vbox-conkeyref-phrases/product-name"/> should present to the virtual machine:
40 PIIX3, PIIX4, or ICH6. This makes no difference in terms of
41 performance, but if you import a virtual machine from another
42 virtualization product, the OS in that machine may expect a
43 particular controller type and crash if it is not found.
44 </p>
45 <p>
46 After you have created a new virtual machine with the
47 <b outputclass="bold">New Virtual Machine</b> wizard in
48 <ph conkeyref="vbox-conkeyref-phrases/vbox-mgr"/>, you will typically see one IDE controller in the
49 machine's <b outputclass="bold">Storage</b> settings.
50 The virtual CD/DVD drive will be attached to one of the four
51 ports of this controller.
52 </p>
53 </li>
54 <li>
55 <p><b outputclass="bold">Serial ATA (SATA)</b> is a more
56 recent standard than IDE. Compared to IDE, it supports both
57 much higher speeds and more devices per controller. Also, with
58 physical hardware, devices can be added and removed while the
59 system is running. The standard interface for SATA controllers
60 is called Advanced Host Controller Interface (AHCI).
61 </p>
62 <p>
63 Like a real SATA controller, <ph conkeyref="vbox-conkeyref-phrases/product-name"/>'s virtual SATA
64 controller operates faster and also consumes fewer CPU
65 resources than the virtual IDE controller. Also, this enables
66 you to connect up to 30 virtual hard disks to one machine
67 instead of just three, when compared to the <ph conkeyref="vbox-conkeyref-phrases/product-name"/> IDE
68 controller with a DVD drive attached.
69 </p>
70 <p>
71 For this reason, depending on the selected guest OS,
72 <ph conkeyref="vbox-conkeyref-phrases/product-name"/> uses SATA as the default for newly created
73 virtual machines. One virtual SATA controller is created by
74 default, and the default disk that is created with a new VM is
75 attached to this controller.
76 </p>
77 <note>
78 <p>
79 The entire SATA controller and the virtual disks attached to
80 it, including those in IDE compatibility mode, will not be
81 seen by OSes that do not have device support for AHCI. In
82 particular, <i>there is no support for AHCI in
83 Windows versions before Windows Vista</i>. Legacy
84 Windows versions such as Windows XP, even with SP3
85 installed, will not see such disks unless you install
86 additional drivers. It is possible to switch from IDE to
87 SATA after installation by installing the SATA drivers and
88 changing the controller type in the VM
89 <b outputclass="bold">Settings</b> window.
90 </p>
91 <p>
92 <ph conkeyref="vbox-conkeyref-phrases/product-name"/> recommends the Intel Matrix Storage drivers,
93 which can be downloaded from
94 <ph>http://downloadcenter.intel.com/Product_Filter.aspx?ProductID=2101</ph>.
95 </p>
96 </note>
97 <p>
98 To add a SATA controller to a machine for which it has not
99 been enabled by default, either because it was created by an
100 earlier version of <ph conkeyref="vbox-conkeyref-phrases/product-name"/>, or because SATA is not
101 supported by default by the selected guest OS, do the
102 following. Go to the <b outputclass="bold">Storage</b>
103 page of the machine's
104 <b outputclass="bold">Settings</b> window, click
105 <b outputclass="bold">Add Controller</b> under the
106 Storage Tree box and then select <b outputclass="bold">Add
107 SATA Controller</b>. The new controller appears as a
108 separate PCI device in the virtual machine, and you can add
109 virtual disks to it.
110 </p>
111 <p>
112 To change the IDE compatibility mode settings for the SATA controller, see <xref
113 href="vboxmanage-storagectl.dita"/>.
114 </p>
115 </li>
116 <li>
117 <p><b outputclass="bold">SCSI</b> is another established
118 industry standard, standing for Small Computer System
119 Interface. SCSI is as a generic interface for data transfer
120 between all kinds of devices, including storage devices. SCSI
121 is still used for connecting some hard disks and tape devices,
122 but it has mostly been displaced in commodity hardware. It is
123 still in common use in high-performance workstations and
124 servers.
125 </p>
126 <p>
127 Primarily for compatibility with other virtualization
128 software, <ph conkeyref="vbox-conkeyref-phrases/product-name"/> optionally supports LSI Logic and
129 BusLogic SCSI controllers, to each of which up to fifteen
130 virtual hard disks can be attached.
131 </p>
132 <p>
133 To enable a SCSI controller, on the
134 <b outputclass="bold">Storage</b> page of a virtual
135 machine's <b outputclass="bold">Settings</b> window,
136 click <b outputclass="bold">Add Controller</b> under
137 the Storage Tree box and then select <b outputclass="bold">Add
138 SCSI Controller</b>. The new controller appears as a
139 separate PCI device in the virtual machine.
140 </p>
141 <note>
142 <p>
143 As with the other controller types, a SCSI controller will
144 only be seen by OSes with device support for it. Windows
145 2003 and later ships with drivers for the LSI Logic
146 controller, while Windows NT 4.0 and Windows 2000 ships with
147 drivers for the BusLogic controller. Windows XP ships with
148 drivers for neither.
149 </p>
150 </note>
151 </li>
152 <li>
153 <p><b outputclass="bold">Serial Attached SCSI (SAS)</b> is
154 another bus standard which uses the SCSI command set. As
155 opposed to SCSI physical devices, serial cables are used
156 instead of parallel cables. This simplifies physical device
157 connections. In some ways, therefore, SAS is to SCSI what SATA
158 is to IDE: it enables more reliable and faster connections.
159 </p>
160 <p>
161 To support high-end guests which require SAS controllers,
162 <ph conkeyref="vbox-conkeyref-phrases/product-name"/> emulates a LSI Logic SAS controller, which can
163 be enabled much the same way as a SCSI controller. At this
164 time, up to 255 devices can be connected to the SAS
165 controller.
166 </p>
167 <note>
168 <p>
169 As with SATA, the SAS controller will only be seen by OSes
170 with device support for it. In particular, <i>there
171 is no support for SAS in Windows before Windows
172 Vista</i>. So Windows XP, even SP3, will not see such
173 disks unless you install additional drivers.
174 </p>
175 </note>
176 </li>
177 <li>
178 <p>
179 The <b outputclass="bold">USB mass storage device
180 class</b> is a standard to connect external storage
181 devices like hard disks or flash drives to a host through USB.
182 All major OSes support these devices and ship generic drivers
183 making third-party drivers superfluous. In particular, legacy
184 OSes without support for SATA controllers may benefit from USB
185 mass storage devices.
186 </p>
187 <p>
188 The virtual USB storage controller offered by <ph conkeyref="vbox-conkeyref-phrases/product-name"/>
189 works differently to the other storage controller types. While
190 most storage controllers appear as a single PCI device to the
191 guest with multiple disks attached to it, the USB-based
192 storage controller does not appear as virtual storage
193 controller. Each disk attached to the controller appears as a
194 dedicated USB device to the guest.
195 </p>
196 <note>
197 <p>
198 Booting from drives attached using USB is only supported
199 when EFI is used as the BIOS lacks USB support.
200 </p>
201 </note>
202 </li>
203 <li>
204 <p><b outputclass="bold">Non volatile memory express
205 (NVMe)</b> is a standard for connecting non volatile
206 memory (NVM) directly over PCI Express to lift the bandwidth
207 limitation of the previously used SATA protocol for
208 solid-state devices. Unlike other standards the command set is
209 very simple in order to achieve maximum throughput and is not
210 compatible with ATA or SCSI. OSes need to support NVMe devices
211 to make use of them. For example, Windows 8.1 added native
212 NVMe support. For Windows 7, native support was added with an
213 update.
214 </p>
215 <p>
216 The NVMe controller is part of the extension pack.
217 </p>
218 <note>
219 <p>
220 Booting from drives attached using NVMe is only supported
221 when EFI is used as the BIOS lacks the appropriate driver.
222 </p>
223 </note>
224 </li>
225 <li>
226 <p><b outputclass="bold">Virtual I/O Device SCSI</b> is a
227 standard to connect virtual storage devices like hard disks or
228 optical drives to a VM. Recent Linux and Windows versions
229 support these devices, but Windows needs additional drivers.
230 Currently virtio-scsi controller support is experimental.
231 </p>
232 <note>
233 <p>
234 The virtio-scsi controller will only be seen by OSes with
235 device support for it. In particular, <i>there is no
236 built-in support in Windows</i>. So Windows will not
237 see such disks unless you install additional drivers.
238 </p>
239 </note>
240 </li>
241 </ul>
242 <p>
243 In summary, <ph conkeyref="vbox-conkeyref-phrases/product-name"/> gives you the following categories of
244 virtual storage slots:
245 </p>
246 <ul>
247 <li>
248 <p>
249 Four slots attached to the traditional IDE controller, which
250 are always present. One of these is typically a virtual CD/DVD
251 drive.
252 </p>
253 </li>
254 <li>
255 <p>
256 30 slots attached to the SATA controller, if enabled and
257 supported by the guest OS.
258 </p>
259 </li>
260 <li>
261 <p>
262 15 slots attached to the SCSI controller, if enabled and
263 supported by the guest OS.
264 </p>
265 </li>
266 <li>
267 <p>
268 Up to 255 slots attached to the SAS controller, if enabled and
269 supported by the guest OS.
270 </p>
271 </li>
272 <li>
273 <p>
274 Eight slots attached to the virtual USB controller, if enabled
275 and supported by the guest OS.
276 </p>
277 </li>
278 <li>
279 <p>
280 Up to 255 slots attached to the NVMe controller, if enabled
281 and supported by the guest OS.
282 </p>
283 </li>
284 <li>
285 <p>
286 Up to 256 slots attached to the virtio-scsi controller, if
287 enabled and supported by the guest OS.
288 </p>
289 </li>
290 </ul>
291 <p>
292 Given this large choice of storage controllers, you may not know
293 which one to choose. In general, you should avoid IDE unless it is
294 the only controller supported by your guest. Whether you use SATA,
295 SCSI, or SAS does not make any real difference. The variety of
296 controllers is only supplied by <ph conkeyref="vbox-conkeyref-phrases/product-name"/> for compatibility
297 with existing hardware and other hypervisors.
298 </p>
299 </body>
300
301</topic>
Note: See TracBrowser for help on using the repository browser.

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