Sop*_*rez 24 virtualbox iso-image command-line
一毛钱以前在VirtualBox 命令行中有一个具有以下语法的命令:
VBoxManage controlvm <VM> dvdattach <filename>
Run Code Online (Sandbox Code Playgroud)
因此,附加(插入)CD/DVD 就像:
VBoxManage controlvm "MyVM Windows 7" dvdattach MyDVD.iso
Run Code Online (Sandbox Code Playgroud)
但是现在这个命令已经消失了。
我一直在浏览VirtualBox 手册,我发现的只是一些storageattach 命令,它指的是其他一些不够简洁的storagectl(我讨厌没有示例的文档),没有一个指的是.ISO 文件之类的东西。
我一直无法在它自己的论坛上找到解决方案,至少除了模棱两可且不简洁的解释之外,没有什么比这更重要的了:
使用 storagectl(或通过 GUI)安装控制器后,请查看 VBoxManage storageattach
与其开始随机测试选项,我更愿意先在这里询问是否有人成功做到了这一点,并且可以给我一些帮助。
and*_*415 25
如果 VM 没有 IDE 控制器,您可以使用以下storagectl
命令添加一个:
VBoxManage.exe storagectl "<uuid|vmname>" --name IDE --add ide
Run Code Online (Sandbox Code Playgroud)
以下是可用于附加 CD/DVD 映像文件的示例语法:
VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --type dvddrive --medium "X:\Folder\containing\the.iso"
Run Code Online (Sandbox Code Playgroud)
要分离图像文件,语法类似:您只需要将文件路径替换为"none"
. 所述--type
参数可以被省略:
VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --medium "none"
Run Code Online (Sandbox Code Playgroud)
Sop*_*rez 13
首先,检查是否安装了CD/DVD驱动器,是否为空(注意使用find
命令过滤结果):
1.- 是否有空的 CD/DVD驱动器?
C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "empty" /i
SATA (1, 0): Empty
Run Code Online (Sandbox Code Playgroud)
恭喜,您已找到一个可能为空的 CD/DVD驱动器。所以你可以将你的 ISO 附加到它,但是......
...为了面对最坏的情况,让我们展示另一种找到 CD/DVD 驱动器的方法(如果已安装):
2.- 找到您的 VM的名称:
C:\Oracle\VirtualBox>VBoxManage.exe list vms
"Windows 7 SP1 - SandBox 01" {e016fcf2-9b6e-4b8e-b89b-49a3c8ba0898}
Run Code Online (Sandbox Code Playgroud)
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
Run Code Online (Sandbox Code Playgroud)
4.- 显示其连接的设备:
C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "IDE"
Storage Controller Name (0): IDE
Run Code Online (Sandbox Code Playgroud)
(这个是空的,所以没有设备控制器,无论是硬盘还是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
Run Code Online (Sandbox Code Playgroud)
SATA(0,0) 有一个(the)虚拟磁盘,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"
Run Code Online (Sandbox Code Playgroud)
(屏幕上没有结果意味着OK
)。
$-删除保存 CD/DVD 驱动器控制器的 ISO:
C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "emptydrive"
Run Code Online (Sandbox Code Playgroud)
$- 对于没有安装“空”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"
Run Code Online (Sandbox Code Playgroud)
(注意我们使用了端口 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"
Run Code Online (Sandbox Code Playgroud)
(注意我们使用了(0,0)
,这是第一个端口和第一个设备)
$- 如果我们想删除(销毁)(任何)设备(例如最后一个 IDE 一个):
C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "emptydrive"
Run Code Online (Sandbox Code Playgroud)
(ISO 映像在执行此命令的同时被卸载)。
$- 最后,如果我们想创建一个新控制器而不是使用现有控制器(例如我们将命名为 SATA3 的 SATA 控制器):
C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --add sata
Run Code Online (Sandbox Code Playgroud)
$- 可能稍后将其删除:
C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --remove
Run Code Online (Sandbox Code Playgroud)
(*) 如果名称不足以(可能已更改)来确定它是哪种控制器,请尝试:
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
Run Code Online (Sandbox Code Playgroud)
如我们所见,名为IDE
(#0) 的控制器是 PIIX4 设备 (IDE),名为SATA
(#1) 的控制器是 IntelAhci (SATA)。
注意:IDE 控制器接受 4 种配置的可能图像文件:(0,0)、(0,1)、(1,0) 和 (1,1)。选择一个未被占用的。SATA 控制器接受 30。这些参数可以在 VM 属性上配置。请记住,在这两种情况下,计数都从 开始0
,而不是1
。
注2:根据操作系统和设备的不同,可以在 VM 执行(运行)期间创建某些设备。例如,可以在运行时为 Windows 7 VM 创建 SATA 设备。无论如何,始终可以在运行时将ISO CD/DVD 映像文件插入任何空介质中。您可以通过执行以下操作来检查正在运行的 vms:
C:\Oracle\VirtualBox>vboxmanage list runningvms
Run Code Online (Sandbox Code Playgroud)
感谢@and31415 和@DanielB 的评论和信息。
归档时间: |
|
查看次数: |
42995 次 |
最近记录: |