VirtualBox: Wie kann ich eine ISO-Image-Datei über die Befehlszeile hinzufügen (mounten)?

21

Früher gab es in der VirtualBox- Befehlszeile einen Befehl mit dieser Syntax:

VBoxManage controlvm <VM> dvdattach <filename>

So war das Anhängen (Einlegen) einer CD / DVD so einfach wie:

VBoxManage controlvm "MyVM Windows 7" dvdattach MyDVD.iso

Aber jetzt ist dieser Befehl verschwunden .
Ich habe die gegrast VirtualBox Handbuch und alles , was ich gefunden habe , ist einiger storageattach Befehl , die auf einen anderen bezieht sich storagectl , die nicht präzise genug ist (ich hasse docs ohne Beispiele), keiner von ihnen so etwas wie beziehen ISO - Dateien .
Ich konnte in einem eigenen Forum keine Lösung finden , zumindest nichts geht weiter als mehrdeutige und nicht präzise Erklärungen :

Wenn Sie den Controller mit storagectl (oder über die GUI) installiert haben, schauen Sie sich VBoxManage storageatach an

Anstatt nach dem Zufallsprinzip Optionen zu testen, frage ich hier lieber zuerst, ob es jemandem gelungen ist , dies zu tun, und könnte mir dabei helfen.

Sopalajo de Arrierez
quelle

Antworten:

24

Verwalten Sie den IDE-Controller

Falls die VM keinen IDE-Controller hat, können Sie mit dem storagectlBefehl einen hinzufügen:

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

Hängen Sie eine Image-Datei an

Hier ist eine Beispielsyntax, mit der Sie eine CD / DVD-Image-Datei anhängen können:

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

Trennen Sie eine Disk-Image-Datei

Zum Trennen einer Bilddatei ist die Syntax ähnlich: Sie müssen nur den Dateipfad durch ersetzen "none". Der --typeParameter kann weggelassen werden:

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

Weitere Lektüre

und31415
quelle
3
Außerdem können mit alle relevanten Informationen zu einer virtuellen Maschine ermittelt werden VBoxManage showvminfo. Dies umfasst Speichercontroller und deren Namen.
Daniel B
1
@ DanielB, VBoxManage showvminfoListen IDE (1, 0): C:\Oracle\VirtualBox\VBoxGuestAdditions.isound SATA (0, 0): d:\VirtualBox VMs\Windows 7 SP1 - SandBox 01\Win7SP1.vmdk. Ich bin ein bisschen verwirrt über beide 0und 1. Korrelieren sie mit --portund --device?
Sopalajo de Arrierez
Soll ich bei ISO-Image-Dateien ein ideoder ein sataGerät hinzufügen ?
Sopalajo de Arrierez
@SopalajodeArrierez Ja, diese Nummern sind Port- / Geräte-IDs. Für maximale Kompatibilität sollten Sie einen IDE-Controller für virtuelle CD / DVD-Laufwerke auswählen: "Auch wenn Ihr Gastbetriebssystem SCSI- oder SATA-Geräte nicht unterstützt, sollte es immer in der Lage sein, [es] anzuzeigen." Ansonsten bietet Ihnen VirtualBox "vier Steckplätze, die an den herkömmlichen IDE-Controller angeschlossen sind, die immer vorhanden sind" und "30 Steckplätze, die an den SATA-Controller angeschlossen sind, sofern dies vom Gastbetriebssystem aktiviert und unterstützt wird". Source
and31415
IDE-Controller verfügen über zwei Ports (das erste Element im Tupel), an die jeweils zwei Geräte (das zweite Element) angeschlossen werden können. Wie auf einem echten PC. Die GUI hängt standardmäßig optische Medien an (1, 0) an.
Daniel B
10

Überprüfen Sie zunächst, ob Sie ein CD / DVD-Laufwerk installiert haben, ob dieses leer ist oder nicht (beachten Sie die Verwendung des findBefehls zum Filtern der Ergebnisse):

