VirtualBox: ฉันจะเพิ่ม (mount) ไฟล์อิมเมจ ISO จากบรรทัดคำสั่งได้อย่างไร


21

ก่อนหน้านี้ในVirtualBox สั่งบรรทัดคำสั่งด้วยไวยากรณ์นี้:

VBoxManage controlvm <VM> dvdattach <filename>

ดังนั้นการแนบ (ใส่) ซีดี / ดีวีดีจึงง่ายเหมือน:

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

แนบไฟล์อิมเมจของดิสก์

นี่คือตัวอย่างไวยากรณ์ที่คุณสามารถใช้เพื่อแนบไฟล์ภาพซีดี / ดีวีดี:

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นอกจากนี้ข้อมูลที่เกี่ยวข้องทั้งหมดบนเครื่องเสมือนสามารถค้นพบกับ ซึ่งรวมถึงตัวควบคุมพื้นที่เก็บข้อมูลและชื่อ
Daniel B

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 สำหรับไดรฟ์ซีดี / ดีวีดีเสมือน: "ดังนั้นแม้ว่าระบบปฏิบัติการแขกของคุณจะไม่รองรับอุปกรณ์ SCSI หรือ SATA ก็ควรจะสามารถมองเห็นได้" นอกเหนือจากนั้น VirtualBox ยังให้คุณ "สี่สล็อตที่เชื่อมต่อกับคอนโทรลเลอร์ IDE ดั้งเดิมซึ่งมีอยู่เสมอ" และ "30 สล็อตที่เชื่อมต่อกับคอนโทรลเลอร์ SATA หากเปิดใช้งานและสนับสนุนโดยระบบปฏิบัติการเกสต์" ที่มา
and31415

ตัวควบคุม IDE มีสองพอร์ต (รายการแรกใน tuple) ซึ่งแต่ละตัวสามารถเชื่อมต่ออุปกรณ์ทั้งสองได้ (องค์ประกอบที่สอง) เหมือนกับในพีซีจริง GUI แนบสื่อออปติคัลกับ (1, 0) โดยค่าเริ่มต้น
Daniel B

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.- ค้นหาชื่อของ VM ของคุณ :

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) ดังนั้นมันควรจะเป็นแผ่นซีดี / ดีวีดีไดรฟ์

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 ได้รับการต่อเชื่อมในเวลาเดียวกันในการดำเนินการคำสั่งนี้)

$ - ในที่สุดถ้าเราต้องการสร้างคอนโทรลเลอร์ใหม่แทนที่จะใช้หนึ่ง (s) ที่มีอยู่ (ตัวอย่าง) สำหรับคอนโทรลเลอร์ 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 โปรดจำไว้ว่าในทั้งสองกรณีนับเริ่มต้นที่ไม่01

NOTE2: อุปกรณ์บางอย่างสามารถสร้างขึ้นได้ในระหว่างการเอ็กเอ็มแอล (ทำงาน) ขึ้นอยู่กับระบบปฏิบัติการและอุปกรณ์ ตัวอย่างเช่นสามารถสร้างอุปกรณ์ SATA บนรันไทม์สำหรับ Windows 7 VM อย่างไรก็ตามไฟล์อิมเมจ ISO CD / DVD สามารถแทรกบนรันไทม์ในสื่อว่างใด ๆ คุณสามารถตรวจสอบการใช้ vms โดยทำ:

C:\Oracle\VirtualBox>vboxmanage list runningvms

ขอบคุณ @ and31415 และ @DanielB สำหรับความคิดเห็นและข้อมูลของพวกเขา

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.