VirtualBox: come posso aggiungere (montare) un file immagine ISO dalla riga di comando?


21

Prima nella riga di comando di VirtualBox c'era un comando con questa sintassi:

VBoxManage controlvm <VM> dvdattach <filename>

Quindi allegare (inserire) un CD / DVD è stato facile come:

VBoxManage controlvm "MyVM Windows 7" dvdattach MyDVD.iso

Ma ora questo comando è scomparso .
Ho consultato il Manuale di VirtualBox e tutto quello che ho trovato è un comando storageattach , che fa riferimento ad altri storagectl che non sono abbastanza concisi (odio i documenti senza esempi), nessuno dei quali si riferisce a qualcosa come i file .ISO .
Non sono stato in grado di trovare una soluzione sul proprio forum , almeno niente di più lontano di spiegazioni ambigue e non concise :

Una volta installato il controller con storagectl (o tramite la GUI), dai un'occhiata a VBoxManage storageattach

Invece di iniziare a testare casualmente le opzioni, preferisco chiedere prima qui se qualcuno è riuscito a farlo, e potrebbe darmi un po 'di aiuto.

Risposte:


24

Gestire il controller IDE

Nel caso in cui la VM non abbia un controller IDE, è possibile utilizzare il storagectlcomando per aggiungerne uno:

VBoxManage.exe storagectl "<uuid|vmname>" --name IDE --add ide

Allegare un file di immagine del disco

Ecco una sintassi di esempio che puoi utilizzare per allegare un file di immagine CD / DVD:

VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --type dvddrive --medium "X:\Folder\containing\the.iso"

Scollegare un file di immagine del disco

Per staccare un file di immagine, la sintassi è simile: basta sostituire il percorso del file con "none". Il --typeparametro può essere omesso:

VBoxManage.exe storageattach "<uuid|vmname>" --storagectl IDE --port 0 --device 0 --medium "none"

Ulteriori letture


3
Inoltre, è possibile scoprire tutte le informazioni rilevanti su una macchina virtuale VBoxManage showvminfo. Ciò include i controller di archiviazione e i loro nomi.
Daniel B,

1
@DanielB, VBoxManage showvminfoliste IDE (1, 0): C:\Oracle\VirtualBox\VBoxGuestAdditions.isoe SATA (0, 0): d:\VirtualBox VMs\Windows 7 SP1 - SandBox 01\Win7SP1.vmdk. Sono un po 'confuso su entrambi 0e 1. Correlano con --porte --device?
Sopalajo de Arrierez,

Per quanto riguarda i file di immagine ISO, devo aggiungere un ideo un satadispositivo?
Sopalajo de Arrierez,

@SopalajodeArrierez Sì, quei numeri sono identificatori di porta / dispositivo. Per la massima compatibilità, dovresti scegliere un controller IDE per unità CD / DVD virtuali: "Quindi, anche se il tuo sistema operativo guest non ha supporto per i dispositivi SCSI o SATA, dovrebbe sempre essere in grado di vederlo." Oltre a ciò, VirtualBox offre "quattro slot collegati al controller IDE tradizionale, che sono sempre presenti" e "30 slot collegati al controller SATA, se abilitati e supportati dal sistema operativo guest". Fonte
and31415

I controller IDE hanno due porte (il primo elemento nella tupla), ciascuna in grado di collegare due dispositivi (il secondo elemento). Come su un vero PC. La GUI collega i supporti ottici a (1, 0) per impostazione predefinita.
Daniel B,

10

Prima di tutto, controlla se hai qualche unità CD / DVD installata, vuota o no (nota l'uso del findcomando per filtrare i risultati):

1.- C'è qualche unità CD / DVD vuota ?

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "empty" /i
SATA (1, 0): Empty

Congratulazioni, hai trovato una possibile unità CD / DVD vuota . Quindi puoi collegare il tuo ISO ad esso, ma ...

... per affrontare lo scenario peggiore, mostriamo un altro modo per trovare l'unità CD / DVD, se installata:

2.- Individua il nome della tua VM :

C:\Oracle\VirtualBox>VBoxManage.exe list vms
"Windows 7 SP1 - SandBox 01" {e016fcf2-9b6e-4b8e-b89b-49a3c8ba0898}

3.- Elenca i suoi controller di archiviazione (nota il findcomando per filtrare troppi dati di output) (*):

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.- Mostra i suoi dispositivi collegati :

C:\Oracle\VirtualBox>vboxmanage showvminfo "Windows 7 SP1 - SandBox 01" | find "IDE"
Storage Controller Name (0):            IDE

(questo è vuoto, quindi non ci sono controller di dispositivo, che siano dischi rigidi o unità 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) ha un (il) disco virtuale e SATA (1,0) è vuoto (il primo numero tra parentesi è noto type, il secondo è device), quindi dovrebbe essere l'unità CD / DVD .

5.- Consente di allegare un file di immagine ISO (ad esempio 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"

(nessun risultato sullo schermo significa OK).

$ - Per rimuovere l'ISO mantenendo il controller dell'unità CD / DVD:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 1 --device 0 --type dvddrive --medium "emptydrive"

$ - Nel caso in cui non sia installato un controller di unità CD / DVD "vuoto", VirtualBox dovrebbe aggiungerne uno nuovo a un controller esistente, presupponendo che scegliamo una porta / dispositivo non occupato, ad esempio per il controller SATA:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "SATA" --port 5 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(nota che abbiamo usato la porta 5)
E per il controller IDE:

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "Office2013-VL-SP1.iso"

(nota che abbiamo usato (0,0), questa è la prima porta e il primo dispositivo)

$ - Se vogliamo rimuovere (distruggere) (uno qualsiasi dei) dispositivi (esempio per l'ultimo IDE):

C:\Oracle\VirtualBox>vboxmanage storageattach "Windows 7 SP1 - SandBox 01" --storagectl "IDE" --port 0 --device 0 --type dvddrive --medium "emptydrive"

(l'immagine ISO viene smontata contemporaneamente all'esecuzione di questo comando).

$ - Infine, se vogliamo creare un nuovo controller invece di usare quello (i) esistente (i) (esempio per un controller SATA che chiameremo SATA3):

C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --add sata

$ - E forse rimuoverlo più tardi:

C:\Oracle\VirtualBox>vboxmanage storagectl "Windows 7 SP1 - SandBox 01" --name SATA3 --remove

(*) Se il nome non è sufficiente (avrebbe potuto essere modificato) per capire che tipo di controller è, prova:

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

Come possiamo vedere, il controller chiamato IDE(# 0) è un dispositivo PIIX4 (IDE) e quello chiamato SATA(# 1) è un IntelAhci (SATA).

NOTA: i controller IDE accettano possibili file di immagine in 4 configurazioni: (0,0), (0,1), (1,0) e (1,1). Scegli quello che non è occupato. I controller SATA accettano 30. Questi parametri possono essere configurati sulle proprietà della VM. Ricorda che, in entrambi i casi, il conteggio inizia alle 0no 1.

NOTA 2: Alcuni dispositivi possono essere creati durante l'esecuzione della VM (in esecuzione), a seconda del sistema operativo e del dispositivo. Ad esempio, i dispositivi SATA possono essere creati in fase di esecuzione per le macchine virtuali Windows 7. In ogni caso, un file di immagine CD / DVD ISO può sempre essere inserito in fase di esecuzione in qualsiasi supporto vuoto. Puoi controllare l'esecuzione di vms facendo:

C:\Oracle\VirtualBox>vboxmanage list runningvms

Grazie a @ and31415 e @DanielB per i loro commenti e informazioni.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.