曾经有一个虚拟盒使用以下语法的命令:
VBoxManage controlvm <VM> dvdattach <filename>
因此,连接(插入) CD/DVD 非常简单:
VBoxManage controlvm "MyVM Windows 7" dvdattach MyDVD.iso
但现在该命令已经消失。
我搜索了VirtualBox 使用手册并发现 storageattach 命令其中提到了存储控制不幸的是,这些手册章节缺乏示例,而且没有一个提到.ISO 文件。我还查看了 VirtualBox论坛,但找不到适合我的解决方案。我找到的最接近的解决方案说了这个:
使用 storagectl(或通过 GUI)将控制器安装到位后,请查看 VBoxManage storageattach
我不知道该怎么办。如何在没有语法的情况下将 ISO 安装到较新版本的 VirtualBox VM controlvm ... dvdattach
?
答案1
管理 IDE 控制器
如果虚拟机没有 IDE 控制器,您可以使用以下storagectl
命令添加一个:
VBoxManage.exe storagectl "<uuid|vmname>" --name IDE --add ide
附加磁盘映像文件
以下是可用于附加 CD/DVD 映像文件的示例语法:
VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --type dvddrive --medium "X:\Folder\containing\the.iso"
分离磁盘映像文件
要分离图像文件,语法类似:只需将文件路径替换为"none"
。--type
可以省略参数:
VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --medium "none"
进一步阅读
答案2
首先,检查您是否安装了任何 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.- 找到你的虚拟机名称:
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
)。
$- 至删除 ISO保留 CD/DVD 驱动器控制器:
C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "emptydrive"
$- 对于没有安装“空”CD / DVD驱动器控制器的情况,VirtualBox应该添加新的对于现有的控制器,假设我们选择一个未占用的端口/设备,例如 SATA 控制器:
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映像也被卸载)。
$- 最后,如果我们想创建新控制器而不是使用现有的(例如,我们将命名为 SATA3 的 SATA 控制器):
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 的评论和信息。