VirtualBox启用SATA
VirtualBox通过虚拟的存储控制器,管理虚拟存储设备(硬盘、光驱、软驱等)的运行和数据传输。在VirutalBox中新建一个虚拟机时,如果Guest OS是Windows Vista及之后的Windows版本,默认添加的就是SATA控制器。如果Guest OS是Windows XP及之前的Windows版本,由于这些OS本身不支持AHCI,默认添加的是IDE控制器,需要安装额外的驱动程序才能使用SATA控制器。
对于Windows XP及之前Windows版本的虚拟机Guest OS,启用SATA控制器的步骤如下:
1. 在虚拟机的Settings -> Storage设置中,选择“Add SATA Controller”,从而添加一个SATA控制器。(如果不首先添加一个空的SATA控制器,将无法安装Intel AHCI驱动,会提示“不满足最低的设备要求”)。
2. 启动Windows,安装Intel(R) Rapid Storage Technology存储驱动,这里是Intel官方网站的下载地址,选择“Intel(R) Rapid Storage Technology”。安装时,会提示是否安装MS .Net Framework;这里只需要安装AHCI驱动文件,所以可以略过该提示。
3. 安装上述驱动后,关闭Windows。这时在虚拟机的Storage设置中,就可以向SATA控制器下添加虚拟的磁盘、并被Windows识别了。例如,可以把安装Windows的虚拟硬盘从IDE控制器下移走,再添加到SATA控制器下。
下面对IDE及SATA虚拟控制器下的虚拟硬盘性能进行了一个简单的对比测试。根据VirtualBox的使用手册,与虚拟IDE控制器相比,虚拟SATA控制器主要有两个优势:1、最多可以连接30个虚拟硬盘,而IDE最多只能连接3个;2、运行速度更快,消耗更少的CPU资源。第一个优势显而易见,但性能方面的优势,在这个测试中并未体现出来。
测试平台: VirtualBox版本3.2.8,Host OS是Ubuntu 10.04 64bit,Guest OS是Windows XP SP3,实际硬件是CPU E5200@2.5GHz,硬盘Intel X25-M 80G SSD,测试工具是HDTune 4.6。
测试方法:建两个固定大小(fixed-size)的虚拟硬盘,一个安装Windows和HDTune,另一个未使用;然后在IDE和SATA模式下,分别对这个未使用的虚拟硬盘进行测试。
测试结果:
| 控制器类型 | 连续读平均 | 连续读CPU占用 | 连续写平均 | 连续写CPU占用 | 4KB随机读 | 4KB随机写 |
| IDE | 165 MB/s | 63% | 47 MB/s | 20% | 2960 IOPS | 6900 IOPS |
| SATA | 126 MB/s | 75% | 41 MB/s | 34% | 2142 IOPS | 2315 IOPS |
从这个测试结果可以看出,与VirtualBox使用手册的所述相反,在我的这个测试环境中,SATA反而比IDE要慢。关于这个问题,可以参考VirtualBox论坛上的讨论。一方面,这种简单测试的结果往往并不能反映各种软件实际运行时的性能;另一方面,测试结果可能与不同的测试平台(硬件及OS)有关。比如在上面VirtualBox论坛的讨论中,一个资深人员说他的测试结果表明SATA的性能总是好于IDE。
更多测试结果见下图。
1、IDE模式下的随机读

2、SATA模式下的随机读












1条评论 ▼