1.- Gibt es ein leeres CD / DVD- Laufwerk?

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

Herzlichen Glückwunsch, Sie haben ein möglicherweise leeres CD / DVD- Laufwerk gefunden. So können Sie Ihre ISO daran anhängen, aber ...

... um dem schlimmsten Szenario zu begegnen, zeigen wir Ihnen einen anderen Weg, um Ihr CD / DVD-Laufwerk zu finden, falls installiert:

2.- Suchen Sie den Namen Ihrer VM :

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

3.- Listen Sie die Speichercontroller auf (beachten Sie den findBefehl zum Filtern zu vieler Ausgabedaten) (*):

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.- Zeigen Sie die angeschlossenen Geräte an :

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

(Dieser ist leer, es gibt also keine Gerätesteuerungen, egal ob Festplatten oder CD / DVD-Laufwerke)

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) hat eine (die) virtuelle Festplatte , und SATA (1,0) ist leer (die erste Zahl in Klammern ist bekannt als type, die zweite ist device). Es sollte sich also um das CD / DVD-Laufwerk handeln .

5.- Fügen Sie eine ISO- Image-Datei (z. B. Office 2013) hinzu:

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

(Keine Ergebnisse auf dem Bildschirm bedeutet OK).

$ - So entfernen Sie die ISO, wobei der CD / DVD-Laufwerk-Controller erhalten bleibt:

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

$ - Für den Fall, dass kein "leerer" CD / DVD-Laufwerk-Controller installiert ist, sollte VirtualBox einem vorhandenen Controller einen neuen hinzufügen , vorausgesetzt, wir wählen einen nicht belegten Port / ein nicht belegtes Gerät, zum Beispiel für den SATA-Controller:

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

(Beachten Sie, dass wir Port 5 verwendet haben.)
Und für den IDE-Controller:

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

(Beachten Sie, dass wir verwendet haben (0,0), dies ist der erste Port und das erste Gerät.)

$ - Wenn wir eines der Geräte entfernen (zerstören) möchten (Beispiel für das letzte IDE-Gerät):

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

(Das ISO-Image wird gleichzeitig mit der Ausführung dieses Befehls umountet.)

$ - Wenn wir einen neuen Controller erstellen möchten , anstatt die vorhandenen Controller zu verwenden (Beispiel für einen SATA-Controller mit dem Namen SATA3):

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

$ - Und vielleicht später entfernen :

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

(*) Wenn der Name nicht ausreicht (hätte geändert werden können), um herauszufinden, um welche Art von Controller es sich handelt, versuchen Sie Folgendes:

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

Wie wir sehen können, ist der Controller mit dem Namen IDE(# 0) ein PIIX4-Gerät (IDE) und der mit dem Namen SATA(# 1) ein IntelAhci (SATA).

HINWEIS: IDE-Controller akzeptieren mögliche Image-Dateien in 4 Konfigurationen: (0,0), (0,1), (1,0) und (1,1). Wählen Sie diejenige, die nicht belegt ist. SATA-Controller akzeptieren 30. Diese Parameter können in den VM-Eigenschaften konfiguriert werden. Denken Sie daran, dass in beiden Fällen die Zählung bei beginnt 0, nicht bei 1.

HINWEIS 2: Je nach Betriebssystem und Gerät können einige Geräte während der Ausführung der VM erstellt werden. Beispielsweise können SATA-Geräte zur Laufzeit für Windows 7-VMs erstellt werden. Auf jeden Fall kann eine ISO-CD / DVD-Image-Datei immer zur Laufzeit in ein leeres Medium eingefügt werden . Sie können die Ausführung von vms folgendermaßen überprüfen:

C:\Oracle\VirtualBox>vboxmanage list runningvms

Vielen Dank an @ and31415 und @DanielB für ihre Kommentare und Informationen.

Sopalajo de Arrierez
quelle