वर्चुअलबॉक्स: मैं कमांड लाइन से आईएसओ इमेज फाइल कैसे जोड़ (माउंट) सकता हूं?


21

वहाँ से पहले में था VirtualBox के आदेश-पंक्ति इस वाक्य रचना के साथ एक कमांड:

VBoxManage controlvm <VM> dvdattach <filename>

तो एक सीडी / डीवीडी को संलग्न करना (सम्मिलित करना) उतना ही आसान था:

VBoxManage controlvm "MyVM Windows 7" dvdattach MyDVD.iso

लेकिन अब यह कमान गायब हो गई है
मैं ब्राउज़ कर दिया है VirtualBox के मैनुअल और सभी मैं पाया है कुछ है storageattach आदेश , कि कुछ अन्य को संदर्भित करता है storagectl जो काफी संक्षिप्त नहीं है (मैं उदाहरण के बिना डॉक्स नफरत) उनमें से कोई भी तरह कुछ की चर्चा करते हुए .ISO फ़ाइलें
मैं अपने स्वयं के मंच पर एक समाधान खोजने में सक्षम नहीं हूं , कम से कम अस्पष्ट से कुछ भी नहीं जा रहा हूं और स्पष्टीकरण स्पष्ट नहीं कर रहा हूं :

एक बार जब आपके पास स्टोरेजल (या जीयूआई के माध्यम से) में नियंत्रक होता है, तो VBoxManage storeateatach पर एक नज़र डालें

बेतरतीब ढंग से परीक्षण के विकल्प शुरू करने के बजाय, मैं पहले यहां पूछना पसंद करता हूं कि क्या कोई इसे बनाने में सफल रहा है, और मुझे कुछ मदद दे सकता है।

जवाबों:


24

IDE नियंत्रक प्रबंधित करें

यदि वीएम के पास आईडीई नियंत्रक नहीं है, तो आप storagectlएक को जोड़ने के लिए कमांड का उपयोग कर सकते हैं :

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

एक डिस्क छवि फ़ाइल संलग्न करें

यहां एक नमूना वाक्यविन्यास है जिसका उपयोग आप सीडी / डीवीडी छवि फ़ाइल संलग्न करने के लिए कर सकते हैं:

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?
शाल्पाजो डी एरियेरेज़

आईएसओ छवि फ़ाइलों के विषय में, क्या मुझे एक ideया एक sataउपकरण जोड़ना चाहिए ?
शोपाजो डे एरियेरेज़

@SopalajodeArrierez हाँ, वे संख्याएँ पोर्ट / उपकरण पहचानकर्ता हैं। अधिकतम संगतता के लिए आपको वर्चुअल सीडी / डीवीडी ड्राइव के लिए एक आईडीई नियंत्रक चुनना चाहिए: "तो भी अगर आपके अतिथि ऑपरेटिंग सिस्टम को SCSI या SATA उपकरणों के लिए कोई समर्थन नहीं है, तो यह हमेशा [इसे] देखने में सक्षम होना चाहिए।" इसके अलावा, वर्चुअलबॉक्स आपको "पारंपरिक आईडीई नियंत्रक से जुड़े चार स्लॉट देता है, जो हमेशा मौजूद होते हैं" और "30 स्लॉट SATA नियंत्रक से जुड़े होते हैं, यदि अतिथि ऑपरेटिंग सिस्टम द्वारा सक्षम और समर्थित हैं।" स्रोत
and31415

आईडीई नियंत्रकों में दो पोर्ट होते हैं (ट्यूपल में पहला आइटम), प्रत्येक दो उपकरणों (दूसरे तत्व) को जोड़ने में सक्षम होता है। एक असली पीसी पर भी। GUI ऑप्टिकल मीडिया को डिफ़ॉल्ट रूप से (1, 0) से जोड़ता है।
डैनियल बी

10

सबसे पहले, जांचें कि क्या आपके पास कोई सीडी / डीवीडी ड्राइव स्थापित है, खाली है या नहीं ( findपरिणाम फ़िल्टर करने के लिए कमांड के उपयोग पर ध्यान दें ):

1.- क्या कोई खाली सीडी / डीवीडी ड्राइव है?

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

बधाई हो, आपको एक संभव खाली सीडी / डीवीडी ड्राइव मिली है । तो आप अपने आईएसओ को इसमें संलग्न कर सकते हैं, लेकिन ...

... सबसे खराब परिदृश्य का सामना करने के लिए, अपनी सीडी / डीवीडी ड्राइव को खोजने के लिए एक और तरीका दिखाता है, अगर स्थापित किया गया है:

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

(यह एक खाली है, इसलिए कोई डिवाइस कंट्रोलर नहीं हैं, चाहे हार्ड डिस्क हो या सीडी / डीवीडी ड्राइव)

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) में एक (a) वर्चुअल डिस्क है , और SATA (1,0) खाली है (कोष्ठक के बीच की पहली संख्या को typeदूसरे के रूप में जाना जाता है device), इसलिए यह CD / DVD ड्राइव होनी चाहिए ।

5.- आइए इसे एक आईएसओ इमेज फाइल (उदाहरण के लिए कार्यालय 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 हटाने के लिए :

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

$ - मामले के लिए कोई "खाली" सीडी / डीवीडी ड्राइव नियंत्रक स्थापित नहीं है, वर्चुअलबॉक्स को मौजूदा नियंत्रक में एक नया जोड़ना चाहिए, यह मानकर कि हम एक गैर-अधिकृत पोर्ट / डिवाइस चुनते हैं, उदाहरण के लिए एसएटीए नियंत्रक:

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

(नोट हमने पोर्ट 5 का उपयोग किया है)
और आईडीई नियंत्रक के लिए:

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), यह पहला पोर्ट और पहला डिवाइस है)

$ - यदि हम उपकरणों को हटाना चाहते हैं (नष्ट) (कोई भी) (अंतिम आईडीई के लिए उदाहरण):

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

(आईएसओ इमेज इस कमांड को निष्पादित करने के एक ही समय में umounted हो जाती है)।

$ - अंत में, यदि हम मौजूदा (एस) वन (एस) के उपयोग के बजाय एक नया नियंत्रक बनाना चाहते हैं (एक 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) है।

नोट: आईडीई नियंत्रक 4 विन्यास पर संभव छवि फ़ाइलों को स्वीकार करते हैं: (0,0), (0,1), (1,0) और (1,1)। जो कब्जा नहीं है उसे चुनें। SATA नियंत्रक 30 स्वीकार करते हैं। इन मापदंडों को VM गुणों पर कॉन्फ़िगर किया जा सकता है। याद रखें कि, दोनों ही मामलों में, गिनती शुरू होती है 0, नहीं 1

NOTE2: ऑपरेटिंग सिस्टम और डिवाइस के आधार पर VM निष्पादन (रनिंग) के दौरान कुछ डिवाइस बनाए जा सकते हैं । उदाहरण के लिए, विंडोज 7 वीएम के लिए रनटाइम पर एसएटीए डिवाइस बनाए जा सकते हैं। वैसे भी, आईएसओ सीडी / डीवीडी इमेज फाइल हमेशा किसी भी खाली माध्यम में रनटाइम पर डाली जा सकती है । आप कर सकते हैं जाँच चल रहा है:

C:\Oracle\VirtualBox>vboxmanage list runningvms

उनकी टिप्पणियों और जानकारी के लिए @31415 और @ डैनियलबी को धन्यवाद।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.