在虚拟机中使用USB设备

VMware Workstation 及Virtual PC是使用较多的虚拟机软件。如何在虚拟机系统中使用宿主机系统的usb设备?往下看。

VMware Workstation 5提供两个端口的USB1.1控制器。如果你的宿主机和客户机都支持USB的话,你可以在你的虚拟机上使用两个USB设备。如果你的宿主机支持USB2.0设备,你也可以在带有相应设备驱动的客户机上使用USB2.0设备。
注意:当USB设备和宿主机控制器都支持USB2.0,那么这个设备将自动工作在USB2.0模式下。这个过程大部分时候工作良好,尽管这个处理过程是在客户机的USB1.1控制器中进行的。尽管如此,在当客户机的UHCI (USB 1.0)驱动可能不能处理某些USB2.0传输,比如较大的USB2.0信息包。这可能导致客户机的崩溃。为了解决这个问题,可以插这种设备到USB1.0的集线器中。这将迫使设备用USB1.0的信息包工作。

试验性的支持同步USB设备,诸如网络摄像设备、扬声器和麦克风。
注意:Windows NT和版本低于2.2.17核心的Linux系统不支持USB.

尽管你的宿主机操作系统必须支持USB,但如果你仅仅是想在虚拟机上用那些USB接口的设备,你不需要在宿主机上安装该设备指定的驱动。
在支持USB2.0的Windows2000主机操作系统上,请确信你用的是微软的USB2.0驱动。第三方的USB2.0驱动,诸如那些主板厂商提供的驱动,是不被支持的。更多事项,请看《替换Windows2000主机中的USB2.0驱动》

