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


21

Раніше в командному рядку VirtualBox була команда з цим синтаксисом:

VBoxManage controlvm <VM> dvdattach <filename>

Отже, приєднати (вставити) CD / DVD було так просто, як:

VBoxManage controlvm "MyVM Windows 7" dvdattach MyDVD.iso

Але тепер ця команда зникла .
Я переглядав посібник з VirtualBox, і все, що я знайшов, - це якась команда storageattach , яка стосується деяких інших storagectl, які недостатньо стислі (я ненавиджу документи без прикладів), жоден з них не посилається на щось на зразок файлів .ISO .
Я не зміг знайти рішення на власному форумі , принаймні нічого не піде далі, ніж неоднозначні та не стислі пояснення :

Як тільки у вас встановлений контролер із storagectl (або через GUI), подивіться на VBoxManage storageattach

Замість того, щоб починати випадкові тестування варіантів, я вважаю за краще спершу запитати, чи хтось це встиг зробити, і міг би дати мені допомогу.

Відповіді:


24

Управління контролером IDE

Якщо у VM немає контролера 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"

Подальше читання


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?
Sopalajo de Arrierez

Що стосується файлів зображень ISO, чи слід додати пристрій ideчи sataпристрій?
Sopalajo de Arrierez

@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. Ці параметри можна налаштувати на властивості VM. Пам'ятайте, що в обох випадках підрахунок починається з 0, а не 1.

ПРИМІТКА2: Деякі пристрої можуть бути створені під час виконання (запуску) VM , залежно від операційної системи та пристрою. Наприклад, пристрої SATA можна створити під час виконання для візків Windows 7. У будь-якому випадку файл ISO CD / DVD завжди можна вставляти під час виконання в будь-який порожній носій. Ви можете перевірити запущений vms, виконавши:

C:\Oracle\VirtualBox>vboxmanage list runningvms

Дякуємо @ and31415 та @DanielB за їх коментарі та інформацію.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.