我想知道为什么 VirtualBox 和 VMWare 的播放器都“捕获”并将鼠标指针绑定到虚拟机而不让它出来,而需要按右 CTRL 键或 CTRL-ALT 才能出来。
微软的 Virtual PC 2007 实际上只是将虚拟机视为一个应用程序,让鼠标自由进出……而且在我使用它的几个月里,我没有发现任何问题。所以我想知道为什么 VirtualBox 和 VMWare 的 Player 会这样做,是否可以配置它们不这样做?
答案1
只有在安装虚拟机附加组件后,鼠标才会被捕获。它们包括虚拟鼠标的驱动程序,然后鼠标就可以在主机和客户机之间自由移动。
某些版本的 Windows(Vista、Windows 7、预配置的 Windows XP)已经附带了某些虚拟机主机的驱动程序,这就是您在那里看不到此问题的原因。但是,如果您尝试安装干净的版本(例如 Windows XP),您将遇到相同的鼠标捕获问题(直到您安装 VM 附加程序)。
答案2
您正在寻找的功能是名为“Guest Additions”的插件,该插件已包含在最新版本的 Virtualbox 中。请参阅以下指南了解如何激活它
http://www.dedoimedo.com/computers/virtualbox-guest-addons.html
VMWare 有类似的东西,但我不熟悉。
答案3
正如 Josip 指出的那样,只有在安装完成并且在虚拟化客户机上安装了 VMware Tools 或其等效产品之前,情况才会如此,这会导致它的行为与微软的 Virtual PC(和其他)产品相同。
VMware 的虚拟化产品比微软的产品早得多,并且 a) 微软提供这种增强鼠标功能的技术尚不存在,并且 b) 必须与较低级别的机器互操作才能支持更大范围的客户操作系统。VirtualBox 的发布时间与 Hyper-V 在 Windows Server 2008 预览版中推出的时间大致相同,但同样在开发时并未考虑到这些功能的访问和跨平台可移植性。
当虚拟化软件“捕获”指针时,它会在客户机中模拟 PS/2(或 USB)鼠标,并捕获指针,使其不会离开窗口的边缘(这并不简单,因为客户机的分辨率和 DPI 可能与主机上包含它的窗口的分辨率和 dpi 不匹配)。主机上的鼠标位置基本上被忽略,其原始移动被捕获并直接发送给客户机。(如果主机和客户机之间的 DPI 存在明显不匹配,您会注意到鼠标移动速度极慢或极快,除非虚拟化层考虑到这些情况。)
Microsoft 的 VPC 开箱即用的功能(主要得益于预装的已知来源和配置的 Windows 映像)是告知客户操作系统输入设备是非连续输入设备,很像平板电脑上的触控笔。支持此类输入设备的客户机可以接受输入可能突然出现在屏幕上的任何位置,然后又迅速消失(当您将焦点放在主机上的其他程序上时),而不会感到惊慌失措。触控笔输入设备控制系统光标的概念以前在 Windows 中并不存在(Windows CE 中一些非常不成熟的方法除外),在 Microsoft 添加内置驱动程序以提供此功能之前无法使用 - 或者用户安装了相关虚拟化公司提供的第三方输入驱动程序。