QEMU和VirtualBox有什么区别?

136

最近,我发现了 QEMU 项目。我之前使用过 VirtualBox,并且听说过 Xen 和 VMWare。

QEMU 和 VirtualBox 有什么区别?我应该坚持使用 VirtualBox 吗?
在哪些情况下 QEMU 更好?

3个回答

105
基本上两者都有对方没有的特点,这可能会简化决策。 QEMU / KVM在Linux中集成更好,占用空间更小,因此应该更快。
VirtualBox是一种虚拟化软件,仅限于x86和amd64架构。 Xen使用QEMU进行硬件辅助虚拟化,但也可以在没有硬件虚拟化的情况下对客户机进行paravirtualize。 QEMU支持广泛的硬件,并且可以在运行与主机体系结构相同的目标体系结构时使用KVM。
Xen是Type-1 hypervisor,而VirtualBox和QEMU被认为是Type-2 hypervisors(考虑到kvm是内核模块,可能会有争论)。 此社区以前曾问过类似的问题

12
QEMU在沙盒化Windows方面是否像VirtualBox一样安全?我不希望Windows能访问我的Linux操作系统。 - JesseBoyd
10
@JesseBoyd,它们都存在安全漏洞,允许虚拟机逃逸:https://en.wikipedia.org/wiki/Virtual_machine_escape。 - baptx
@ben 在下一个内核中,KVM将不再是内核模块 :) - teknoraver
@teknoraver 那会是什么呢?我正在使用5.6.8,我受影响吗? - Some Name
1
@teknoraver 请提供您的源代码。 - ben

54

使用带KVM的QEMU比VirtualBox要快得多,您可以自行测试:

VirtualBox: vbox networking

QEMU: QEMU

磁盘和CPU测试结果相差不大。


很有趣。一个网页提出了不同的观点: https://techgenix.com/qemu-vs-virtualbox/ - Hilton Fernandes
3
@HiltonFernandes 我认为像这样的网站上的文章通常主要是通过阅读其他文章进行研究的,因此即使是真实的陈述在被循环利用后也可能失去其原始含义,变得具有误导性。在这种情况下,我认为 VBox 更快的想法来自于虚拟化具有比仿真更快的固有速度优势。QEMU首先是一个仿真器,因此这个想法在VBox与QEMU之间普遍成立。但是当我们谈论QEMU+KVM时,应用这种广泛概括就会崩溃,因为QEMU+KVM是虚拟化。 - Jason Forbes

9

一个区别在于支持的指令列表。Virtualbox和VMware不支持f16c指令,该指令适用于以Ivy Bridge开头的架构,这限制了即使使用更新的CPU编译也仅限于Sandy Bridge,而且会导致其他不兼容问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接