VirtualBox: Как я могу добавить (смонтировать) файл образа ISO из командной строки?

21

Была раньше в VirtualBox из командной строки команды с этим синтаксисом:

VBoxManage controlvm <VM> dvdattach <filename>

Так что прикрепить (вставить) CD / DVD было так же просто, как:

VBoxManage controlvm "MyVM Windows 7" dvdattach MyDVD.iso

Но теперь эта команда исчезла .
Я просматривал руководство VirtualBox, и все, что я нашел, это какая- то команда storageattach , которая ссылается на некоторые другие Storagectl, которые не достаточно кратки (я ненавижу документы без примеров), ни один из них не ссылается на что-то вроде файлов .ISO .
Мне так и не удалось найти решение на своем собственном форуме , по крайней мере, ничто не идет дальше, чем двусмысленные и не лаконичные объяснения :

Как только вы установили контроллер с помощью storagectl (или через графический интерфейс), взгляните на VBoxManage storageattach

Вместо того, чтобы начать случайное тестирование опций, я предпочитаю сначала спросить здесь , удалось ли кому-то это сделать, и мог бы мне помочь.

Сопалахо де Арриерес
источник

Ответы:

24

Управление контроллером 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"

дальнейшее чтение

and31415
источник
3
Кроме того, вся соответствующая информация о виртуальной машине может быть обнаружена с помощью VBoxManage showvminfo. Это включает в себя контроллеры хранения и их имена.
Даниэль Б
1
@DanielB, VBoxManage showvminfoсписки IDE (1, 0): C:\Oracle\VirtualBox\VBoxGuestAdditions.isoи SATA (0, 0): d:\VirtualBox VMs\Windows 7 SP1 - SandBox 01\Win7SP1.vmdk. Я немного запутался и в том, 0и в другом 1. Они соотносятся с --portи --device?
Сопалахо де Арриерес
Что касается файлов образов ISO, я должен добавить ideили sataустройство?
Сопалахо де Арриерес
@SopalajodeArrierez Да, эти номера являются идентификаторами портов / устройств. Для максимальной совместимости вы должны выбрать контроллер IDE для виртуальных приводов CD / DVD: «Таким образом, даже если ваша гостевая операционная система не поддерживает устройства SCSI или SATA, она всегда должна видеть [это]». Помимо этого, VirtualBox предоставляет вам «четыре слота, подключенных к традиционному контроллеру IDE, которые присутствуют всегда» и «30 слотов, подключенных к контроллеру SATA, если они включены и поддерживаются гостевой операционной системой». Источник
and31415
Контроллеры IDE имеют два порта (первый элемент в кортеже), каждый из которых способен соединять два устройства (второй элемент). То же, что и на реальном ПК. GUI по умолчанию подключает оптический носитель к (1, 0).
Даниэль Б
10

Прежде всего, проверьте, установлен ли у вас привод 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) имеет (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"

(нет результатов на экране означает 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 отключается при выполнении этой команды).

$ - Наконец, если мы хотим создать новый контроллер вместо использования существующего (ых) одного (ых) (например, для контроллера 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 принимают возможные файлы изображений в 4 конфигурациях: (0,0), (0,1), (1,0) и (1,1). Выберите тот, который не занят. Контроллеры SATA принимают 30. Эти параметры можно настроить в свойствах виртуальной машины. Помните, что в обоих случаях отсчет начинается с 0, а не с 1.

ПРИМЕЧАНИЕ 2. Некоторые устройства могут быть созданы во время выполнения (работы) виртуальной машины в зависимости от операционной системы и устройства. Например, устройства SATA могут быть созданы во время выполнения для виртуальных машин Windows 7. В любом случае, файл образа ISO CD / DVD всегда можно вставить во время выполнения на любом пустом носителе. Вы можете проверить запуск vms, выполнив:

C:\Oracle\VirtualBox>vboxmanage list runningvms

Спасибо @ and31415 и @DanielB за их комментарии и информацию.

Сопалахо де Арриерес
источник