我有一台远程 Windows 10 计算机,它充当 Linux(Debian 9)的主机,Linux(Debian 9)在 VirtualBox 中作为客户机运行。虚拟机在网络桥接模式下运行,因此两个操作系统都有本地 IP 地址,并且可以“看到”彼此。我可以通过 SSH 从本地计算机访问客户 Linux(它是 VPN 的一部分)。从客户机,我还可以通过 SSH 服务器(内置于 Windows 10)访问主机的命令提示符/bash/powershell。有时我需要能够从两个操作系统访问连接的 USB 设备。不必同时进行 - 一个接一个就可以了。
通过 VirtualBox GUI(设备 -> USB 设备)在主机和客户机之间切换连接的 USB 设备很简单。但是有没有办法从命令行执行此操作 - 从主机或客户机,或者更好的是,从两者执行此操作?
答案1
要使用命令行管理 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
- 将设备连接到虚拟机:
VBoxManage controlvm <VM> usbattach <ID>
这官方帮助 第 8 章还提供了有关其他可用命令的信息。具体来说,您可能对如何usbdetach
移除controlvm
USB 设备感兴趣。
提到的博客文章还展示了如何创建 USB 过滤器以将 USB 设备永久连接到 VM。