VirtualBox:从命令行在来宾和主机之间切换对连接的 USB 设备的访问

use*_*484 2 linux usb virtualbox powershell windows-10

我有一台远程 Windows 10 计算机,它作为 Linux (Debian 9) 的主机,在 VirtualBox 中以访客身份运行。VM 在网络桥接模式下运行,因此两个操作系统都有本地 IP 地址并且可以“看到”对方。我可以从本地计算机通过 SSH 访问来宾 Linux(它是 VPN 的一部分)。从访客中,我还可以通过 SSH 服务器(内置于 Windows 10 中)访问主机的命令提示符/bash/powershell。有时我需要能够从两个操作系统访问连接的 USB 设备。不一定要同时进行——一个接着一个就可以了。

通过 VirtualBox GUI(设备 -> USB 设备)在主机和来宾之间切换连接的 USB 设备非常简单。但是有没有办法从命令行执行此操作 - 无论是从主机还是从来宾,或者更好的是,从两者都进行?

Set*_*eth 7

要使用命令行管理 VirtualBox VM,您需要使用VBoxManage命令/工具。请注意,在 Windows 上,这不会添加到路径中,因此您必须手动导航到该目录(例如cd /D C:\Program Files\Oracle\VirtualBox)。

之后,您可以使用该VBoxManage命令连接 USB 设备,但这比使用 GUI 更复杂一些。

以下是Antony Jepson 的博客文章:

  • 查找虚拟机的 ID/名称:VBoxManage list vms
  • 查找 USB 设备的 ID:VBoxManage list usbhost
  • 将设备连接到 VM:VBoxManage controlvm <VM> usbattach <ID>

官方帮助第 8 章还提供了一些有关其他可用命令的信息。具体来说,您可能usbdetachcontrolvm删除 USB 设备感兴趣。

上述博客文章还展示了如何创建 USB 过滤器以将 USB 设备永久连接到虚拟机。