当虚拟机运行时,如何从命令行“插入”VirtualBox 中的来宾添加映像?

当虚拟机运行时,如何从命令行“插入”VirtualBox 中的来宾添加映像?

我的虚拟机位于专用计算机上,通过 SSHvboxheadless启动它们,然后使用远程桌面来使用它们。

现在,当虚拟机运行时,将“GuestAdditions”映像插入来宾的光驱并安装它们非常简单。要使用附加的 GUI 来执行此操作,请位于Devices> Insert Guest Additions CD Image

但是,我没有使用 GUI,因为我通过远程桌面使用来宾操作系统,所以我显然也没有菜单。

我想知道如何从命令行执行此功能。我想象它用于vboxmanage从虚拟客户机的驱动器中插入和删除该 CD 映像。

另外,有没有办法在来宾操作系统运行时将任何其他 CD 映像和/或软盘映像插入来宾系统的虚拟驱动器中并删除它们?

答案1

我这样做的方法是:

获取 VboxAdditions UUID

[fredmj@Lagrange ~]$ vboxmanage list dvds
[...]
UUID:           3cc8e4fb-e56e-blabla...
State:          created
Type:           readonly
Location:       /usr/share/virtualbox/VBoxGuestAdditions.iso
Storage format: RAW
Capacity:       55 MBytes
Encryption:     disabled

使用vboxmanage storageattach正确的 UUID

获取 UUID 并将其放入vboxmanage命令中:

[fredmj@Lagrange ~]$ vboxmanage storageattach CENTOS7.GUESTADD --storagectl SATA --port 1 --type dvddrive --medium 3cc8e4fb-e56e-blabla..

正在阅读用户手册,我认为可以使用类似的东西--medium additions,但我不知道如何使用。

答案2

对于遇到这个问题的其他人来说,似乎--medium additions需要 DVD 驱动器已经存在(我试图创建它并一步附加附加内容)。要添加 DVD 驱动器并附加附加内容,可以这样做:

VBoxManage storageattach test --storagectl "SATA" --port 1 --type dvddrive --medium emptydrive
VBoxManage storageattach test --storagectl "SATA" --port 1 --type dvddrive --medium additions

答案3

要安装 Guest Additions iso:

VBoxManage storageattach <VM name> --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium additions

要“卸载”iso 映像:

VBoxManage storageattach <VM name> --storagectl "IDE Controller" --port 1 --device 0 --type dvddrive --medium emptydrive


以上是基于"IDE Controller"、端口1、设备0。根据需要进行调整。

--storagectl要获取、--port和的值--device

VBoxManage showvminfo <VM name> --machinereadable | grep IsEjected

"IDE Controller-IsEjected-1-0"="off"类似于"IDE Controller"端口1、设备的输出0


要检查VBoxGuestAdditions.iso系统中是否可用:

VBoxManage list dvds

相关内容