首先,检查是否已安装任何CD / DVD驱动器,是否为空(请注意使用find
命令过滤结果):
1.-是否有空CD / DVD驱动器?
C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "empty" /i
SATA (1, 0): Empty
恭喜,您找到了可能空的CD / DVD驱动器。因此,您可以将ISO附加到它,但是...
...为了面对最坏的情况,让我们展示另一种查找CD / DVD驱动器的方法(如果已安装):
2.-找到您的VM的名称:
C:\Oracle\VirtualBox>VBoxManage.exe list vms
"Windows 7 SP1 - SandBox 01" {e016fcf2-9b6e-4b8e-b89b-49a3c8ba0898}
3.-列出其存储控制器(请注意find
用于过滤过多输出数据的命令)(*):
C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "storage controller name" /i
Storage Controller Name (0): IDE
Storage Controller Name (1): SATA
4.-显示其连接的设备:
C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "IDE"
Storage Controller Name (0): IDE
(此为空,因此没有设备控制器,无论是硬盘还是CD / DVD驱动器)
C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "SATA"
Storage Controller Name (1): SATA
SATA (0, 0): d:\VirtualBox VMs\Windows 7 SP1 - SandBox 01\SnapShots/{71b8bf72-dca1-4816-89ff-feba271ec262}.vmdk (UUID: 71b8bf72-dca1-4816-89ff-feba271ec262)
SATA (1, 0): Empty
SATA(0,0)有一个虚拟磁盘,而SATA(1,0)为空(括号中的第一个数字为type
,第二个为device
),因此它应该是CD / DVD驱动器。
5.-让我们附加一个ISO映像文件(例如Office 2013):
C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"
(屏幕上没有结果表示OK
)。
$-要删除保留CD / DVD驱动器控制器的ISO:
C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "emptydrive"
$-对于没有安装“空” CD / DVD驱动器控制器的情况,假设我们选择了一个未占用的端口/设备(例如SATA控制器),VirtualBox应该向现有的控制器添加一个新的控制器:
C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 5 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"
(请注意,我们使用端口5)
对于IDE控制器:
C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"
(请注意,我们使用的(0,0)
是第一个端口和第一个设备)
$-如果要删除(销毁)任何设备(最后一个IDE的示例):
C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "emptydrive"
(在执行此命令的同时,会挂载ISO映像)。
$-最后,如果我们要创建一个新的控制器而不是使用现有的控制器(以SATA控制器为例,我们将其命名为SATA3):
C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --add sata
$-也许以后再删除:
C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --remove
(*)如果名称不足(可能已更改),无法确定它是哪种控制器,请尝试:
C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "storage controller" /i
Storage Controller Name (0): IDE
Storage Controller Type (0): PIIX4
Storage Controller Instance Number (0): 0
Storage Controller Max Port Count (0): 2
Storage Controller Port Count (0): 2
Storage Controller Bootable (0): on
Storage Controller Name (1): SATA
Storage Controller Type (1): IntelAhci
Storage Controller Instance Number (1): 0
Storage Controller Max Port Count (1): 30
Storage Controller Port Count (1): 2
如我们所见,名为IDE
(#0)的控制器是PIIX4设备(IDE),而名为SATA
(#1)的控制器是IntelAhci(SATA)。
注意:IDE控制器可以接受以下四种配置的图像文件:(0,0),(0,1),(1,0)和(1,1)。选择一个未被占用的。SATA控制器接受30。可以在VM属性上配置这些参数。请记住,在两种情况下,计数都从而0
不是开始1
。
注意2:某些设备可以在VM执行(运行)期间创建,具体取决于操作系统和设备。例如,可以在运行时为Windows 7 VM创建SATA设备。无论如何,ISO CD / DVD映像文件始终可以在运行时插入任何空介质中。您可以通过以下方法检查正在运行的虚拟机:
C:\Oracle\VirtualBox>vboxmanage list runningvms
感谢@ and31415和@DanielB的评论和信息。
VBoxManage showvminfo
。这包括存储控制器及其名称。