Virtualbox 虚拟机中的网络适配器

Sek*_*mty 20 networking virtualbox virtualization virtual-machine

使用 Virtualbox 设置虚拟机时,在网络配置部分可以从各种模拟适配器中进行选择:

在此处输入图片说明

在 VM 创建时自动选择的默认设置是Intel PRO/1000 MT Desktop
我想知道在虚拟化上下文中这些适配器之间有什么区别,以及何时最好使用其中一个而不是其他。

我也很好奇不同的访客系统是否对其中一个系统有一些偏好。即,如果 Linux 来宾有偏好,比方说,对Intel MT和 Windows 对PCnet Fast有偏好,等等。当然,这些只是随机的例子。

Ser*_*sov 20

这些适配器之间最重要的区别在于,特定的来宾系统可能只支持其中的一部分——因此这是“有效”和“根本不起作用”之间的区别。例如,Windows Vista 和更高版本不再有 AMD PCnet 卡的驱动程序,因此这些系统必须使用 Intel PRO/1000 变体之一;但是,较旧的系统可能有用于 PCnet 的驱动程序,但没有用于 E1000 的驱动程序。出于同样的原因,支持三种不同的英特尔 PRO/1000 卡变体。

请参阅 VirtualBox 用户手册中的“虚拟网络硬件”部分:

PCNet FAST III 是默认设置,因为几乎所有开箱即用的操作系统以及 GNU GRUB 引导管理器都支持它。作为一个例外,英特尔 PRO/1000 系列适配器被选择用于某些不再附带 PCNet 卡驱动程序的客户操作系统类型,例如 Windows Vista。

英特尔 PRO/1000 MT 台式机类型适用于 Windows Vista 和更高版本。英特尔 PRO/1000 卡的 T Server 变体可被 Windows XP 来宾识别,无需额外安装驱动程序。MT Server 变体有助于从其他平台导入 OVF。

如果您创建新虚拟机并正确选择操作系统类型,将自动选择与所选操作系统兼容的适配器类型。

但是,适配器类型之间还存在其他差异,在来宾操作系统都支持的多种类型之间进行选择时应考虑这些差异:

  1. 仅当使用 E1000 适配器类型之一时,才支持一些高级功能,例如巨型帧和 802.1q VLAN 标记。

  2. 如果您需要从网络引导来宾,VirtualBox 的开源版本仅为 PCnet 适配器提供基于 Etherboot 的 PXE ROM。用于 E1000 的英特尔 PXE ROM 仅在专有的 Oracle 扩展包中可用。但是,您可以提供带有 PXE ROM 的外部文件,并且 gPXE 支持所有这些适配器类型(包括 virtio-net),因此这不是一个非常重要的限制。

  3. E1000 变体的性能通常略好于 PCnet。virtio-net 适配器理论上应该提供最好的性能,因为它的“硬件”接口是在考虑虚拟化的情况下创建的;但是,前段时间它在 VirtualBox 中的支持有问题,我最近没有尝试。