(虚拟机)5.0版本对USB支持
在这个版本上,我们已经测试过各种各样的USB设备了。一般来说,如果客户操作系统有合适的驱动,你应该能够使用PDA、打印机、存储设备(磁盘)、扫描仪、MP3播放器、数码摄像机和读卡器。
猫和某些有数据流工作的设备,诸如扬声器和网络摄像设备,不能完全地工作。
启用和禁用USB控制器
虚拟机USB端口默认被开启。如果你不在虚拟机里使用USB设备,你可以通过虚拟机设置器禁用USB控制器。
连接USB设备
自动连接USB设备
当虚拟机正在运行,它的窗口是激活的窗口,这时插入USB设备进入物理主机,这个设备将被和客户机连接而不是主机。这个自动连接功能可以通过虚拟机设置编辑器(虚拟机 > 设置 > USB控制面板来禁用。如果所有的虚拟机USB端口已经被占用,当客户机尝试自动连接新的设备时,一个对话框将让你做一个选择:你能断开一个已经连接的USB设备来空出端口或者忽略新的设备,允许该设备连接到主机上去。
手动连接USB设备
选择虚拟机 > 移除你的虚拟机中指定的USB设备。(这样你的主机就接管了这个USB设备了)你可以同时连接两个USB设备。如果物理上的USB设备通过Hub连接在主机上,虚拟机看到的仅仅是这个USB设备,不是Hub


对(虚拟机)每一个USB端口都有一个菜单选项。移动鼠标到这些菜单选项上看到弹出的联级菜单,点击USB端口选项,这样USB设备就会接到你所点击的USB端口上,USB设备就会出现在你的虚拟机中。(在连接之前,会出现一个对话框,告诉你,虚拟机会先在主机上安全地卸载USB设备。)
同样释放一个连接设备,点同样的位置,即可释放(主机接管USB设备)。

如果你插上一个新的设备在主机上,但自动连接功能没起作用,这个设备被初始连接到主机上。这个设备名也被添加到虚拟机 > 移除设备目录里,所以你能够(通过点击这个设备名字)把它手动地连接到虚拟机上。
自动恢复USB设备连接
当你手动连接一个USB设备(虚拟机 > 移除设备)时,虚拟软件保持虚拟机连接在主机的一个端口上。你这时可以挂起或关闭虚拟机电源,或者拔掉设备。当你插回设备或恢复虚拟机时,虚拟软件会自动重新连接设备。虚拟软件通过在虚拟机配置文件里写入自动连接设备语句来保持连接。(写入内容例如:usb.autoConnect.device0 = "path:1/3/1 autoclean:1")
如果虚拟软件不能重新连接设备(比如,因为设备失去连接或被移到另外的端口),这个设备(在虚拟机中)将被移除,一条说明虚拟软件不能连接该设备的消息将显示。如果这个设备仍然可用,你可以再手动连接它。
在Windows主机中使用USB
Windows 2000, Windows XP and Windows Server 2003主机中:当一个特别的USB设备第一次连接到虚拟机时,主机检测到它作为一个新设备并命名为VMware USB Device并安装上合适的VMware驱动。

Windows XP and Windows Server 2003主机中:在发现新硬件向导中,用户需要确认。选择默认的步骤——自动安装软件。一旦软件被安装好,客户机操作系统侦测到USB设备并搜索合适的驱动。
当你正在同步一台PDA,诸如一台Palm第一次连接虚拟机,读取主机中VMware的USB驱动和在客户机中PDA驱动总共花费的时间可能超过了这个设备的连接时间延迟值。这将导致在客户机和它同步之前,该设备已切断与计算机的连接。如果发生这种情况,让客户机完成安装PDA的驱动后,关闭任何连接错误警告,然后再次尝试同步PDA。第二次尝试应该会成功的。
替换Windows2000主机中的USB2.0驱动
要使用Windows2000主机中VMware Workstation5提供的USB2.0端口,你必须在主机操作系统中使用微软USB2.0驱动来使用USB控制器。如果你的主机操作系统使用了第三方USB驱动——比如主板生产商提供的USB驱动,你需要替换它。
执行以下步骤检查你的驱动提供者
1.打开设备管理器。右击我的电脑,选择属性,点击硬件选项卡,然后点击设备管理器


2.展开通用串行总线控制器列表。
3.右击列表中控制器并选择属性选项。
4.点击驱动程序选项卡。如果驱动提供者显示微软,那么你已经准备好了正确的驱动程序。
如果驱动提供者不是微软,请到微软网站下载最新的USB驱动程序并按照微软的说明安装驱动。详细说明可以查看微软知识库319973文章。


在Linux主机中使用USB
在Linux主机中,VMware Workstation使用USB设备文件系统连接USB设备。大部分的Linux系统支持USB,USB设备文件系统在/proc/bus/usb目录中。
如果你的宿主机操作系统使用不同的USB设备文件系统,你能够在虚拟机配置文件.vmx中改变它的路径。加以下语句来改变默认USB设备文件系统的路径
usb.generic.devfsPath = ""
什么(系统)控制USB设备?
仅仅只有一台计算机——宿主机或客户机——在同一时刻拥有对USB设备的控制权。
在Windows宿主机中的设备控制
当你连接一台设备给虚拟机,它在主机上是未插入的,而虚拟机控制着这个设备。当你断开这个设备和虚拟机的连接时,它被插入了主机中。
注意:在Windows 2000, Windows XP and Windows Server 2003主机中,你需要一个必要的步骤来断开USB网络、储存设备和主机的连接。在Windows2000中,系统托盘图标报告弹出硬件,在Windows XP 和Windows Server 2003中,告知硬件已被安全的删除了。在连接设备到虚拟机以前,用这个图标断开设备与主机的连接。
在Linux宿主机中的设备控制
在Linux宿主机中,客户操作系统能够使用设备而不需要主机准备——就是,设备不需要主机操作系统的驱动。
如果你的设备正在宿主机上使用,你试着连接它到客户机上,可以使用菜单栏 虚拟机 > 移除设备 目录,一个对话框将出现,告知你连接该设备有一个问题。
要从宿主机中断开与设备的连接,你必须卸载设备驱动。你可以root身份手动地在命令行中卸载驱动。如果驱动是通过热插拔自动安装的,你能够禁用它在热插拔配置文件(在/etc/hotplug目录里)中。如何编辑这些配置文件,可以看你的Linux发行文档。
一个相关的问题有时可能影响到依靠自动连接的设备(诸如PDA)。
如果你已经成功地自动连接该设备到你的虚拟机中,以下经验可供参考:
1.断开和重新连接这个设备。你可以物理上拔出它,然后再插回去或者使用菜单栏中虚拟机 > 移除设备目录来断开和重连它。
2.如果你看见一个对话框警告这个设备正在使用,你可以在热插拔配置文件中禁用它。
断开设备和虚拟机的连接
在拔出USB设备或使用菜单栏中虚拟机 > 移除设备 目录来从虚拟机中移除该设备前,确信它处于安全的状态。
你应该按照

设备生产者指定的方法从物理计算机中拔除该设备。
对于数据存储设备(比如zip驱动器)特别重要。如果你在保存文件后太快地移除数据储存设备,操作系统实际上还没有把数据写入磁盘设备里,你的数据就会丢失。
人体学输入设备
USB人体学输入设备,诸如键盘鼠标(包括游戏手柄),不能通过虚拟机USB控制器来控制。取而代之的是,它们将通过标准的PS/2接口的键盘鼠标形式出现,即使它们是通过USB端口接入主机的。
摘自VM5.5.1_User's Manual 第417-421页

Virtual PC中的虚拟机系统要用宿主机的usb设备,可以采用变通的办法:宿主机采用远程桌面方式登录虚拟机,将宿主机的usb设备选中,带到虚拟机系统中。

相关文档
最新文档