Attaching a SATA storage controller in VirtualBox is very simple and straightforward. Sometimes, you need to attach SATA hard disks to certain virtual machines rather than the default IDE disks. This post explains how to add SATA hard disk (virtual disk) to virtual machines in VirtualBox console and CLI (Command Line Interface). This method is applicable to any hosts such as Windows, Linux, and Mac.
VirtualBox supports Intel AHCI type SATA controllers. By default, virtual machines will be created with IDE controllers only. Before power on the virtual machines, you can change this controller in the console view or CLI.
To Add SATA Controllers in VirtualBox – Console View
1) Go to Storage settings
2) You may have to remove the existing storage controller and hard disk by clicking the controller removal button as shown below. Remember, by removing the controller and hard disk from the virtual machine, we are not deleting the existing virtual hard disk (VDI) file. It will remain at the location.
Note – Keep IDE Controller for CD/DVD drives. CD/DVD drives cannot be added to SATA controllers in VirtualBox
3) Now, Click on Add controller button and select SATA controller.
4) As I mentioned earlier, it supports AHCI type only, so you can’t play with it. Add hard disk button from the SATA controller and select the existing hard disk.
5) That’s it. We successfully added SATA controller to a virtual machine in Oracle VirtualBox. After adding the controller, you can create or use the existing virtual hard disk and attach to it. Whenever you get booting errors from ‘Physical to Virtual’ converted disk files, then you can change these controller settings and try different options until the booting issue gets resolved.
For example, when you convert a physical machine which is running with the SATA controllers, to Virtual as mentioned in my earlier post, you can try it with SATA controllers in VirtualBox.
To Add SATA Controllers in VirtualBox – Command View
1) First, add the controller with the following command
VBoxManage storagectl OSX –name “SATA Controller” –add sata –controller IntelAHCI
OSX – in Virtual Machine Name. (UUID also applicable)
2) Add the hard disk to the controller with the following command
VBoxManage storageattach OSX –storagectl “SATA Controller” –type hdd –port 0 –device 0 –medium D:/MAC/OSX/OSX.vmdk
D:/MAC/OSX/OSX.vmdk – Location of Hard disk.
VBoxManage createhd –filenameD: /MAC/OSX/OSX.vmdk –size 10240 to create Hard disk.
Do you want to try the same command to add CD or DVD drive? I tried and got following error.
error: The Attachment is not supported by the Storage Controller: ‘SATA Controller’
As SATA carries more advantages with it, you can get more benefits by attaching the virtual disk by SATA controller. Hope this guide is useful in attaching virtual hard disk through SATA port for VirtualBox virtual machine.