VirtualBox 最新代码开始支持 KVM 后端

发表于:昨天 12:41 6
VirtualBox 最新代码开始支持 KVM 后端



本周,Oracle 最新的 VirtualBox 开发代码开始与 Linux 原生 KVM 后端协同工作。长期以来,人们一直期待 VirtualBox 支持 KVM 或其他原生操作系统虚拟机管理程序,现在终于成为现实。早在 2024 年,Cyberus Technology 就独立开发了 VirtualBox 的 KVM 实验性实现。如今在 2026 年,最新的 VirtualBox 上游代码终于开始以“某种可行的形式”与 KVM 协同工作,可供选择使用最新代码的用户使用,或在 VirtualBox 自身的内核驱动程序无法工作时使用。

这一支持可在最新的 VirtualBox Git 代码库或使用 VirtualBox.org 为 Linux 提供的测试构建版本中找到。



关于 KVM 与 VirtualBox 协同工作的详细信息,可通过此 GitHub 工单查看。预计支持此功能的 VirtualBox 下一个主要版本发布还需要一段时间。

虽然 KVM 现在可以与 VirtualBox 协同工作,但 Oracle 工程师 Alexander Eichner 指出,VirtualBox 自身虚拟机管理程序实现的优势包括:


  • 我们的内核驱动程序提供更先进的网络模式,否则设置起来会很繁琐。
  • 我们的虚拟机管理程序为旧版客户机提供更好的仿真精度,例如,我们为依赖 A20 门(如 DOS,在 1MB 处环绕内存)的客户机正确仿真 A20 门,而 KVM 不提供此功能。
  • 虚拟机管理程序核心的额外优化,例如,我们允许在 ring 0 中处理设备仿真的某些部分以提高性能,特别是对于旧版客户机的仿真。对于使用更高效设备的现代工作负载来说,这不是大问题。
  • 我们的虚拟机管理程序优化 VM 退出以减少其发生,例如,如果两个 VM 退出非常接近(两个 MMIO 退出或 I/O 端口访问)且频繁执行,我们的虚拟机管理程序不会跳回客户机要求代价高昂的状态同步,而是在第一次退出后直接仿真指令。
  • 我们的指令仿真器远比 KVM 提供的先进,例如,我们能够仿真通常不用于 MMIO 的指令所执行的 MMIO 退出。


第 2-5 点主要与旧版或更特殊的客户机相关,大多数现代工作负载可能不会注意到太大差异,特别是如果它们知道自己在虚拟机中运行并相应调整行为。尽管如此,最终让上游 VirtualBox 与 KVM 良好协作仍是一项有趣的工作。这一变化紧随 VMware 努力将 VMware Workstation 置于 Linux 上的 KVM 之上之后。



原文链接:Latest VirtualBox Code Begins Supporting KVM Backend
收藏
送赞
分享

发表回复