如何使VirtualBox或VMware(或任何其他虚拟化软件)使用本机访客网络驱动程序?

i.c*_*xto 3 virtualization vmware wireless virtualbox linux-kernel

我不知道我想要实现的目标是否可行.我有一个RTL8192CE无线网络Mini PCI卡,它在Linux上运行不正常(运行Ubuntu 12.04 64位(精确穿山甲)).我已经尝试了我能想到的一切:我从Realtek主页下载了最新的驱动程序,尝试使用NDISwrapper和几套不同的Windows驱动程序,并尝试使用通用的无线后端等,这些都没有解决我的问题.

另一方面,它确实在Windows上完美运行......我双启动Windows 7和Ubuntu 12.04,都是64位.显然,Ubuntu中存在与此卡相关的错误.

我想知道在使用本机Windows驱动程序的Ubuntu 12.04 64位下是否有办法使用虚拟化Windows安装(Windows XPWindows 7,最好不是Windows Vista)(因为网卡在Windows中完美运行) .虚拟化软件可以是VirtualBox(首选),VMware或任何其他软件.如果我必须通过shell脚本或类似的东西手动配置它,没有任何问题.

所以,为了更清楚,我在我的Ubuntu 12.04(我的主机)中安装了一个VirtualBox,我用它来运行Windows 7(我的客人).我想知道这个虚拟化(来宾)Windows 7是否可以"直接"访问我的无线接口 - 例如我安装的双启动Windows 7,而不通过Ubuntu驱动程序.

显然我无法通过使用VirtualBox的guest添加来实现这一点,是吗?

PS:我相信VirtualBox的网络模式(NAT,桥接网络,内部网络和仅主机网络)都不允许我这样做,我是否正确?我怎么能解决这个问题?

Goy*_*uix 5

您要求的是在VirtualBox中称为PCI Passthrough - 它应该被认为是一个非常高级的主题.我之前在VirtualBox和VMWare ESXi(使用vSphere ......)中尝试过这个功能,它可能非常脆弱.

我建议你花一些时间阅读VirtualBox手册部分(第9章:高级主题),你需要注意一些限制,并且只知道这是一个非常年轻的虚拟化领域.不成熟.另外,在您开始之前,这里有一些相当严格的要求:

  • 您的硬件必须有IOMMU(英特尔称之为VT-d,AMD - > AMD-Vi)
  • 您的访客必须配置启用硬件辅助(VT-x或AMD-V)
  • 必须构建主机Linux内核才能使用IOMMU硬件

如果您的硬件/软件符合那些相当严格的指导原则,请试一试.会发生什么情况,您的客人将被有效地直接访问您的无线PCI卡,它将直接作为PCI设备显示给您的客人.如果Windows是您的主机操作系统而不是您的guest虚拟机,您将完全像安装和使用驱动程序一样.

参考 - 第9章:高级主题 - PCI直通 https://www.virtualbox.org/manual/ch09.html#pcipassthrough