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

Linux kernel 如何使VirtualBox或VMware(或任何其他虚拟化软件)使用本机来宾网络驱动程序?,linux-kernel,vmware,virtualization,virtualbox,wireless,Linux Kernel,Vmware,Virtualization,Virtualbox,Wireless,我不知道我想要实现的目标是否切实可行。我有一个RTL8192CE无线网卡,它在Linux(运行Ubuntu12.0464位(精确的穿山甲))上肯定不能正常工作。我已经尝试了我所能想到的一切:我从主页上下载了最新的驱动程序,尝试了与多套不同的Windows驱动程序一起使用,还尝试了使用通用无线后端口,等等。这些都没有解决我的问题 另一方面,它确实可以在Windows上完美运行。。。我双启动Windows7和Ubuntu 12.04,都是64位的。显然,与这张卡有关 我想知道是否有办法在我的Ubun

我不知道我想要实现的目标是否切实可行。我有一个RTL8192CE无线网卡,它在Linux(运行Ubuntu12.0464位(精确的穿山甲))上肯定不能正常工作。我已经尝试了我所能想到的一切:我从主页上下载了最新的驱动程序,尝试了与多套不同的Windows驱动程序一起使用,还尝试了使用通用无线后端口,等等。这些都没有解决我的问题

另一方面,它确实可以在Windows上完美运行。。。我双启动Windows7和Ubuntu 12.04,都是64位的。显然,与这张卡有关

我想知道是否有办法在我的Ubuntu 12.04 64位下使用虚拟化Windows安装(或者,最好不要),它使用本机Windows驱动程序(因为网卡在Windows中工作得非常好)。虚拟化软件可以是(首选),也可以是任何其他软件。如果我必须通过shell脚本或任何类似的方式手动配置,那么就不会有任何问题

所以,为了更清楚,我在我的Ubuntu 12.04(我的主机)中安装了一个VirtualBox,我用它运行Windows7(我的来宾)。我想知道这个虚拟(来宾)Windows7是否可以“直接”访问我的无线接口——比如我安装的双启动Windows7,而不需要通过Ubuntu驱动程序

显然,通过使用VirtualBox的来宾添加,我可以吗


PS:我相信VirtualBox的任何网络模式(桥接网络、内部网络和仅主机网络)都不允许我这样做,对吗?我该如何解决这个问题呢?

您所要求的在VirtualBox中称为PCI直通,这应该被认为是一个非常高级的主题。我以前在VirtualBox和VMWare ESXi(制作vSphere…)中试用过此功能,它可能非常脆弱

我建议您花一些时间阅读有关此()的VirtualBox手册部分,您需要了解一些限制,并且只知道这是一个非常年轻和不成熟的虚拟化领域。在开始之前,这里有一些相当严格的要求:

  • 您的硬件必须有IOMMU(英特尔称之为VT-d,AMD->AMD Vi)
  • 您的来宾必须配置硬件辅助功能(VT-x或AMD-V)
  • 必须构建主机Linux内核以利用IOMMU硬件
如果你的硬件/软件符合那些相当严格的准则,那就试一试。将会发生的是,您的客户将有效地直接访问您的无线PCI卡,它将直接作为PCI设备显示给您的客户。如果Windows是您的主机操作系统而不是来宾操作系统,您将完全按照您的方式安装和使用驱动程序

参考-第9章:高级主题-PCI直通

只有在主机能够正确访问卡的情况下,才可以执行此操作;否则来宾无法访问它,因为来宾的所有硬件都是通过主机虚拟化的。这个问题与编程无关,更适合于感谢您的回答。您所说的“主机可以正确访问卡”是什么意思?主机确实具有正确的访问权限,但问题是主机可用的驱动程序有缺陷。我将遵循您指出的链接。谢谢非常感谢,非常有用的回答。我将在接下来的几天内阅读这些指南,谢谢Goyuix!